﻿Shader "NatureManufacture/HDRP/Lit/Triplanar Cover CutOut"
{
    Properties
    {
        _AlphaCutoff("Alpha Cutoff", Range(0, 1)) = 0.5
        _BaseColor("Base Color", Color) = (1, 1, 1, 0)
        [NoScaleOffset]_BaseColorMap("Base Map(RGB) Alpha(A)", 2D) = "white" {}
        [ToggleUI]_BaseUsePlanarUV("Base Use Planar UV", Float) = 0
        _BaseTilingOffset("Base Tiling and Offset", Vector) = (1, 1, 0, 0)
        [Normal][NoScaleOffset]_BaseNormalMap("Base Normal Map", 2D) = "bump" {}
        _BaseNormalScale("Base Normal Scale", Range(0, 8)) = 1
        [NoScaleOffset]_BaseMaskMap("Base Mask Map MT(R) AO(G) SM(A)", 2D) = "white" {}
        _BaseMetallic("Base Metallic", Range(0, 1)) = 1
        _BaseAORemapMin("Base AO Remap Min", Range(0, 1)) = 0
        _BaseAORemapMax("Base AO Remap Max", Range(0, 1)) = 1
        _BaseSmoothnessRemapMin("Base Smoothness Remap Min", Range(0, 1)) = 0
        _BaseSmoothnessRemapMax("Base Smoothness Remap Max", Range(0, 1)) = 1
        [ToggleUI]_USEDYNAMICCOVERTSTATICMASKF("Use Dynamic Cover (T) Static Mask (F)", Float) = 1
        [NoScaleOffset]_CoverMaskA("Cover Mask (A)", 2D) = "white" {}
        _CoverMaskPower("Cover Mask Power", Range(0, 10)) = 1
        _Cover_Amount("Cover Amount", Range(0, 2)) = 0
        _Cover_Amount_Grow_Speed("Cover Amount Grow Speed", Range(0, 3)) = 3
        _CoverDirection("Cover Direction", Vector) = (0, 1, 0, 0)
        _Cover_Max_Angle("Cover Max Angle", Range(0.001, 90)) = 35
        _Cover_Min_Height("Cover Min Height", Float) = -10000
        _Cover_Min_Height_Blending("Cover Min Height Blending", Range(0, 500)) = 1
        _CoverBaseColor("Cover Base Color", Color) = (1, 1, 1, 0)
        [NoScaleOffset]_CoverBaseColorMap("Cover Base Map", 2D) = "white" {}
        _CoverTilingOffset("Cover Tiling Offset", Vector) = (1, 1, 0, 0)
        _CoverTriplanarThreshold("Cover Triplanar Threshold", Range(1, 8)) = 5
        [Normal][NoScaleOffset]_CoverNormalMap("Cover Normal Map", 2D) = "bump" {}
        _CoverNormalScale("Cover Normal Scale", Range(0, 8)) = 1
        _CoverNormalBlendHardness("Cover Normal Blend Hardness", Range(0, 8)) = 1
        _CoverHardness("Cover Hardness", Range(0, 10)) = 5
        _CoverHeightMapMin("Cover Height Map Min", Float) = 0
        _CoverHeightMapMax("Cover Height Map Max", Float) = 1
        _CoverHeightMapOffset("Cover Height Map Offset", Float) = 0
        [NoScaleOffset]_CoverMaskMap("Cover Mask Map MT(R) AO(G) H(B) SM(A)", 2D) = "white" {}
        _CoverMetallic("Cover Metallic", Range(0, 1)) = 1
        _CoverAORemapMin("Cover AO Remap Min", Range(0, 1)) = 0
        _CoverAORemapMax("Cover AO Remap Max", Range(0, 1)) = 1
        _CoverSmoothnessRemapMin("Cover Smoothness Remap Min", Range(0, 1)) = 0
        _CoverSmoothnessRemapMax("Cover Smoothness Remap Max", Range(0, 1)) = 1
        [NoScaleOffset]_DetailMap("Detail Map Base (R) Ny(G) Sm(B) Nx(A)", 2D) = "white" {}
        _DetailTilingOffset("Detail Tiling Offset", Vector) = (1, 1, 0, 0)
        _DetailAlbedoScale("Detail Albedo Scale", Range(0, 2)) = 0
        _DetailNormalScale("Detail Normal Scale", Range(0, 2)) = 0
        _DetailSmoothnessScale("Detail Smoothness Scale", Range(0, 2)) = 0
        _WetColor("Wet Color Vertex(R)", Color) = (0.7735849, 0.7735849, 0.7735849, 0)
        _WetSmoothness("Wet Smoothness Vertex(R)", Range(0, 1)) = 1
        [HideInInspector]_EmissionColor("Color", Color) = (1, 1, 1, 1)
        [HideInInspector]_RenderQueueType("Float", Float) = 1
        [HideInInspector][ToggleUI]_AddPrecomputedVelocity("Boolean", Float) = 0
        [HideInInspector][ToggleUI]_DepthOffsetEnable("Boolean", Float) = 0
        [HideInInspector][ToggleUI]_ConservativeDepthOffsetEnable("Boolean", Float) = 0
        [HideInInspector][ToggleUI]_TransparentWritingMotionVec("Boolean", Float) = 0
        [HideInInspector][ToggleUI]_AlphaCutoffEnable("Boolean", Float) = 1
        [HideInInspector]_TransparentSortPriority("_TransparentSortPriority", Float) = 0
        [HideInInspector][ToggleUI]_UseShadowThreshold("Boolean", Float) = 0
        [HideInInspector][ToggleUI]_DoubleSidedEnable("Boolean", Float) = 0
        [HideInInspector][Enum(Flip, 0, Mirror, 1, None, 2)]_DoubleSidedNormalMode("Float", Float) = 2
        [HideInInspector]_DoubleSidedConstants("Vector4", Vector) = (1, 1, -1, 0)
        [HideInInspector][Enum(Auto, 0, On, 1, Off, 2)]_DoubleSidedGIMode("Float", Float) = 0
        [HideInInspector][ToggleUI]_TransparentDepthPrepassEnable("Boolean", Float) = 0
        [HideInInspector][ToggleUI]_TransparentDepthPostpassEnable("Boolean", Float) = 0
        [HideInInspector]_SurfaceType("Float", Float) = 0
        [HideInInspector]_BlendMode("Float", Float) = 0
        [HideInInspector]_SrcBlend("Float", Float) = 1
        [HideInInspector]_DstBlend("Float", Float) = 0
        [HideInInspector]_AlphaSrcBlend("Float", Float) = 1
        [HideInInspector]_AlphaDstBlend("Float", Float) = 0
        [HideInInspector][ToggleUI]_ZWrite("Boolean", Float) = 1
        [HideInInspector][ToggleUI]_TransparentZWrite("Boolean", Float) = 0
        [HideInInspector]_CullMode("Float", Float) = 2
        [HideInInspector][ToggleUI]_EnableFogOnTransparent("Boolean", Float) = 1
        [HideInInspector]_CullModeForward("Float", Float) = 2
        [HideInInspector][Enum(Front, 1, Back, 2)]_TransparentCullMode("Float", Float) = 2
        [HideInInspector][Enum(UnityEditor.Rendering.HighDefinition.OpaqueCullMode)]_OpaqueCullMode("Float", Float) = 2
        [HideInInspector]_ZTestDepthEqualForOpaque("Float", Int) = 3
        [HideInInspector][Enum(UnityEngine.Rendering.CompareFunction)]_ZTestTransparent("Float", Float) = 4
        [HideInInspector][ToggleUI]_TransparentBackfaceEnable("Boolean", Float) = 0
        [HideInInspector][ToggleUI]_RequireSplitLighting("Boolean", Float) = 0
        [HideInInspector][ToggleUI]_ReceivesSSR("Boolean", Float) = 1
        [HideInInspector][ToggleUI]_ReceivesSSRTransparent("Boolean", Float) = 0
        [HideInInspector][ToggleUI]_EnableBlendModePreserveSpecularLighting("Boolean", Float) = 1
        [HideInInspector][ToggleUI]_SupportDecals("Boolean", Float) = 1
        [HideInInspector]_StencilRef("Float", Int) = 0
        [HideInInspector]_StencilWriteMask("Float", Int) = 6
        [HideInInspector]_StencilRefDepth("Float", Int) = 8
        [HideInInspector]_StencilWriteMaskDepth("Float", Int) = 9
        [HideInInspector]_StencilRefMV("Float", Int) = 40
        [HideInInspector]_StencilWriteMaskMV("Float", Int) = 41
        [HideInInspector]_StencilRefDistortionVec("Float", Int) = 4
        [HideInInspector]_StencilWriteMaskDistortionVec("Float", Int) = 4
        [HideInInspector]_StencilWriteMaskGBuffer("Float", Int) = 15
        [HideInInspector]_StencilRefGBuffer("Float", Int) = 10
        [HideInInspector]_ZTestGBuffer("Float", Int) = 4
        [HideInInspector][ToggleUI]_RayTracing("Boolean", Float) = 0
        [HideInInspector][Enum(None, 0, Planar, 1, Sphere, 2, Thin, 3)]_RefractionModel("Float", Float) = 0
        [HideInInspector][NoScaleOffset]unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {}
        [HideInInspector][NoScaleOffset]unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {}
        [HideInInspector][NoScaleOffset]unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {}
    }
    SubShader
    {
        Tags
        {
            "RenderPipeline"="HDRenderPipeline"
            "RenderType"="HDLitShader"
            "Queue"="AlphaTest+25"
            "DisableBatching"="LODFading"
            "ShaderGraphShader"="true"
            "ShaderGraphTargetId"="HDLitSubTarget"
        }
        Pass
        {
            Name "ShadowCaster"
            Tags
            {
                "LightMode" = "ShadowCaster"
            }
        
            // Render State
            Cull [_CullMode]
        ZWrite On
        ColorMask 0
        ZClip [_ZClip]
        
            // Debug
            // <None>
        
            // --------------------------------------------------
            // Pass
        
            HLSLPROGRAM
        
            // Pragmas
            #pragma multi_compile _ DOTS_INSTANCING_ON
        #pragma instancing_options renderinglayer
        #pragma target 4.5
        #pragma vertex Vert
        #pragma fragment Frag
        #pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
        #pragma multi_compile_instancing
        
            // Keywords
            #pragma shader_feature_local _ _ALPHATEST_ON
        #pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local _ _DOUBLESIDED_ON
        #pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
        #pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC
        #pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
        #pragma multi_compile _ LOD_FADE_CROSSFADE
        #pragma shader_feature_local_fragment _ _DISABLE_DECALS
        #pragma shader_feature_local_raytracing _ _DISABLE_DECALS
        #pragma shader_feature_local_fragment _ _DISABLE_SSR
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR
        #pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
            // GraphKeywords: <None>
        
            // For custom interpolators to inject a substruct definition before FragInputs definition,
            // allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
            struct CustomInterpolators
        {
        };
        #define USE_CUSTOMINTERP_SUBSTRUCT
        
        
        
            // TODO: Merge FragInputsVFX substruct with CustomInterpolators.
        	#ifdef HAVE_VFX_MODIFICATION
        	struct FragInputsVFX
            {
                /* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
            };
            #endif
        
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
            // Always include Shader Graph version
            // Always include last to avoid double macros
            #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
        
            // --------------------------------------------------
            // Defines
        
            // Attribute
            #define ATTRIBUTES_NEED_NORMAL
            #define ATTRIBUTES_NEED_TANGENT
            #define ATTRIBUTES_NEED_TEXCOORD0
            #define ATTRIBUTES_NEED_TEXCOORD2
            #define VARYINGS_NEED_POSITION_WS
            #define VARYINGS_NEED_TEXCOORD0
            #define VARYINGS_NEED_TEXCOORD2
        
            #define HAVE_MESH_MODIFICATION
        
            //Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
            //if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
            //Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
            #if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
            #define FRAG_INPUTS_ENABLE_STRIPPING
            #endif
            #define FRAG_INPUTS_USE_TEXCOORD0
            #define FRAG_INPUTS_USE_TEXCOORD2
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
        
        
        
            #define SHADERPASS SHADERPASS_SHADOWS
        
        
            // Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
            // The ShaderGraph don't support correctly migration of this node as it serialize all the node data
            // in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
            // to still allow us to rename the field and keyword of this node without breaking existing code.
            #ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
            #define RAYTRACING_SHADER_GRAPH_HIGH
            #endif
        
            #ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
            #define RAYTRACING_SHADER_GRAPH_LOW
            #endif
            // end
        
            #ifndef SHADER_UNLIT
            // We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
            // VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
            #if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
                #define VARYINGS_NEED_CULLFACE
            #endif
            #endif
        
            // Specific Material Define
        #define _SPECULAR_OCCLUSION_FROM_AO 1
        #define _ENERGY_CONSERVING_SPECULAR 1
        
        // If we use subsurface scattering, enable output split lighting (for forward pass)
        #if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
            #define OUTPUT_SPLIT_LIGHTING
        #endif
        
        // This shader support recursive rendering for raytracing
        #define HAVE_RECURSIVE_RENDERING
        
        // In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
        #if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
            #undef  _REFRACTION_PLANE
            #undef  _REFRACTION_SPHERE
            #define _REFRACTION_THIN
        #endif
            // Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
        
            // To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
            // we should have a code like this:
            // if !defined(_DISABLE_SSR_TRANSPARENT)
            // pragma multi_compile _ WRITE_NORMAL_BUFFER
            // endif
            // i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
            // it based on if SSR transparent in frame settings and not (and stripper can strip it).
            // this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
            // so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
            // Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
            #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
            #if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
                #define WRITE_NORMAL_BUFFER
            #endif
            #endif
        
            #ifndef DEBUG_DISPLAY
                // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
                // Don't do it with debug display mode as it is possible there is no depth prepass in this case
                #if !defined(_SURFACE_TYPE_TRANSPARENT)
                    #if SHADERPASS == SHADERPASS_FORWARD
                    #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
                    #elif SHADERPASS == SHADERPASS_GBUFFER
                    #define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
                    #endif
                #endif
            #endif
        
            // Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
            #if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
                #define _DEFERRED_CAPABLE_MATERIAL
            #endif
        
            // Translate transparent motion vector define
            #if defined(_TRANSPARENT_WRITES_MOTION_VEC) && defined(_SURFACE_TYPE_TRANSPARENT)
                #define _WRITE_TRANSPARENT_MOTION_VECTOR
            #endif
        
            // -- Graph Properties
            CBUFFER_START(UnityPerMaterial)
        float _AlphaCutoff;
        float4 _BaseColor;
        float4 _BaseColorMap_TexelSize;
        float _BaseUsePlanarUV;
        float4 _BaseTilingOffset;
        float4 _BaseNormalMap_TexelSize;
        float _BaseNormalScale;
        float4 _BaseMaskMap_TexelSize;
        float _BaseMetallic;
        float _BaseAORemapMin;
        float _BaseAORemapMax;
        float _BaseSmoothnessRemapMin;
        float _BaseSmoothnessRemapMax;
        float _USEDYNAMICCOVERTSTATICMASKF;
        float4 _CoverMaskA_TexelSize;
        float _CoverMaskPower;
        float _Cover_Amount;
        float _Cover_Amount_Grow_Speed;
        float3 _CoverDirection;
        float _Cover_Max_Angle;
        float _Cover_Min_Height;
        float _Cover_Min_Height_Blending;
        float4 _CoverBaseColor;
        float4 _CoverBaseColorMap_TexelSize;
        float4 _CoverTilingOffset;
        float _CoverTriplanarThreshold;
        float4 _CoverNormalMap_TexelSize;
        float _CoverNormalScale;
        float _CoverNormalBlendHardness;
        float _CoverHardness;
        float _CoverHeightMapMin;
        float _CoverHeightMapMax;
        float _CoverHeightMapOffset;
        float4 _CoverMaskMap_TexelSize;
        float _CoverMetallic;
        float _CoverAORemapMin;
        float _CoverAORemapMax;
        float _CoverSmoothnessRemapMin;
        float _CoverSmoothnessRemapMax;
        float4 _DetailMap_TexelSize;
        float4 _DetailTilingOffset;
        float _DetailAlbedoScale;
        float _DetailNormalScale;
        float _DetailSmoothnessScale;
        float4 _WetColor;
        float _WetSmoothness;
        float4 _EmissionColor;
        float _UseShadowThreshold;
        float4 _DoubleSidedConstants;
        float _BlendMode;
        float _EnableBlendModePreserveSpecularLighting;
        float _RayTracing;
        float _RefractionModel;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        SAMPLER(SamplerState_Linear_Repeat_Aniso8);
        TEXTURE2D(_BaseColorMap);
        SAMPLER(sampler_BaseColorMap);
        TEXTURE2D(_BaseNormalMap);
        SAMPLER(sampler_BaseNormalMap);
        TEXTURE2D(_BaseMaskMap);
        SAMPLER(sampler_BaseMaskMap);
        TEXTURE2D(_CoverMaskA);
        SAMPLER(sampler_CoverMaskA);
        TEXTURE2D(_CoverBaseColorMap);
        SAMPLER(sampler_CoverBaseColorMap);
        TEXTURE2D(_CoverNormalMap);
        SAMPLER(sampler_CoverNormalMap);
        TEXTURE2D(_CoverMaskMap);
        SAMPLER(sampler_CoverMaskMap);
        TEXTURE2D(_DetailMap);
        SAMPLER(sampler_DetailMap);
        
            // -- Property used by ScenePickingPass
            #ifdef SCENEPICKINGPASS
            float4 _SelectionID;
            #endif
        
            // -- Properties used by SceneSelectionPass
            #ifdef SCENESELECTIONPASS
            int _ObjectId;
            int _PassValue;
            #endif
        
            // Includes
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
        	#include "./NM_Object_VSPro_Indirect.cginc"
        
            // --------------------------------------------------
            // Structs and Packing
        
            struct AttributesMesh
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv2 : TEXCOORD2;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct VaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float3 positionRWS;
             float4 texCoord0;
             float4 texCoord2;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        struct VertexDescriptionInputs
        {
             float3 ObjectSpaceNormal;
             float3 ObjectSpaceTangent;
             float3 ObjectSpacePosition;
        };
        struct SurfaceDescriptionInputs
        {
             float3 AbsoluteWorldSpacePosition;
             float4 uv0;
             float4 uv2;
        };
        struct PackedVaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float4 texCoord0 : INTERP0;
             float4 texCoord2 : INTERP1;
             float3 positionRWS : INTERP2;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        
            PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
        {
            PackedVaryingsMeshToPS output;
            ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
            output.positionCS = input.positionCS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord2.xyzw = input.texCoord2;
            output.positionRWS.xyz = input.positionRWS;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
        {
            VaryingsMeshToPS output;
            output.positionCS = input.positionCS;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord2 = input.texCoord2.xyzw;
            output.positionRWS = input.positionRWS.xyz;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        
            // --------------------------------------------------
            // Graph
        
        
            // Graph Functions
            
        void AddPragma_float(float3 A, out float3 Out){
        #pragma instancing_options procedural:setupVSPro
        Out = A;
        }
        
        struct Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float
        {
        };
        
        void SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(float3 Vector3_314C8600, Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float IN, out float3 ObjectSpacePosition_1)
        {
        float3 _Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3 = Vector3_314C8600;
        float3 _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3;
        InjectSetup_float(_Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3, _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3);
        float3 _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        AddPragma_float(_InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3, _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3);
        ObjectSpacePosition_1 = _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        }
        
        void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
        {
            RGBA = float4(R, G, B, A);
            RGB = float3(R, G, B);
            RG = float2(R, G);
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
        Out = A * B;
        }
        
        void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
        {
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
        float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
        Unity_Divide_float(1, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
        float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
        float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
        Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
        float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
        float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
        float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
        float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
        Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
        UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        }
        
            // Graph Vertex
            struct VertexDescription
        {
            float3 Position;
            float3 Normal;
            float3 Tangent;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5;
            float3 _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(IN.ObjectSpacePosition, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3);
            description.Position = _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            description.Normal = IN.ObjectSpaceNormal;
            description.Tangent = IN.ObjectSpaceTangent;
            return description;
        }
        
            // Graph Pixel
            struct SurfaceDescription
        {
            float Alpha;
            float AlphaClipThreshold;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
            float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
            float _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean = _BaseUsePlanarUV;
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_41db1f1f529b6f8e9c51558bacdba727;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv0 = IN.uv0;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv2 = IN.uv2;
            float4 _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4);
            float _Split_d9627fc463ca248fa5ce803295175e7f_R_1_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[0];
            float _Split_d9627fc463ca248fa5ce803295175e7f_G_2_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[1];
            float _Split_d9627fc463ca248fa5ce803295175e7f_B_3_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[2];
            float _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[3];
            float _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float = _AlphaCutoff;
            surface.Alpha = _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float;
            surface.AlphaClipThreshold = _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float;
            return surface;
        }
        
            // --------------------------------------------------
            // Build Graph Inputs
            #ifdef HAVE_VFX_MODIFICATION
            #define VFX_SRP_ATTRIBUTES AttributesMesh
            #define VaryingsMeshType VaryingsMeshToPS
            #define VFX_SRP_VARYINGS VaryingsMeshType
            #define VFX_SRP_SURFACE_INPUTS FragInputs
            #endif
            
        VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.ObjectSpaceNormal =                          input.normalOS;
            output.ObjectSpaceTangent =                         input.tangentOS.xyz;
            output.ObjectSpacePosition =                        input.positionOS;
        
            return output;
        }
        
        VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            // build graph inputs
            VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
            // Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
        
            // evaluate vertex graph
        #ifdef HAVE_VFX_MODIFICATION
            GraphProperties properties;
            ZERO_INITIALIZE(GraphProperties, properties);
        
            // Fetch the vertex graph properties for the particle instance.
            GetElementVertexProperties(element, properties);
        
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
        #else
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
        #endif
            return vertexDescription;
        
        }
        
        AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
        #ifdef USE_CUSTOMINTERP_SUBSTRUCT
            #ifdef TESSELLATION_ON
            , inout VaryingsMeshToDS varyings
            #else
            , inout VaryingsMeshToPS varyings
            #endif
        #endif
        #ifdef HAVE_VFX_MODIFICATION
                , AttributesElement element
        #endif
            )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
        
            // copy graph output to the results
            input.positionOS = vertexDescription.Position;
            input.normalOS = vertexDescription.Normal;
            input.tangentOS.xyz = vertexDescription.Tangent;
        
            
        
            return input;
        }
        
        #if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
        // Return precomputed Velocity in object space
        float3 GetCustomVelocity(AttributesMesh input
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
            return vertexDescription.CustomVelocity;
        }
        #endif
        
        FragInputs BuildFragInputs(VaryingsMeshToPS input)
        {
            FragInputs output;
            ZERO_INITIALIZE(FragInputs, output);
        
            // Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
            // TODO: this is a really poor workaround, but the variable is used in a bunch of places
            // to compute normals which are then passed on elsewhere to compute other values...
            output.tangentToWorld = k_identity3x3;
            output.positionSS = input.positionCS;       // input.positionCS is SV_Position
        
            output.positionRWS =                input.positionRWS;
            output.texCoord0 =                  input.texCoord0;
            output.texCoord2 =                  input.texCoord2;
        
        #ifdef HAVE_VFX_MODIFICATION
            // FragInputs from VFX come from two places: Interpolator or CBuffer.
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
        
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            // splice point to copy custom interpolator fields from varyings to frag inputs
            
        
            return output;
        }
        
        // existing HDRP code uses the combined function to go directly from packed to frag inputs
        FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
        {
            UNITY_SETUP_INSTANCE_ID(input);
        #if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
            unity_InstanceID = input.instanceID;
        #endif
            VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
            return BuildFragInputs(unpacked);
        }
            SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
            #if defined(SHADER_STAGE_RAY_TRACING)
            #else
            #endif
            output.AbsoluteWorldSpacePosition =                 GetAbsolutePositionWS(input.positionRWS);
        
        #if UNITY_UV_STARTS_AT_TOP
        #else
        #endif
        
        
            output.uv0 =                                        input.texCoord0;
            output.uv2 =                                        input.texCoord2;
        
            // splice point to copy frag inputs custom interpolator pack into the SDI
            
        
            return output;
        }
        
            // --------------------------------------------------
            // Build Surface Data (Specific Material)
        
        void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
        
        void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
            inout SurfaceData surfaceData)
        {
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
        #ifdef DECAL_NORMAL_BLENDING
            // SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
            // the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
            float3 normalTS;
        
        
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        
            GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
        #else
            // normal delivered to master node
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                // Both uses and modifies 'surfaceData.normalWS'.
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        #endif
        }
        void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
        {
            ZERO_INITIALIZE(SurfaceData, surfaceData);
        
            // specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
            // however specularOcclusion can come from the graph, so need to be init here so it can be override.
            surfaceData.specularOcclusion = 1.0;
        
        
            #if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
                if (_EnableSSRefraction)
                {
        
                    surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
                    surfaceDescription.Alpha = 1.0;
                }
                else
                {
                    surfaceData.ior = 1.0;
                    surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                    surfaceData.atDistance = 1.0;
                    surfaceData.transmittanceMask = 0.0;
                    surfaceDescription.Alpha = 1.0;
                }
            #else
                surfaceData.ior = 1.0;
                surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                surfaceData.atDistance = 1.0;
                surfaceData.transmittanceMask = 0.0;
            #endif
        
            // These static material feature allow compile time optimization
            surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
            #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
            #endif
        
            #ifdef _MATERIAL_FEATURE_TRANSMISSION
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
            #endif
        
            #ifdef _MATERIAL_FEATURE_ANISOTROPY
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
        
                // Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
                surfaceData.normalWS = float3(0, 1, 0);
            #endif
        
            #ifdef _MATERIAL_FEATURE_IRIDESCENCE
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
            #endif
        
            #ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
            #endif
        
            #ifdef _MATERIAL_FEATURE_CLEAR_COAT
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
            #endif
        
            #if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
                // Require to have setup baseColor
                // Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
                surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
            #endif
        
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
            ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
        
            surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
        
            surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz);    // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
        
        
            bentNormalWS = surfaceData.normalWS;
        
            surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
        
            #ifdef DEBUG_DISPLAY
                if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
                {
                    // TODO: need to update mip info
                    surfaceData.metallic = 0;
                }
        
                // We need to call ApplyDebugToSurfaceData after filling the surfarcedata and before filling builtinData
                // as it can modify attribute use for static lighting
                ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
            #endif
        
            // By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
            // If user provide bent normal then we process a better term
            #if defined(_SPECULAR_OCCLUSION_CUSTOM)
                // Just use the value passed through via the slot (not active otherwise)
            #elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
                // If we have bent normal and ambient occlusion, process a specular occlusion
                surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
            #elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
                surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
            #endif
        
            #if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
                surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
            #endif
        }
        
            // --------------------------------------------------
            // Get Surface And BuiltinData
        
            void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
            {
                // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
                #if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
                #ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
                LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
                #endif
                #endif
        
                #ifndef SHADER_UNLIT
                #ifdef _DOUBLESIDED_ON
                    float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
                #else
                    float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
                #endif
        
                ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
                #endif // SHADER_UNLIT
        
                SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
        
                #if defined(HAVE_VFX_MODIFICATION)
                GraphProperties properties;
                ZERO_INITIALIZE(GraphProperties, properties);
        
                GetElementPixelProperties(fragInputs, properties);
        
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
                #else
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
                #endif
        
                // Perform alpha test very early to save performance (a killed pixel will not sample textures)
                // TODO: split graph evaluation to grab just alpha dependencies first? tricky..
                #ifdef _ALPHATEST_ON
                    float alphaCutoff = surfaceDescription.AlphaClipThreshold;
                    #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
                    // The TransparentDepthPrepass is also used with SSR transparent.
                    // If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
                    // otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
                    #elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
                    // DepthPostpass always use its own alpha threshold
                    alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
                    #elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
                    // If use shadow threshold isn't enable we don't allow any test
                    #endif
        
                    GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
                #endif
        
                #if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
                ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
                #endif
        
                #ifndef SHADER_UNLIT
                float3 bentNormalWS;
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD1
                    float4 lightmapTexCoord1 = fragInputs.texCoord1;
                #else
                    float4 lightmapTexCoord1 = float4(0,0,0,0);
                #endif
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD2
                    float4 lightmapTexCoord2 = fragInputs.texCoord2;
                #else
                    float4 lightmapTexCoord2 = float4(0,0,0,0);
                #endif
        
                // Builtin Data
                // For back lighting we use the oposite vertex normal
                InitBuiltinData(posInput, surfaceDescription.Alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
        
                #else
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
        
                ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
                builtinData.opacity = surfaceDescription.Alpha;
        
                #if defined(DEBUG_DISPLAY)
                    // Light Layers are currently not used for the Unlit shader (because it is not lit)
                    // But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
                    // display in the light layers visualization mode, therefore we need the renderingLayers
                    builtinData.renderingLayers = GetMeshRenderingLightLayer();
                #endif
        
                #endif // SHADER_UNLIT
        
                #ifdef _ALPHATEST_ON
                    // Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
                    builtinData.alphaClipTreshold = alphaCutoff;
                #endif
        
                // override sampleBakedGI - not used by Unlit
        
        
                // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
                // We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
                // This is a limitation of the current MRT approach.
                #ifdef UNITY_VIRTUAL_TEXTURING
                #endif
        
                #if _DEPTHOFFSET_ON
                builtinData.depthOffset = surfaceDescription.DepthOffset;
                #endif
        
                // TODO: We should generate distortion / distortionBlur for non distortion pass
                #if (SHADERPASS == SHADERPASS_DISTORTION)
                builtinData.distortion = surfaceDescription.Distortion;
                builtinData.distortionBlur = surfaceDescription.DistortionBlur;
                #endif
        
                #ifndef SHADER_UNLIT
                // PostInitBuiltinData call ApplyDebugToBuiltinData
                PostInitBuiltinData(V, posInput, surfaceData, builtinData);
                #else
                ApplyDebugToBuiltinData(builtinData);
                #endif
        
                RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
            }
        
            // --------------------------------------------------
            // Main
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDepthOnly.hlsl"
        
            // --------------------------------------------------
            // Visual Effect Vertex Invocations
        
        	#ifdef HAVE_VFX_MODIFICATION
        	#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
        	#endif
        
            ENDHLSL
        }
        Pass
        {
            Name "META"
            Tags
            {
                "LightMode" = "META"
            }
        
            // Render State
            Cull Off
        
            // Debug
            // <None>
        
            // --------------------------------------------------
            // Pass
        
            HLSLPROGRAM
        
            // Pragmas
            #pragma multi_compile _ DOTS_INSTANCING_ON
        #pragma instancing_options renderinglayer
        #pragma target 4.5
        #pragma vertex Vert
        #pragma fragment Frag
        #pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
        #pragma multi_compile_instancing
        
            // Keywords
            #pragma shader_feature _ EDITOR_VISUALIZATION
        #pragma shader_feature_local _ _ALPHATEST_ON
        #pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local _ _DOUBLESIDED_ON
        #pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
        #pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC
        #pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
        #pragma multi_compile _ LOD_FADE_CROSSFADE
        #pragma shader_feature_local_fragment _ _DISABLE_DECALS
        #pragma shader_feature_local_raytracing _ _DISABLE_DECALS
        #pragma shader_feature_local_fragment _ _DISABLE_SSR
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR
        #pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
            // GraphKeywords: <None>
        
            // For custom interpolators to inject a substruct definition before FragInputs definition,
            // allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
            /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreInclude' */
        
        
            // TODO: Merge FragInputsVFX substruct with CustomInterpolators.
        	#ifdef HAVE_VFX_MODIFICATION
        	struct FragInputsVFX
            {
                /* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
            };
            #endif
        
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
            // Always include Shader Graph version
            // Always include last to avoid double macros
            #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
        
            // --------------------------------------------------
            // Defines
        
            // Attribute
            #define ATTRIBUTES_NEED_NORMAL
            #define ATTRIBUTES_NEED_TANGENT
            #define ATTRIBUTES_NEED_TEXCOORD0
            #define ATTRIBUTES_NEED_TEXCOORD1
            #define ATTRIBUTES_NEED_TEXCOORD2
            #define ATTRIBUTES_NEED_TEXCOORD3
            #define ATTRIBUTES_NEED_COLOR
            #define VARYINGS_NEED_POSITION_WS
            #define VARYINGS_NEED_POSITIONPREDISPLACEMENT_WS
            #define VARYINGS_NEED_TANGENT_TO_WORLD
            #define VARYINGS_NEED_TEXCOORD0
            #define VARYINGS_NEED_TEXCOORD1
            #define VARYINGS_NEED_TEXCOORD2
            #define VARYINGS_NEED_TEXCOORD3
            #define VARYINGS_NEED_COLOR
        
            #define HAVE_MESH_MODIFICATION
        
            //Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
            //if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
            //Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
            #if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
            #define FRAG_INPUTS_ENABLE_STRIPPING
            #endif
            #define FRAG_INPUTS_USE_TEXCOORD0
            #define FRAG_INPUTS_USE_TEXCOORD1
            #define FRAG_INPUTS_USE_TEXCOORD2
            #define FRAG_INPUTS_USE_TEXCOORD3
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
        
        
        
            #define SHADERPASS SHADERPASS_LIGHT_TRANSPORT
        #define RAYTRACING_SHADER_GRAPH_DEFAULT
        #define SCENEPICKINGPASS 1
        
        
            // Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
            // The ShaderGraph don't support correctly migration of this node as it serialize all the node data
            // in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
            // to still allow us to rename the field and keyword of this node without breaking existing code.
            #ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
            #define RAYTRACING_SHADER_GRAPH_HIGH
            #endif
        
            #ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
            #define RAYTRACING_SHADER_GRAPH_LOW
            #endif
            // end
        
            #ifndef SHADER_UNLIT
            // We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
            // VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
            #if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
                #define VARYINGS_NEED_CULLFACE
            #endif
            #endif
        
            // Specific Material Define
        #define _AMBIENT_OCCLUSION 1
        #define _SPECULAR_OCCLUSION_FROM_AO 1
        #define _ENERGY_CONSERVING_SPECULAR 1
        
        // If we use subsurface scattering, enable output split lighting (for forward pass)
        #if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
            #define OUTPUT_SPLIT_LIGHTING
        #endif
        
        // This shader support recursive rendering for raytracing
        #define HAVE_RECURSIVE_RENDERING
        
        // In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
        #if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
            #undef  _REFRACTION_PLANE
            #undef  _REFRACTION_SPHERE
            #define _REFRACTION_THIN
        #endif
            // Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
        
            // To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
            // we should have a code like this:
            // if !defined(_DISABLE_SSR_TRANSPARENT)
            // pragma multi_compile _ WRITE_NORMAL_BUFFER
            // endif
            // i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
            // it based on if SSR transparent in frame settings and not (and stripper can strip it).
            // this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
            // so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
            // Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
            #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
            #if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
                #define WRITE_NORMAL_BUFFER
            #endif
            #endif
        
            #ifndef DEBUG_DISPLAY
                // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
                // Don't do it with debug display mode as it is possible there is no depth prepass in this case
                #if !defined(_SURFACE_TYPE_TRANSPARENT)
                    #if SHADERPASS == SHADERPASS_FORWARD
                    #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
                    #elif SHADERPASS == SHADERPASS_GBUFFER
                    #define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
                    #endif
                #endif
            #endif
        
            // Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
            #if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
                #define _DEFERRED_CAPABLE_MATERIAL
            #endif
        
            // Translate transparent motion vector define
            #if defined(_TRANSPARENT_WRITES_MOTION_VEC) && defined(_SURFACE_TYPE_TRANSPARENT)
                #define _WRITE_TRANSPARENT_MOTION_VECTOR
            #endif
        
            // -- Graph Properties
            CBUFFER_START(UnityPerMaterial)
        float _AlphaCutoff;
        float4 _BaseColor;
        float4 _BaseColorMap_TexelSize;
        float _BaseUsePlanarUV;
        float4 _BaseTilingOffset;
        float4 _BaseNormalMap_TexelSize;
        float _BaseNormalScale;
        float4 _BaseMaskMap_TexelSize;
        float _BaseMetallic;
        float _BaseAORemapMin;
        float _BaseAORemapMax;
        float _BaseSmoothnessRemapMin;
        float _BaseSmoothnessRemapMax;
        float _USEDYNAMICCOVERTSTATICMASKF;
        float4 _CoverMaskA_TexelSize;
        float _CoverMaskPower;
        float _Cover_Amount;
        float _Cover_Amount_Grow_Speed;
        float3 _CoverDirection;
        float _Cover_Max_Angle;
        float _Cover_Min_Height;
        float _Cover_Min_Height_Blending;
        float4 _CoverBaseColor;
        float4 _CoverBaseColorMap_TexelSize;
        float4 _CoverTilingOffset;
        float _CoverTriplanarThreshold;
        float4 _CoverNormalMap_TexelSize;
        float _CoverNormalScale;
        float _CoverNormalBlendHardness;
        float _CoverHardness;
        float _CoverHeightMapMin;
        float _CoverHeightMapMax;
        float _CoverHeightMapOffset;
        float4 _CoverMaskMap_TexelSize;
        float _CoverMetallic;
        float _CoverAORemapMin;
        float _CoverAORemapMax;
        float _CoverSmoothnessRemapMin;
        float _CoverSmoothnessRemapMax;
        float4 _DetailMap_TexelSize;
        float4 _DetailTilingOffset;
        float _DetailAlbedoScale;
        float _DetailNormalScale;
        float _DetailSmoothnessScale;
        float4 _WetColor;
        float _WetSmoothness;
        float4 _EmissionColor;
        float _UseShadowThreshold;
        float4 _DoubleSidedConstants;
        float _BlendMode;
        float _EnableBlendModePreserveSpecularLighting;
        float _RayTracing;
        float _RefractionModel;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        SAMPLER(SamplerState_Linear_Repeat_Aniso8);
        TEXTURE2D(_BaseColorMap);
        SAMPLER(sampler_BaseColorMap);
        TEXTURE2D(_BaseNormalMap);
        SAMPLER(sampler_BaseNormalMap);
        TEXTURE2D(_BaseMaskMap);
        SAMPLER(sampler_BaseMaskMap);
        TEXTURE2D(_CoverMaskA);
        SAMPLER(sampler_CoverMaskA);
        TEXTURE2D(_CoverBaseColorMap);
        SAMPLER(sampler_CoverBaseColorMap);
        TEXTURE2D(_CoverNormalMap);
        SAMPLER(sampler_CoverNormalMap);
        TEXTURE2D(_CoverMaskMap);
        SAMPLER(sampler_CoverMaskMap);
        TEXTURE2D(_DetailMap);
        SAMPLER(sampler_DetailMap);
        
            // -- Property used by ScenePickingPass
            #ifdef SCENEPICKINGPASS
            float4 _SelectionID;
            #endif
        
            // -- Properties used by SceneSelectionPass
            #ifdef SCENESELECTIONPASS
            int _ObjectId;
            int _PassValue;
            #endif
        
            // Includes
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
        	// GraphIncludes: <None>
        
            // --------------------------------------------------
            // Structs and Packing
        
            struct AttributesMesh
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv1 : TEXCOORD1;
             float4 uv2 : TEXCOORD2;
             float4 uv3 : TEXCOORD3;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct VaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float3 positionRWS;
             float3 positionPredisplacementRWS;
             float3 normalWS;
             float4 tangentWS;
             float4 texCoord0;
             float4 texCoord1;
             float4 texCoord2;
             float4 texCoord3;
             float4 color;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        struct VertexDescriptionInputs
        {
        };
        struct SurfaceDescriptionInputs
        {
             float3 WorldSpaceNormal;
             float3 TangentSpaceNormal;
             float3 WorldSpaceTangent;
             float3 WorldSpaceBiTangent;
             float3 AbsoluteWorldSpacePosition;
             float4 uv0;
             float4 uv2;
             float4 VertexColor;
        };
        struct PackedVaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float4 tangentWS : INTERP0;
             float4 texCoord0 : INTERP1;
             float4 texCoord1 : INTERP2;
             float4 texCoord2 : INTERP3;
             float4 texCoord3 : INTERP4;
             float4 color : INTERP5;
             float3 positionRWS : INTERP6;
             float3 positionPredisplacementRWS : INTERP7;
             float3 normalWS : INTERP8;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        
            PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
        {
            PackedVaryingsMeshToPS output;
            ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
            output.positionCS = input.positionCS;
            output.tangentWS.xyzw = input.tangentWS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord1.xyzw = input.texCoord1;
            output.texCoord2.xyzw = input.texCoord2;
            output.texCoord3.xyzw = input.texCoord3;
            output.color.xyzw = input.color;
            output.positionRWS.xyz = input.positionRWS;
            output.positionPredisplacementRWS.xyz = input.positionPredisplacementRWS;
            output.normalWS.xyz = input.normalWS;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
        {
            VaryingsMeshToPS output;
            output.positionCS = input.positionCS;
            output.tangentWS = input.tangentWS.xyzw;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord1 = input.texCoord1.xyzw;
            output.texCoord2 = input.texCoord2.xyzw;
            output.texCoord3 = input.texCoord3.xyzw;
            output.color = input.color.xyzw;
            output.positionRWS = input.positionRWS.xyz;
            output.positionPredisplacementRWS = input.positionPredisplacementRWS.xyz;
            output.normalWS = input.normalWS.xyz;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        
            // --------------------------------------------------
            // Graph
        
        
            // Graph Functions
            
        void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
        {
            RGBA = float4(R, G, B, A);
            RGB = float3(R, G, B);
            RG = float2(R, G);
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
        Out = A * B;
        }
        
        void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
        {
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
        float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
        Unity_Divide_float(1, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
        float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
        float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
        Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
        float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
        float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
        float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
        float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
        Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
        UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        }
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_Absolute_float(float In, out float Out)
        {
            Out = abs(In);
        }
        
        void Unity_SquareRoot_float4(float4 In, out float4 Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Sign_float(float In, out float Out)
        {
            Out = sign(In);
        }
        
        void Unity_Ceiling_float(float In, out float Out)
        {
            Out = ceil(In);
        }
        
        void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
        {
        };
        
        void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
        {
        float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
        float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
        Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
        Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
        float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
        Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
        float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
        OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
        }
        
        void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A / B;
        }
        
        void Unity_Sign_float3(float3 In, out float3 Out)
        {
            Out = sign(In);
        }
        
        void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
        {
        Out = A * B;
        }
        
        void Unity_Absolute_float3(float3 In, out float3 Out)
        {
            Out = abs(In);
        }
        
        void Unity_Power_float3(float3 A, float3 B, out float3 Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
        Out = A * B;
        }
        
        void Unity_Add_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A + B;
        }
        
        struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
        {
        float3 WorldSpaceNormal;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
        float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
        float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
        float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
        float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
        float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, 1);
        float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
        UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
        Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
        float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, 1);
        float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, 1);
        float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
        float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
        Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
        float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
        Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
        XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
        XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_Add_float2(float2 A, float2 B, out float2 Out)
        {
            Out = A + B;
        }
        
        void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
        {
            Out = dot(A, B);
        }
        
        void Unity_OneMinus_float(float In, out float Out)
        {
            Out = 1 - In;
        }
        
        void Unity_SquareRoot_float(float In, out float Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Normalize_float3(float3 In, out float3 Out)
        {
            Out = normalize(In);
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
        {
        float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
        float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
        float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
        float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
        float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
        float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
        Unity_Divide_float(1, _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
        float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
        float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
        Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
        float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
        float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
        float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
        float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
        Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
        UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
        float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangent(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
        float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
        Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
        XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
        }
        
        void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
        {
            Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
        }
        
        void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
        {
            Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A / B;
        }
        
        struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
        UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
        float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
        Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
        float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, 1);
        float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
        _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
        float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
        float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
        Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
        float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
        float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
        float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
        float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
        float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, 1);
        float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
        _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
        float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
        float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
        float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
        Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
        float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
        float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
        float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
        Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
        float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
        Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
        Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
        float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
        XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
        XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
        YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
        XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Power_float(float A, float B, out float Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
        {
            Out = lerp(A, B, T);
        }
        
        void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
        {
            Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
        }
        
        void Unity_Branch_float(float Predicate, float True, float False, out float Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Lerp_float(float A, float B, float T, out float Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
        {
        };
        
        void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
        {
        float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
        SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        }
        
            // Graph Vertex
            struct VertexDescription
        {
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            return description;
        }
        
            // Graph Pixel
            struct SurfaceDescription
        {
            float3 BaseColor;
            float3 Emission;
            float Alpha;
            float AlphaClipThreshold;
            float3 BentNormal;
            float Smoothness;
            float Occlusion;
            float3 NormalTS;
            float Metallic;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
            float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
            float _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean = _BaseUsePlanarUV;
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_41db1f1f529b6f8e9c51558bacdba727;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv0 = IN.uv0;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv2 = IN.uv2;
            float4 _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4);
            float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
            float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
            Unity_Multiply_float4_float4(_PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
            UnityTexture2D _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
            float4 _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4 = _DetailTilingOffset;
            float _Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[0];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[1];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[2];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[3];
            float2 _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float);
            float2 _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float);
            float2 _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2, _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2, _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2);
            float4 _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.tex, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.samplerstate, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2) );
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.r;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.g;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.b;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.a;
            float _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float, 2, _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float);
            float _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float;
            Unity_Add_float(_Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float, -1, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float);
            float _Property_605f29777330a58ba88ac032e905433b_Out_0_Float = _DetailAlbedoScale;
            float _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float;
            Unity_Multiply_float_float(_Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Property_605f29777330a58ba88ac032e905433b_Out_0_Float, _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float);
            float _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float;
            Unity_Saturate_float(_Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float, _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float);
            float _Absolute_8acef423205118879e75274a48969d34_Out_1_Float;
            Unity_Absolute_float(_Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float);
            Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185;
            float3 _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3;
            SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3);
            UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
            float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
            float4 _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4;
            Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4);
            float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4);
            float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
            float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
            Unity_Multiply_float4_float4(_TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
            float _Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
            UnityTexture2D _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
            float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
            float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.tex, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.samplerstate, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
            float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
            float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
            float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
            Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, 0, 1, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
            float3 _Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3 = _CoverDirection;
            float2 _Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2 = float2(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float, _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float);
            float2 _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2, float2(2, 2), _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2);
            float2 _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2;
            Unity_Add_float2(_Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2, float2(-1, -1), _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2);
            float _Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float = _DetailNormalScale;
            float2 _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2, (_Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float.xx), _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2);
            float _Split_c4822b8eaff9b185be7c059792345712_R_1_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[0];
            float _Split_c4822b8eaff9b185be7c059792345712_G_2_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[1];
            float _Split_c4822b8eaff9b185be7c059792345712_B_3_Float = 0;
            float _Split_c4822b8eaff9b185be7c059792345712_A_4_Float = 0;
            float _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float;
            Unity_DotProduct_float2(_Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float);
            float _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float;
            Unity_Saturate_float(_DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float, _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float);
            float _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float;
            Unity_OneMinus_float(_Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float, _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float);
            float _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float;
            Unity_SquareRoot_float(_OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            float3 _Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3 = float3(_Split_c4822b8eaff9b185be7c059792345712_R_1_Float, _Split_c4822b8eaff9b185be7c059792345712_G_2_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
            Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_e976eded9c94228090999d383a1bd95b;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceNormal = IN.WorldSpaceNormal;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceTangent = IN.WorldSpaceTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv0 = IN.uv0;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv2 = IN.uv2;
            float4 _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4;
            SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_e976eded9c94228090999d383a1bd95b, _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4);
            float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
            float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
            Unity_NormalStrength_float((_PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
            float3 _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3;
            Unity_NormalBlend_float(_Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3);
            UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
            Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceTangent = IN.WorldSpaceTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4;
            SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4);
            float _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float = _CoverNormalBlendHardness;
            float3 _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3);
            float3 _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3);
            float _Split_64630334a9c0058a848439df6d5afe71_R_1_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[0];
            float _Split_64630334a9c0058a848439df6d5afe71_G_2_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[1];
            float _Split_64630334a9c0058a848439df6d5afe71_B_3_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[2];
            float _Split_64630334a9c0058a848439df6d5afe71_A_4_Float = 0;
            float _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float;
            Unity_Add_float(_Split_64630334a9c0058a848439df6d5afe71_R_1_Float, _Split_64630334a9c0058a848439df6d5afe71_G_2_Float, _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float);
            float _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float;
            Unity_Add_float(_Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float, _Split_64630334a9c0058a848439df6d5afe71_B_3_Float, _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float);
            float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
            float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
            float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
            Unity_Subtract_float(4, _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
            float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
            Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
            float _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float;
            Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float);
            float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
            Unity_Power_float(_Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
            float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
            Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, 0, 2, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
            float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
            Unity_Multiply_float_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
            float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
            Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
            float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
            Unity_Clamp_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, 0, 0.9999, _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
            float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
            float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
            Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, 45, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
            float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
            Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
            float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
            Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
            float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
            Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, 0, 2, _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
            float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
            Unity_Divide_float(1, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
            float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
            float _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float;
            Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float);
            float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
            float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
            Unity_Power_float(_Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
            float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
            float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
            Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
            float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
            float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
            float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
            float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
            float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
            Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
            float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, 1, _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
            float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
            Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, 0, 1, _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
            float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
            float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
            float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
            Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
            float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
            Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
            float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
            Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, -0.5, _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
            float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
            Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, 0, 1, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
            float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
            Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
            float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
            Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, 0, 1, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
            float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
            Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
            float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
            Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
            float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
            float3 _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3;
            {
                float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
                _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
            }
            float3 _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3, _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3);
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[0];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[1];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[2];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_A_4_Float = 0;
            float _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float;
            Unity_Add_float(_Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float, _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float);
            float _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float;
            Unity_Add_float(_Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float, _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float);
            float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
            Unity_Multiply_float_float(_Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
            float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
            float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
            float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
            UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f8c96485552c638b8d38f34567da0e97;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f8c96485552c638b8d38f34567da0e97, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4);
            float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[0];
            float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[1];
            float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[2];
            float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[3];
            float _Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float = _CoverHeightMapMin;
            float _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float = _CoverHeightMapMax;
            float2 _Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2 = float2(_Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float, _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float);
            float _Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float = _CoverHeightMapOffset;
            float2 _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2;
            Unity_Add_float2(_Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2, (_Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float.xx), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2);
            float _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float);
            float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
            float _Split_8259ed9a9318f9848f486475aa132211_R_1_Float = IN.VertexColor[0];
            float _Split_8259ed9a9318f9848f486475aa132211_G_2_Float = IN.VertexColor[1];
            float _Split_8259ed9a9318f9848f486475aa132211_B_3_Float = IN.VertexColor[2];
            float _Split_8259ed9a9318f9848f486475aa132211_A_4_Float = IN.VertexColor[3];
            float _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_8259ed9a9318f9848f486475aa132211_G_2_Float, _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float);
            float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
            Unity_Saturate_float(_Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
            float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
            float _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float;
            Unity_Branch_float(_Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float);
            float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
            Unity_Lerp_float3(_BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
            float4 _Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4 = _WetColor;
            float3 _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3;
            Unity_Multiply_float3_float3((_Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3);
            float _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float;
            Unity_OneMinus_float(_Split_8259ed9a9318f9848f486475aa132211_R_1_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float);
            float3 _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3, (_OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float.xxx), _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3);
            float _Split_d9627fc463ca248fa5ce803295175e7f_R_1_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[0];
            float _Split_d9627fc463ca248fa5ce803295175e7f_G_2_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[1];
            float _Split_d9627fc463ca248fa5ce803295175e7f_B_3_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[2];
            float _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[3];
            float _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float = _AlphaCutoff;
            UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_9d0bc4ed86df988595f613acb6a8509f;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv0 = IN.uv0;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv2 = IN.uv2;
            float4 _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4);
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[0];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[1];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_B_3_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[2];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[3];
            float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
            float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
            Unity_Multiply_float_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
            float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
            float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
            float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
            float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
            float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
            float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
            float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
            float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
            float _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float, 2, _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float);
            float _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float;
            Unity_Add_float(_Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float, -1, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float);
            float _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float = _DetailSmoothnessScale;
            float _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float;
            Unity_Multiply_float_float(_Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float, _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float);
            float _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float;
            Unity_Saturate_float(_Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float, _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float);
            float _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float;
            Unity_Absolute_float(_Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float);
            Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43;
            float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float;
            SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float);
            float _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float;
            Unity_Saturate_float(_BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
            float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
            Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
            float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
            float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
            float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
            float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
            float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
            float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
            float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
            float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
            Unity_Lerp_float3(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
            float _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float = _WetSmoothness;
            float _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float, _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float);
            float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
            float3 _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3);
            float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
            surface.BaseColor = _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            surface.Emission = float3(0, 0, 0);
            surface.Alpha = _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float;
            surface.AlphaClipThreshold = _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float;
            surface.BentNormal = IN.TangentSpaceNormal;
            surface.Smoothness = _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
            surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float;
            return surface;
        }
        
            // --------------------------------------------------
            // Build Graph Inputs
            #ifdef HAVE_VFX_MODIFICATION
            #define VFX_SRP_ATTRIBUTES AttributesMesh
            #define VaryingsMeshType VaryingsMeshToPS
            #define VFX_SRP_VARYINGS VaryingsMeshType
            #define VFX_SRP_SURFACE_INPUTS FragInputs
            #endif
            
        VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
        
            return output;
        }
        
        VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            // build graph inputs
            VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
            // Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
        
            // evaluate vertex graph
        #ifdef HAVE_VFX_MODIFICATION
            GraphProperties properties;
            ZERO_INITIALIZE(GraphProperties, properties);
        
            // Fetch the vertex graph properties for the particle instance.
            GetElementVertexProperties(element, properties);
        
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
        #else
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
        #endif
            return vertexDescription;
        
        }
        
        AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
        #ifdef USE_CUSTOMINTERP_SUBSTRUCT
            #ifdef TESSELLATION_ON
            , inout VaryingsMeshToDS varyings
            #else
            , inout VaryingsMeshToPS varyings
            #endif
        #endif
        #ifdef HAVE_VFX_MODIFICATION
                , AttributesElement element
        #endif
            )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
        
            // copy graph output to the results
        
            /* WARNING: $splice Could not find named fragment 'CustomInterpolatorVertMeshCustomInterpolation' */
        
            return input;
        }
        
        #if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
        // Return precomputed Velocity in object space
        float3 GetCustomVelocity(AttributesMesh input
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
            return vertexDescription.CustomVelocity;
        }
        #endif
        
        FragInputs BuildFragInputs(VaryingsMeshToPS input)
        {
            FragInputs output;
            ZERO_INITIALIZE(FragInputs, output);
        
            // Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
            // TODO: this is a really poor workaround, but the variable is used in a bunch of places
            // to compute normals which are then passed on elsewhere to compute other values...
            output.tangentToWorld = k_identity3x3;
            output.positionSS = input.positionCS;       // input.positionCS is SV_Position
        
            output.positionRWS =                input.positionRWS;
            output.positionPredisplacementRWS = input.positionPredisplacementRWS;
            output.tangentToWorld =             BuildTangentToWorld(input.tangentWS, input.normalWS);
            output.texCoord0 =                  input.texCoord0;
            output.texCoord1 =                  input.texCoord1;
            output.texCoord2 =                  input.texCoord2;
            output.texCoord3 =                  input.texCoord3;
            output.color =                      input.color;
        
        #ifdef HAVE_VFX_MODIFICATION
            // FragInputs from VFX come from two places: Interpolator or CBuffer.
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
        
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            // splice point to copy custom interpolator fields from varyings to frag inputs
            /* WARNING: $splice Could not find named fragment 'CustomInterpolatorVaryingsToFragInputs' */
        
            return output;
        }
        
        // existing HDRP code uses the combined function to go directly from packed to frag inputs
        FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
        {
            UNITY_SETUP_INSTANCE_ID(input);
        #if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
            unity_InstanceID = input.instanceID;
        #endif
            VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
            return BuildFragInputs(unpacked);
        }
            SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
            output.WorldSpaceNormal =                           normalize(input.tangentToWorld[2].xyz);
            #if defined(SHADER_STAGE_RAY_TRACING)
            #else
            #endif
            output.TangentSpaceNormal =                         float3(0.0f, 0.0f, 1.0f);
            output.WorldSpaceTangent =                          input.tangentToWorld[0].xyz;
            output.WorldSpaceBiTangent =                        input.tangentToWorld[1].xyz;
            output.AbsoluteWorldSpacePosition =                 GetAbsolutePositionWS(input.positionRWS);
        
        #if UNITY_UV_STARTS_AT_TOP
        #else
        #endif
        
        
            output.uv0 =                                        input.texCoord0;
            output.uv2 =                                        input.texCoord2;
            output.VertexColor =                                input.color;
        
            // splice point to copy frag inputs custom interpolator pack into the SDI
            /* WARNING: $splice Could not find named fragment 'CustomInterpolatorCopyToSDI' */
        
            return output;
        }
        
            // --------------------------------------------------
            // Build Surface Data (Specific Material)
        
        void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
        
        void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
            inout SurfaceData surfaceData)
        {
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
        #ifdef DECAL_NORMAL_BLENDING
            // SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
            // the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
            float3 normalTS;
        
            normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
            fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
        
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        
            GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
        #else
            // normal delivered to master node
            GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                // Both uses and modifies 'surfaceData.normalWS'.
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        #endif
        }
        void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
        {
            ZERO_INITIALIZE(SurfaceData, surfaceData);
        
            // specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
            // however specularOcclusion can come from the graph, so need to be init here so it can be override.
            surfaceData.specularOcclusion = 1.0;
        
            surfaceData.baseColor =                 surfaceDescription.BaseColor;
            surfaceData.perceptualSmoothness =      surfaceDescription.Smoothness;
            surfaceData.ambientOcclusion =          surfaceDescription.Occlusion;
            surfaceData.metallic =                  surfaceDescription.Metallic;
        
            #if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
                if (_EnableSSRefraction)
                {
        
                    surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
                    surfaceDescription.Alpha = 1.0;
                }
                else
                {
                    surfaceData.ior = 1.0;
                    surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                    surfaceData.atDistance = 1.0;
                    surfaceData.transmittanceMask = 0.0;
                    surfaceDescription.Alpha = 1.0;
                }
            #else
                surfaceData.ior = 1.0;
                surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                surfaceData.atDistance = 1.0;
                surfaceData.transmittanceMask = 0.0;
            #endif
        
            // These static material feature allow compile time optimization
            surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
            #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
            #endif
        
            #ifdef _MATERIAL_FEATURE_TRANSMISSION
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
            #endif
        
            #ifdef _MATERIAL_FEATURE_ANISOTROPY
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
        
                // Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
                surfaceData.normalWS = float3(0, 1, 0);
            #endif
        
            #ifdef _MATERIAL_FEATURE_IRIDESCENCE
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
            #endif
        
            #ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
            #endif
        
            #ifdef _MATERIAL_FEATURE_CLEAR_COAT
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
            #endif
        
            #if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
                // Require to have setup baseColor
                // Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
                surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
            #endif
        
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
            ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
        
            surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
        
            surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz);    // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
        
        
            bentNormalWS = surfaceData.normalWS;
        
            surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
        
            #ifdef DEBUG_DISPLAY
                if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
                {
                    // TODO: need to update mip info
                    surfaceData.metallic = 0;
                }
        
                // We need to call ApplyDebugToSurfaceData after filling the surfarcedata and before filling builtinData
                // as it can modify attribute use for static lighting
                ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
            #endif
        
            // By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
            // If user provide bent normal then we process a better term
            #if defined(_SPECULAR_OCCLUSION_CUSTOM)
                // Just use the value passed through via the slot (not active otherwise)
            #elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
                // If we have bent normal and ambient occlusion, process a specular occlusion
                surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
            #elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
                surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
            #endif
        
            #if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
                surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
            #endif
        }
        
            // --------------------------------------------------
            // Get Surface And BuiltinData
        
            void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
            {
                // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
                #if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
                #ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
                LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
                #endif
                #endif
        
                #ifndef SHADER_UNLIT
                #ifdef _DOUBLESIDED_ON
                    float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
                #else
                    float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
                #endif
        
                ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
                #endif // SHADER_UNLIT
        
                SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
        
                #if defined(HAVE_VFX_MODIFICATION)
                GraphProperties properties;
                ZERO_INITIALIZE(GraphProperties, properties);
        
                GetElementPixelProperties(fragInputs, properties);
        
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
                #else
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
                #endif
        
                // Perform alpha test very early to save performance (a killed pixel will not sample textures)
                // TODO: split graph evaluation to grab just alpha dependencies first? tricky..
                #ifdef _ALPHATEST_ON
                    float alphaCutoff = surfaceDescription.AlphaClipThreshold;
                    #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
                    // The TransparentDepthPrepass is also used with SSR transparent.
                    // If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
                    // otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
                    #elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
                    // DepthPostpass always use its own alpha threshold
                    alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
                    #elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
                    // If use shadow threshold isn't enable we don't allow any test
                    #endif
        
                    GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
                #endif
        
                #if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
                ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
                #endif
        
                #ifndef SHADER_UNLIT
                float3 bentNormalWS;
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD1
                    float4 lightmapTexCoord1 = fragInputs.texCoord1;
                #else
                    float4 lightmapTexCoord1 = float4(0,0,0,0);
                #endif
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD2
                    float4 lightmapTexCoord2 = fragInputs.texCoord2;
                #else
                    float4 lightmapTexCoord2 = float4(0,0,0,0);
                #endif
        
                // Builtin Data
                // For back lighting we use the oposite vertex normal
                InitBuiltinData(posInput, surfaceDescription.Alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
        
                #else
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
        
                ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
                builtinData.opacity = surfaceDescription.Alpha;
        
                #if defined(DEBUG_DISPLAY)
                    // Light Layers are currently not used for the Unlit shader (because it is not lit)
                    // But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
                    // display in the light layers visualization mode, therefore we need the renderingLayers
                    builtinData.renderingLayers = GetMeshRenderingLightLayer();
                #endif
        
                #endif // SHADER_UNLIT
        
                #ifdef _ALPHATEST_ON
                    // Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
                    builtinData.alphaClipTreshold = alphaCutoff;
                #endif
        
                // override sampleBakedGI - not used by Unlit
        
                builtinData.emissiveColor = surfaceDescription.Emission;
        
                // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
                // We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
                // This is a limitation of the current MRT approach.
                #ifdef UNITY_VIRTUAL_TEXTURING
                #endif
        
                #if _DEPTHOFFSET_ON
                builtinData.depthOffset = surfaceDescription.DepthOffset;
                #endif
        
                // TODO: We should generate distortion / distortionBlur for non distortion pass
                #if (SHADERPASS == SHADERPASS_DISTORTION)
                builtinData.distortion = surfaceDescription.Distortion;
                builtinData.distortionBlur = surfaceDescription.DistortionBlur;
                #endif
        
                #ifndef SHADER_UNLIT
                // PostInitBuiltinData call ApplyDebugToBuiltinData
                PostInitBuiltinData(V, posInput, surfaceData, builtinData);
                #else
                ApplyDebugToBuiltinData(builtinData);
                #endif
        
                RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
            }
        
            // --------------------------------------------------
            // Main
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassLightTransport.hlsl"
        
            // --------------------------------------------------
            // Visual Effect Vertex Invocations
        
        	#ifdef HAVE_VFX_MODIFICATION
        	#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
        	#endif
        
            ENDHLSL
        }
        Pass
        {
            Name "ScenePickingPass"
            Tags
            {
                "LightMode" = "Picking"
            }
        
            // Render State
            Cull [_CullMode]
        
            // Debug
            // <None>
        
            // --------------------------------------------------
            // Pass
        
            HLSLPROGRAM
        
            // Pragmas
            #pragma multi_compile _ DOTS_INSTANCING_ON
        #pragma editor_sync_compilation
        #pragma instancing_options renderinglayer
        #pragma target 4.5
        #pragma vertex Vert
        #pragma fragment Frag
        #pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
        #pragma multi_compile_instancing
        
            // Keywords
            #pragma shader_feature_local _ _ALPHATEST_ON
        #pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local _ _DOUBLESIDED_ON
        #pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
        #pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC
        #pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
        #pragma multi_compile _ LOD_FADE_CROSSFADE
        #pragma shader_feature_local_fragment _ _DISABLE_DECALS
        #pragma shader_feature_local_raytracing _ _DISABLE_DECALS
        #pragma shader_feature_local_fragment _ _DISABLE_SSR
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR
        #pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
            // GraphKeywords: <None>
        
            // For custom interpolators to inject a substruct definition before FragInputs definition,
            // allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
            struct CustomInterpolators
        {
        };
        #define USE_CUSTOMINTERP_SUBSTRUCT
        
        
        
            // TODO: Merge FragInputsVFX substruct with CustomInterpolators.
        	#ifdef HAVE_VFX_MODIFICATION
        	struct FragInputsVFX
            {
                /* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
            };
            #endif
        
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
            // Always include Shader Graph version
            // Always include last to avoid double macros
            #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
        
            // --------------------------------------------------
            // Defines
        
            // Attribute
            #define ATTRIBUTES_NEED_NORMAL
            #define ATTRIBUTES_NEED_TANGENT
            #define ATTRIBUTES_NEED_TEXCOORD0
            #define ATTRIBUTES_NEED_TEXCOORD2
            #define ATTRIBUTES_NEED_COLOR
            #define VARYINGS_NEED_POSITION_WS
            #define VARYINGS_NEED_TANGENT_TO_WORLD
            #define VARYINGS_NEED_TEXCOORD0
            #define VARYINGS_NEED_TEXCOORD2
            #define VARYINGS_NEED_COLOR
        
            #define HAVE_MESH_MODIFICATION
        
            //Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
            //if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
            //Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
            #if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
            #define FRAG_INPUTS_ENABLE_STRIPPING
            #endif
            #define FRAG_INPUTS_USE_TEXCOORD0
            #define FRAG_INPUTS_USE_TEXCOORD2
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
        
        
        
            #define SHADERPASS SHADERPASS_DEPTH_ONLY
        #define SCENEPICKINGPASS 1
        
        
            // Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
            // The ShaderGraph don't support correctly migration of this node as it serialize all the node data
            // in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
            // to still allow us to rename the field and keyword of this node without breaking existing code.
            #ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
            #define RAYTRACING_SHADER_GRAPH_HIGH
            #endif
        
            #ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
            #define RAYTRACING_SHADER_GRAPH_LOW
            #endif
            // end
        
            #ifndef SHADER_UNLIT
            // We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
            // VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
            #if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
                #define VARYINGS_NEED_CULLFACE
            #endif
            #endif
        
            // Specific Material Define
        #define _AMBIENT_OCCLUSION 1
        #define _SPECULAR_OCCLUSION_FROM_AO 1
        #define _ENERGY_CONSERVING_SPECULAR 1
        
        // If we use subsurface scattering, enable output split lighting (for forward pass)
        #if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
            #define OUTPUT_SPLIT_LIGHTING
        #endif
        
        // This shader support recursive rendering for raytracing
        #define HAVE_RECURSIVE_RENDERING
        
        // In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
        #if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
            #undef  _REFRACTION_PLANE
            #undef  _REFRACTION_SPHERE
            #define _REFRACTION_THIN
        #endif
            // Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
        
            // To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
            // we should have a code like this:
            // if !defined(_DISABLE_SSR_TRANSPARENT)
            // pragma multi_compile _ WRITE_NORMAL_BUFFER
            // endif
            // i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
            // it based on if SSR transparent in frame settings and not (and stripper can strip it).
            // this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
            // so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
            // Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
            #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
            #if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
                #define WRITE_NORMAL_BUFFER
            #endif
            #endif
        
            #ifndef DEBUG_DISPLAY
                // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
                // Don't do it with debug display mode as it is possible there is no depth prepass in this case
                #if !defined(_SURFACE_TYPE_TRANSPARENT)
                    #if SHADERPASS == SHADERPASS_FORWARD
                    #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
                    #elif SHADERPASS == SHADERPASS_GBUFFER
                    #define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
                    #endif
                #endif
            #endif
        
            // Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
            #if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
                #define _DEFERRED_CAPABLE_MATERIAL
            #endif
        
            // Translate transparent motion vector define
            #if defined(_TRANSPARENT_WRITES_MOTION_VEC) && defined(_SURFACE_TYPE_TRANSPARENT)
                #define _WRITE_TRANSPARENT_MOTION_VECTOR
            #endif
        
            // -- Graph Properties
            CBUFFER_START(UnityPerMaterial)
        float _AlphaCutoff;
        float4 _BaseColor;
        float4 _BaseColorMap_TexelSize;
        float _BaseUsePlanarUV;
        float4 _BaseTilingOffset;
        float4 _BaseNormalMap_TexelSize;
        float _BaseNormalScale;
        float4 _BaseMaskMap_TexelSize;
        float _BaseMetallic;
        float _BaseAORemapMin;
        float _BaseAORemapMax;
        float _BaseSmoothnessRemapMin;
        float _BaseSmoothnessRemapMax;
        float _USEDYNAMICCOVERTSTATICMASKF;
        float4 _CoverMaskA_TexelSize;
        float _CoverMaskPower;
        float _Cover_Amount;
        float _Cover_Amount_Grow_Speed;
        float3 _CoverDirection;
        float _Cover_Max_Angle;
        float _Cover_Min_Height;
        float _Cover_Min_Height_Blending;
        float4 _CoverBaseColor;
        float4 _CoverBaseColorMap_TexelSize;
        float4 _CoverTilingOffset;
        float _CoverTriplanarThreshold;
        float4 _CoverNormalMap_TexelSize;
        float _CoverNormalScale;
        float _CoverNormalBlendHardness;
        float _CoverHardness;
        float _CoverHeightMapMin;
        float _CoverHeightMapMax;
        float _CoverHeightMapOffset;
        float4 _CoverMaskMap_TexelSize;
        float _CoverMetallic;
        float _CoverAORemapMin;
        float _CoverAORemapMax;
        float _CoverSmoothnessRemapMin;
        float _CoverSmoothnessRemapMax;
        float4 _DetailMap_TexelSize;
        float4 _DetailTilingOffset;
        float _DetailAlbedoScale;
        float _DetailNormalScale;
        float _DetailSmoothnessScale;
        float4 _WetColor;
        float _WetSmoothness;
        float4 _EmissionColor;
        float _UseShadowThreshold;
        float4 _DoubleSidedConstants;
        float _BlendMode;
        float _EnableBlendModePreserveSpecularLighting;
        float _RayTracing;
        float _RefractionModel;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        SAMPLER(SamplerState_Linear_Repeat_Aniso8);
        TEXTURE2D(_BaseColorMap);
        SAMPLER(sampler_BaseColorMap);
        TEXTURE2D(_BaseNormalMap);
        SAMPLER(sampler_BaseNormalMap);
        TEXTURE2D(_BaseMaskMap);
        SAMPLER(sampler_BaseMaskMap);
        TEXTURE2D(_CoverMaskA);
        SAMPLER(sampler_CoverMaskA);
        TEXTURE2D(_CoverBaseColorMap);
        SAMPLER(sampler_CoverBaseColorMap);
        TEXTURE2D(_CoverNormalMap);
        SAMPLER(sampler_CoverNormalMap);
        TEXTURE2D(_CoverMaskMap);
        SAMPLER(sampler_CoverMaskMap);
        TEXTURE2D(_DetailMap);
        SAMPLER(sampler_DetailMap);
        
            // -- Property used by ScenePickingPass
            #ifdef SCENEPICKINGPASS
            float4 _SelectionID;
            #endif
        
            // -- Properties used by SceneSelectionPass
            #ifdef SCENESELECTIONPASS
            int _ObjectId;
            int _PassValue;
            #endif
        
            // Includes
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
        	#include "./NM_Object_VSPro_Indirect.cginc"
        
            // --------------------------------------------------
            // Structs and Packing
        
            struct AttributesMesh
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv2 : TEXCOORD2;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct VaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float3 positionRWS;
             float3 normalWS;
             float4 tangentWS;
             float4 texCoord0;
             float4 texCoord2;
             float4 color;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        struct VertexDescriptionInputs
        {
             float3 ObjectSpaceNormal;
             float3 ObjectSpaceTangent;
             float3 ObjectSpacePosition;
        };
        struct SurfaceDescriptionInputs
        {
             float3 WorldSpaceNormal;
             float3 TangentSpaceNormal;
             float3 WorldSpaceTangent;
             float3 WorldSpaceBiTangent;
             float3 AbsoluteWorldSpacePosition;
             float4 uv0;
             float4 uv2;
             float4 VertexColor;
        };
        struct PackedVaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float4 tangentWS : INTERP0;
             float4 texCoord0 : INTERP1;
             float4 texCoord2 : INTERP2;
             float4 color : INTERP3;
             float3 positionRWS : INTERP4;
             float3 normalWS : INTERP5;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        
            PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
        {
            PackedVaryingsMeshToPS output;
            ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
            output.positionCS = input.positionCS;
            output.tangentWS.xyzw = input.tangentWS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord2.xyzw = input.texCoord2;
            output.color.xyzw = input.color;
            output.positionRWS.xyz = input.positionRWS;
            output.normalWS.xyz = input.normalWS;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
        {
            VaryingsMeshToPS output;
            output.positionCS = input.positionCS;
            output.tangentWS = input.tangentWS.xyzw;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord2 = input.texCoord2.xyzw;
            output.color = input.color.xyzw;
            output.positionRWS = input.positionRWS.xyz;
            output.normalWS = input.normalWS.xyz;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        
            // --------------------------------------------------
            // Graph
        
        
            // Graph Functions
            
        void AddPragma_float(float3 A, out float3 Out){
        #pragma instancing_options procedural:setupVSPro
        Out = A;
        }
        
        struct Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float
        {
        };
        
        void SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(float3 Vector3_314C8600, Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float IN, out float3 ObjectSpacePosition_1)
        {
        float3 _Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3 = Vector3_314C8600;
        float3 _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3;
        InjectSetup_float(_Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3, _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3);
        float3 _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        AddPragma_float(_InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3, _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3);
        ObjectSpacePosition_1 = _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        }
        
        void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
        {
            RGBA = float4(R, G, B, A);
            RGB = float3(R, G, B);
            RG = float2(R, G);
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
        Out = A * B;
        }
        
        void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
        {
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
        float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
        Unity_Divide_float(1, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
        float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
        float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
        Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
        float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
        float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
        float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
        float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
        Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
        UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        }
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_Absolute_float(float In, out float Out)
        {
            Out = abs(In);
        }
        
        void Unity_SquareRoot_float4(float4 In, out float4 Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Sign_float(float In, out float Out)
        {
            Out = sign(In);
        }
        
        void Unity_Ceiling_float(float In, out float Out)
        {
            Out = ceil(In);
        }
        
        void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
        {
        };
        
        void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
        {
        float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
        float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
        Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
        Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
        float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
        Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
        float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
        OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
        }
        
        void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A / B;
        }
        
        void Unity_Sign_float3(float3 In, out float3 Out)
        {
            Out = sign(In);
        }
        
        void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
        {
        Out = A * B;
        }
        
        void Unity_Absolute_float3(float3 In, out float3 Out)
        {
            Out = abs(In);
        }
        
        void Unity_Power_float3(float3 A, float3 B, out float3 Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
        Out = A * B;
        }
        
        void Unity_Add_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A + B;
        }
        
        struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
        {
        float3 WorldSpaceNormal;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
        float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
        float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
        float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
        float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
        float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, 1);
        float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
        UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
        Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
        float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, 1);
        float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, 1);
        float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
        float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
        Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
        float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
        Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
        XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
        XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_Add_float2(float2 A, float2 B, out float2 Out)
        {
            Out = A + B;
        }
        
        void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
        {
            Out = dot(A, B);
        }
        
        void Unity_OneMinus_float(float In, out float Out)
        {
            Out = 1 - In;
        }
        
        void Unity_SquareRoot_float(float In, out float Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Normalize_float3(float3 In, out float3 Out)
        {
            Out = normalize(In);
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
        {
        float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
        float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
        float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
        float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
        float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
        float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
        Unity_Divide_float(1, _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
        float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
        float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
        Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
        float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
        float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
        float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
        float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
        Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
        UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
        float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangent(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
        float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
        Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
        XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
        }
        
        void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
        {
            Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
        }
        
        void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
        {
            Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A / B;
        }
        
        struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
        UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
        float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
        Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
        float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, 1);
        float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
        _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
        float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
        float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
        Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
        float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
        float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
        float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
        float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
        float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, 1);
        float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
        _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
        float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
        float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
        float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
        Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
        float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
        float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
        float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
        Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
        float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
        Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
        Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
        float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
        XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
        XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
        YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
        XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Power_float(float A, float B, out float Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
        {
            Out = lerp(A, B, T);
        }
        
        void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
        {
            Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
        }
        
        void Unity_Branch_float(float Predicate, float True, float False, out float Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Lerp_float(float A, float B, float T, out float Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
        {
        };
        
        void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
        {
        float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
        SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        }
        
            // Graph Vertex
            struct VertexDescription
        {
            float3 Position;
            float3 Normal;
            float3 Tangent;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5;
            float3 _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(IN.ObjectSpacePosition, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3);
            description.Position = _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            description.Normal = IN.ObjectSpaceNormal;
            description.Tangent = IN.ObjectSpaceTangent;
            return description;
        }
        
            // Graph Pixel
            struct SurfaceDescription
        {
            float3 BaseColor;
            float3 Emission;
            float Alpha;
            float AlphaClipThreshold;
            float3 BentNormal;
            float Smoothness;
            float Occlusion;
            float3 NormalTS;
            float Metallic;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
            float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
            float _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean = _BaseUsePlanarUV;
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_41db1f1f529b6f8e9c51558bacdba727;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv0 = IN.uv0;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv2 = IN.uv2;
            float4 _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4);
            float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
            float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
            Unity_Multiply_float4_float4(_PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
            UnityTexture2D _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
            float4 _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4 = _DetailTilingOffset;
            float _Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[0];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[1];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[2];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[3];
            float2 _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float);
            float2 _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float);
            float2 _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2, _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2, _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2);
            float4 _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.tex, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.samplerstate, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2) );
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.r;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.g;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.b;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.a;
            float _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float, 2, _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float);
            float _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float;
            Unity_Add_float(_Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float, -1, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float);
            float _Property_605f29777330a58ba88ac032e905433b_Out_0_Float = _DetailAlbedoScale;
            float _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float;
            Unity_Multiply_float_float(_Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Property_605f29777330a58ba88ac032e905433b_Out_0_Float, _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float);
            float _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float;
            Unity_Saturate_float(_Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float, _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float);
            float _Absolute_8acef423205118879e75274a48969d34_Out_1_Float;
            Unity_Absolute_float(_Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float);
            Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185;
            float3 _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3;
            SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3);
            UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
            float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
            float4 _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4;
            Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4);
            float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4);
            float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
            float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
            Unity_Multiply_float4_float4(_TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
            float _Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
            UnityTexture2D _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
            float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
            float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.tex, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.samplerstate, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
            float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
            float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
            float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
            Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, 0, 1, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
            float3 _Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3 = _CoverDirection;
            float2 _Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2 = float2(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float, _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float);
            float2 _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2, float2(2, 2), _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2);
            float2 _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2;
            Unity_Add_float2(_Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2, float2(-1, -1), _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2);
            float _Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float = _DetailNormalScale;
            float2 _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2, (_Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float.xx), _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2);
            float _Split_c4822b8eaff9b185be7c059792345712_R_1_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[0];
            float _Split_c4822b8eaff9b185be7c059792345712_G_2_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[1];
            float _Split_c4822b8eaff9b185be7c059792345712_B_3_Float = 0;
            float _Split_c4822b8eaff9b185be7c059792345712_A_4_Float = 0;
            float _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float;
            Unity_DotProduct_float2(_Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float);
            float _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float;
            Unity_Saturate_float(_DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float, _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float);
            float _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float;
            Unity_OneMinus_float(_Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float, _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float);
            float _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float;
            Unity_SquareRoot_float(_OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            float3 _Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3 = float3(_Split_c4822b8eaff9b185be7c059792345712_R_1_Float, _Split_c4822b8eaff9b185be7c059792345712_G_2_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
            Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_e976eded9c94228090999d383a1bd95b;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceNormal = IN.WorldSpaceNormal;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceTangent = IN.WorldSpaceTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv0 = IN.uv0;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv2 = IN.uv2;
            float4 _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4;
            SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_e976eded9c94228090999d383a1bd95b, _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4);
            float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
            float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
            Unity_NormalStrength_float((_PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
            float3 _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3;
            Unity_NormalBlend_float(_Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3);
            UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
            Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceTangent = IN.WorldSpaceTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4;
            SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4);
            float _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float = _CoverNormalBlendHardness;
            float3 _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3);
            float3 _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3);
            float _Split_64630334a9c0058a848439df6d5afe71_R_1_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[0];
            float _Split_64630334a9c0058a848439df6d5afe71_G_2_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[1];
            float _Split_64630334a9c0058a848439df6d5afe71_B_3_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[2];
            float _Split_64630334a9c0058a848439df6d5afe71_A_4_Float = 0;
            float _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float;
            Unity_Add_float(_Split_64630334a9c0058a848439df6d5afe71_R_1_Float, _Split_64630334a9c0058a848439df6d5afe71_G_2_Float, _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float);
            float _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float;
            Unity_Add_float(_Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float, _Split_64630334a9c0058a848439df6d5afe71_B_3_Float, _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float);
            float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
            float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
            float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
            Unity_Subtract_float(4, _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
            float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
            Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
            float _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float;
            Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float);
            float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
            Unity_Power_float(_Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
            float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
            Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, 0, 2, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
            float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
            Unity_Multiply_float_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
            float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
            Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
            float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
            Unity_Clamp_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, 0, 0.9999, _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
            float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
            float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
            Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, 45, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
            float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
            Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
            float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
            Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
            float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
            Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, 0, 2, _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
            float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
            Unity_Divide_float(1, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
            float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
            float _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float;
            Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float);
            float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
            float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
            Unity_Power_float(_Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
            float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
            float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
            Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
            float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
            float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
            float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
            float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
            float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
            Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
            float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, 1, _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
            float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
            Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, 0, 1, _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
            float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
            float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
            float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
            Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
            float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
            Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
            float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
            Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, -0.5, _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
            float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
            Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, 0, 1, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
            float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
            Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
            float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
            Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, 0, 1, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
            float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
            Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
            float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
            Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
            float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
            float3 _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3;
            {
                float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
                _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
            }
            float3 _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3, _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3);
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[0];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[1];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[2];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_A_4_Float = 0;
            float _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float;
            Unity_Add_float(_Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float, _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float);
            float _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float;
            Unity_Add_float(_Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float, _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float);
            float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
            Unity_Multiply_float_float(_Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
            float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
            float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
            float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
            UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f8c96485552c638b8d38f34567da0e97;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f8c96485552c638b8d38f34567da0e97, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4);
            float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[0];
            float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[1];
            float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[2];
            float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[3];
            float _Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float = _CoverHeightMapMin;
            float _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float = _CoverHeightMapMax;
            float2 _Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2 = float2(_Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float, _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float);
            float _Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float = _CoverHeightMapOffset;
            float2 _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2;
            Unity_Add_float2(_Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2, (_Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float.xx), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2);
            float _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float);
            float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
            float _Split_8259ed9a9318f9848f486475aa132211_R_1_Float = IN.VertexColor[0];
            float _Split_8259ed9a9318f9848f486475aa132211_G_2_Float = IN.VertexColor[1];
            float _Split_8259ed9a9318f9848f486475aa132211_B_3_Float = IN.VertexColor[2];
            float _Split_8259ed9a9318f9848f486475aa132211_A_4_Float = IN.VertexColor[3];
            float _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_8259ed9a9318f9848f486475aa132211_G_2_Float, _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float);
            float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
            Unity_Saturate_float(_Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
            float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
            float _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float;
            Unity_Branch_float(_Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float);
            float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
            Unity_Lerp_float3(_BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
            float4 _Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4 = _WetColor;
            float3 _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3;
            Unity_Multiply_float3_float3((_Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3);
            float _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float;
            Unity_OneMinus_float(_Split_8259ed9a9318f9848f486475aa132211_R_1_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float);
            float3 _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3, (_OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float.xxx), _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3);
            float _Split_d9627fc463ca248fa5ce803295175e7f_R_1_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[0];
            float _Split_d9627fc463ca248fa5ce803295175e7f_G_2_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[1];
            float _Split_d9627fc463ca248fa5ce803295175e7f_B_3_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[2];
            float _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[3];
            float _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float = _AlphaCutoff;
            UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_9d0bc4ed86df988595f613acb6a8509f;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv0 = IN.uv0;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv2 = IN.uv2;
            float4 _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4);
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[0];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[1];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_B_3_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[2];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[3];
            float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
            float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
            Unity_Multiply_float_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
            float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
            float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
            float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
            float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
            float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
            float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
            float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
            float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
            float _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float, 2, _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float);
            float _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float;
            Unity_Add_float(_Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float, -1, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float);
            float _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float = _DetailSmoothnessScale;
            float _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float;
            Unity_Multiply_float_float(_Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float, _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float);
            float _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float;
            Unity_Saturate_float(_Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float, _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float);
            float _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float;
            Unity_Absolute_float(_Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float);
            Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43;
            float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float;
            SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float);
            float _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float;
            Unity_Saturate_float(_BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
            float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
            Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
            float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
            float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
            float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
            float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
            float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
            float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
            float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
            float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
            Unity_Lerp_float3(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
            float _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float = _WetSmoothness;
            float _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float, _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float);
            float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
            float3 _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3);
            float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
            surface.BaseColor = _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            surface.Emission = float3(0, 0, 0);
            surface.Alpha = _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float;
            surface.AlphaClipThreshold = _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float;
            surface.BentNormal = IN.TangentSpaceNormal;
            surface.Smoothness = _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
            surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float;
            return surface;
        }
        
            // --------------------------------------------------
            // Build Graph Inputs
            #ifdef HAVE_VFX_MODIFICATION
            #define VFX_SRP_ATTRIBUTES AttributesMesh
            #define VaryingsMeshType VaryingsMeshToPS
            #define VFX_SRP_VARYINGS VaryingsMeshType
            #define VFX_SRP_SURFACE_INPUTS FragInputs
            #endif
            
        VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.ObjectSpaceNormal =                          input.normalOS;
            output.ObjectSpaceTangent =                         input.tangentOS.xyz;
            output.ObjectSpacePosition =                        input.positionOS;
        
            return output;
        }
        
        VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            // build graph inputs
            VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
            // Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
        
            // evaluate vertex graph
        #ifdef HAVE_VFX_MODIFICATION
            GraphProperties properties;
            ZERO_INITIALIZE(GraphProperties, properties);
        
            // Fetch the vertex graph properties for the particle instance.
            GetElementVertexProperties(element, properties);
        
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
        #else
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
        #endif
            return vertexDescription;
        
        }
        
        AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
        #ifdef USE_CUSTOMINTERP_SUBSTRUCT
            #ifdef TESSELLATION_ON
            , inout VaryingsMeshToDS varyings
            #else
            , inout VaryingsMeshToPS varyings
            #endif
        #endif
        #ifdef HAVE_VFX_MODIFICATION
                , AttributesElement element
        #endif
            )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
        
            // copy graph output to the results
            input.positionOS = vertexDescription.Position;
            input.normalOS = vertexDescription.Normal;
            input.tangentOS.xyz = vertexDescription.Tangent;
        
            
        
            return input;
        }
        
        #if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
        // Return precomputed Velocity in object space
        float3 GetCustomVelocity(AttributesMesh input
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
            return vertexDescription.CustomVelocity;
        }
        #endif
        
        FragInputs BuildFragInputs(VaryingsMeshToPS input)
        {
            FragInputs output;
            ZERO_INITIALIZE(FragInputs, output);
        
            // Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
            // TODO: this is a really poor workaround, but the variable is used in a bunch of places
            // to compute normals which are then passed on elsewhere to compute other values...
            output.tangentToWorld = k_identity3x3;
            output.positionSS = input.positionCS;       // input.positionCS is SV_Position
        
            output.positionRWS =                input.positionRWS;
            output.tangentToWorld =             BuildTangentToWorld(input.tangentWS, input.normalWS);
            output.texCoord0 =                  input.texCoord0;
            output.texCoord2 =                  input.texCoord2;
            output.color =                      input.color;
        
        #ifdef HAVE_VFX_MODIFICATION
            // FragInputs from VFX come from two places: Interpolator or CBuffer.
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
        
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            // splice point to copy custom interpolator fields from varyings to frag inputs
            
        
            return output;
        }
        
        // existing HDRP code uses the combined function to go directly from packed to frag inputs
        FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
        {
            UNITY_SETUP_INSTANCE_ID(input);
        #if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
            unity_InstanceID = input.instanceID;
        #endif
            VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
            return BuildFragInputs(unpacked);
        }
            SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
            output.WorldSpaceNormal =                           normalize(input.tangentToWorld[2].xyz);
            #if defined(SHADER_STAGE_RAY_TRACING)
            #else
            #endif
            output.TangentSpaceNormal =                         float3(0.0f, 0.0f, 1.0f);
            output.WorldSpaceTangent =                          input.tangentToWorld[0].xyz;
            output.WorldSpaceBiTangent =                        input.tangentToWorld[1].xyz;
            output.AbsoluteWorldSpacePosition =                 GetAbsolutePositionWS(input.positionRWS);
        
        #if UNITY_UV_STARTS_AT_TOP
        #else
        #endif
        
        
            output.uv0 =                                        input.texCoord0;
            output.uv2 =                                        input.texCoord2;
            output.VertexColor =                                input.color;
        
            // splice point to copy frag inputs custom interpolator pack into the SDI
            
        
            return output;
        }
        
            // --------------------------------------------------
            // Build Surface Data (Specific Material)
        
        void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
        
        void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
            inout SurfaceData surfaceData)
        {
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
        #ifdef DECAL_NORMAL_BLENDING
            // SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
            // the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
            float3 normalTS;
        
            normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
            fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
        
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        
            GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
        #else
            // normal delivered to master node
            GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                // Both uses and modifies 'surfaceData.normalWS'.
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        #endif
        }
        void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
        {
            ZERO_INITIALIZE(SurfaceData, surfaceData);
        
            // specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
            // however specularOcclusion can come from the graph, so need to be init here so it can be override.
            surfaceData.specularOcclusion = 1.0;
        
            surfaceData.baseColor =                 surfaceDescription.BaseColor;
            surfaceData.perceptualSmoothness =      surfaceDescription.Smoothness;
            surfaceData.ambientOcclusion =          surfaceDescription.Occlusion;
            surfaceData.metallic =                  surfaceDescription.Metallic;
        
            #if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
                if (_EnableSSRefraction)
                {
        
                    surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
                    surfaceDescription.Alpha = 1.0;
                }
                else
                {
                    surfaceData.ior = 1.0;
                    surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                    surfaceData.atDistance = 1.0;
                    surfaceData.transmittanceMask = 0.0;
                    surfaceDescription.Alpha = 1.0;
                }
            #else
                surfaceData.ior = 1.0;
                surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                surfaceData.atDistance = 1.0;
                surfaceData.transmittanceMask = 0.0;
            #endif
        
            // These static material feature allow compile time optimization
            surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
            #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
            #endif
        
            #ifdef _MATERIAL_FEATURE_TRANSMISSION
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
            #endif
        
            #ifdef _MATERIAL_FEATURE_ANISOTROPY
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
        
                // Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
                surfaceData.normalWS = float3(0, 1, 0);
            #endif
        
            #ifdef _MATERIAL_FEATURE_IRIDESCENCE
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
            #endif
        
            #ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
            #endif
        
            #ifdef _MATERIAL_FEATURE_CLEAR_COAT
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
            #endif
        
            #if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
                // Require to have setup baseColor
                // Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
                surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
            #endif
        
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
            ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
        
            surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
        
            surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz);    // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
        
        
            bentNormalWS = surfaceData.normalWS;
        
            surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
        
            #ifdef DEBUG_DISPLAY
                if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
                {
                    // TODO: need to update mip info
                    surfaceData.metallic = 0;
                }
        
                // We need to call ApplyDebugToSurfaceData after filling the surfarcedata and before filling builtinData
                // as it can modify attribute use for static lighting
                ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
            #endif
        
            // By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
            // If user provide bent normal then we process a better term
            #if defined(_SPECULAR_OCCLUSION_CUSTOM)
                // Just use the value passed through via the slot (not active otherwise)
            #elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
                // If we have bent normal and ambient occlusion, process a specular occlusion
                surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
            #elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
                surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
            #endif
        
            #if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
                surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
            #endif
        }
        
            // --------------------------------------------------
            // Get Surface And BuiltinData
        
            void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
            {
                // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
                #if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
                #ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
                LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
                #endif
                #endif
        
                #ifndef SHADER_UNLIT
                #ifdef _DOUBLESIDED_ON
                    float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
                #else
                    float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
                #endif
        
                ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
                #endif // SHADER_UNLIT
        
                SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
        
                #if defined(HAVE_VFX_MODIFICATION)
                GraphProperties properties;
                ZERO_INITIALIZE(GraphProperties, properties);
        
                GetElementPixelProperties(fragInputs, properties);
        
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
                #else
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
                #endif
        
                // Perform alpha test very early to save performance (a killed pixel will not sample textures)
                // TODO: split graph evaluation to grab just alpha dependencies first? tricky..
                #ifdef _ALPHATEST_ON
                    float alphaCutoff = surfaceDescription.AlphaClipThreshold;
                    #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
                    // The TransparentDepthPrepass is also used with SSR transparent.
                    // If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
                    // otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
                    #elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
                    // DepthPostpass always use its own alpha threshold
                    alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
                    #elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
                    // If use shadow threshold isn't enable we don't allow any test
                    #endif
        
                    GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
                #endif
        
                #if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
                ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
                #endif
        
                #ifndef SHADER_UNLIT
                float3 bentNormalWS;
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD1
                    float4 lightmapTexCoord1 = fragInputs.texCoord1;
                #else
                    float4 lightmapTexCoord1 = float4(0,0,0,0);
                #endif
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD2
                    float4 lightmapTexCoord2 = fragInputs.texCoord2;
                #else
                    float4 lightmapTexCoord2 = float4(0,0,0,0);
                #endif
        
                // Builtin Data
                // For back lighting we use the oposite vertex normal
                InitBuiltinData(posInput, surfaceDescription.Alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
        
                #else
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
        
                ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
                builtinData.opacity = surfaceDescription.Alpha;
        
                #if defined(DEBUG_DISPLAY)
                    // Light Layers are currently not used for the Unlit shader (because it is not lit)
                    // But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
                    // display in the light layers visualization mode, therefore we need the renderingLayers
                    builtinData.renderingLayers = GetMeshRenderingLightLayer();
                #endif
        
                #endif // SHADER_UNLIT
        
                #ifdef _ALPHATEST_ON
                    // Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
                    builtinData.alphaClipTreshold = alphaCutoff;
                #endif
        
                // override sampleBakedGI - not used by Unlit
        
                builtinData.emissiveColor = surfaceDescription.Emission;
        
                // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
                // We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
                // This is a limitation of the current MRT approach.
                #ifdef UNITY_VIRTUAL_TEXTURING
                #endif
        
                #if _DEPTHOFFSET_ON
                builtinData.depthOffset = surfaceDescription.DepthOffset;
                #endif
        
                // TODO: We should generate distortion / distortionBlur for non distortion pass
                #if (SHADERPASS == SHADERPASS_DISTORTION)
                builtinData.distortion = surfaceDescription.Distortion;
                builtinData.distortionBlur = surfaceDescription.DistortionBlur;
                #endif
        
                #ifndef SHADER_UNLIT
                // PostInitBuiltinData call ApplyDebugToBuiltinData
                PostInitBuiltinData(V, posInput, surfaceData, builtinData);
                #else
                ApplyDebugToBuiltinData(builtinData);
                #endif
        
                RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
            }
        
            // --------------------------------------------------
            // Main
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDepthOnly.hlsl"
        
            // --------------------------------------------------
            // Visual Effect Vertex Invocations
        
        	#ifdef HAVE_VFX_MODIFICATION
        	#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
        	#endif
        
            ENDHLSL
        }
        Pass
        {
            Name "SceneSelectionPass"
            Tags
            {
                "LightMode" = "SceneSelectionPass"
            }
        
            // Render State
            Cull Off
        
            // Debug
            // <None>
        
            // --------------------------------------------------
            // Pass
        
            HLSLPROGRAM
        
            // Pragmas
            #pragma multi_compile _ DOTS_INSTANCING_ON
        #pragma editor_sync_compilation
        #pragma instancing_options renderinglayer
        #pragma target 4.5
        #pragma vertex Vert
        #pragma fragment Frag
        #pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
        #pragma multi_compile_instancing
        
            // Keywords
            #pragma shader_feature_local _ _ALPHATEST_ON
        #pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local _ _DOUBLESIDED_ON
        #pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
        #pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC
        #pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
        #pragma multi_compile _ LOD_FADE_CROSSFADE
        #pragma shader_feature_local_fragment _ _DISABLE_DECALS
        #pragma shader_feature_local_raytracing _ _DISABLE_DECALS
        #pragma shader_feature_local_fragment _ _DISABLE_SSR
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR
        #pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
            // GraphKeywords: <None>
        
            // For custom interpolators to inject a substruct definition before FragInputs definition,
            // allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
            struct CustomInterpolators
        {
        };
        #define USE_CUSTOMINTERP_SUBSTRUCT
        
        
        
            // TODO: Merge FragInputsVFX substruct with CustomInterpolators.
        	#ifdef HAVE_VFX_MODIFICATION
        	struct FragInputsVFX
            {
                /* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
            };
            #endif
        
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
            // Always include Shader Graph version
            // Always include last to avoid double macros
            #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
        
            // --------------------------------------------------
            // Defines
        
            // Attribute
            #define ATTRIBUTES_NEED_NORMAL
            #define ATTRIBUTES_NEED_TANGENT
            #define ATTRIBUTES_NEED_TEXCOORD0
            #define ATTRIBUTES_NEED_TEXCOORD2
            #define ATTRIBUTES_NEED_COLOR
            #define VARYINGS_NEED_POSITION_WS
            #define VARYINGS_NEED_TANGENT_TO_WORLD
            #define VARYINGS_NEED_TEXCOORD0
            #define VARYINGS_NEED_TEXCOORD2
            #define VARYINGS_NEED_COLOR
        
            #define HAVE_MESH_MODIFICATION
        
            //Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
            //if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
            //Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
            #if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
            #define FRAG_INPUTS_ENABLE_STRIPPING
            #endif
            #define FRAG_INPUTS_USE_TEXCOORD0
            #define FRAG_INPUTS_USE_TEXCOORD2
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
        
        
        
            #define SHADERPASS SHADERPASS_DEPTH_ONLY
        #define RAYTRACING_SHADER_GRAPH_DEFAULT
        #define SCENESELECTIONPASS 1
        
        
            // Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
            // The ShaderGraph don't support correctly migration of this node as it serialize all the node data
            // in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
            // to still allow us to rename the field and keyword of this node without breaking existing code.
            #ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
            #define RAYTRACING_SHADER_GRAPH_HIGH
            #endif
        
            #ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
            #define RAYTRACING_SHADER_GRAPH_LOW
            #endif
            // end
        
            #ifndef SHADER_UNLIT
            // We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
            // VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
            #if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
                #define VARYINGS_NEED_CULLFACE
            #endif
            #endif
        
            // Specific Material Define
        #define _AMBIENT_OCCLUSION 1
        #define _SPECULAR_OCCLUSION_FROM_AO 1
        #define _ENERGY_CONSERVING_SPECULAR 1
        
        // If we use subsurface scattering, enable output split lighting (for forward pass)
        #if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
            #define OUTPUT_SPLIT_LIGHTING
        #endif
        
        // This shader support recursive rendering for raytracing
        #define HAVE_RECURSIVE_RENDERING
        
        // In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
        #if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
            #undef  _REFRACTION_PLANE
            #undef  _REFRACTION_SPHERE
            #define _REFRACTION_THIN
        #endif
            // Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
        
            // To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
            // we should have a code like this:
            // if !defined(_DISABLE_SSR_TRANSPARENT)
            // pragma multi_compile _ WRITE_NORMAL_BUFFER
            // endif
            // i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
            // it based on if SSR transparent in frame settings and not (and stripper can strip it).
            // this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
            // so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
            // Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
            #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
            #if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
                #define WRITE_NORMAL_BUFFER
            #endif
            #endif
        
            #ifndef DEBUG_DISPLAY
                // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
                // Don't do it with debug display mode as it is possible there is no depth prepass in this case
                #if !defined(_SURFACE_TYPE_TRANSPARENT)
                    #if SHADERPASS == SHADERPASS_FORWARD
                    #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
                    #elif SHADERPASS == SHADERPASS_GBUFFER
                    #define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
                    #endif
                #endif
            #endif
        
            // Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
            #if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
                #define _DEFERRED_CAPABLE_MATERIAL
            #endif
        
            // Translate transparent motion vector define
            #if defined(_TRANSPARENT_WRITES_MOTION_VEC) && defined(_SURFACE_TYPE_TRANSPARENT)
                #define _WRITE_TRANSPARENT_MOTION_VECTOR
            #endif
        
            // -- Graph Properties
            CBUFFER_START(UnityPerMaterial)
        float _AlphaCutoff;
        float4 _BaseColor;
        float4 _BaseColorMap_TexelSize;
        float _BaseUsePlanarUV;
        float4 _BaseTilingOffset;
        float4 _BaseNormalMap_TexelSize;
        float _BaseNormalScale;
        float4 _BaseMaskMap_TexelSize;
        float _BaseMetallic;
        float _BaseAORemapMin;
        float _BaseAORemapMax;
        float _BaseSmoothnessRemapMin;
        float _BaseSmoothnessRemapMax;
        float _USEDYNAMICCOVERTSTATICMASKF;
        float4 _CoverMaskA_TexelSize;
        float _CoverMaskPower;
        float _Cover_Amount;
        float _Cover_Amount_Grow_Speed;
        float3 _CoverDirection;
        float _Cover_Max_Angle;
        float _Cover_Min_Height;
        float _Cover_Min_Height_Blending;
        float4 _CoverBaseColor;
        float4 _CoverBaseColorMap_TexelSize;
        float4 _CoverTilingOffset;
        float _CoverTriplanarThreshold;
        float4 _CoverNormalMap_TexelSize;
        float _CoverNormalScale;
        float _CoverNormalBlendHardness;
        float _CoverHardness;
        float _CoverHeightMapMin;
        float _CoverHeightMapMax;
        float _CoverHeightMapOffset;
        float4 _CoverMaskMap_TexelSize;
        float _CoverMetallic;
        float _CoverAORemapMin;
        float _CoverAORemapMax;
        float _CoverSmoothnessRemapMin;
        float _CoverSmoothnessRemapMax;
        float4 _DetailMap_TexelSize;
        float4 _DetailTilingOffset;
        float _DetailAlbedoScale;
        float _DetailNormalScale;
        float _DetailSmoothnessScale;
        float4 _WetColor;
        float _WetSmoothness;
        float4 _EmissionColor;
        float _UseShadowThreshold;
        float4 _DoubleSidedConstants;
        float _BlendMode;
        float _EnableBlendModePreserveSpecularLighting;
        float _RayTracing;
        float _RefractionModel;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        SAMPLER(SamplerState_Linear_Repeat_Aniso8);
        TEXTURE2D(_BaseColorMap);
        SAMPLER(sampler_BaseColorMap);
        TEXTURE2D(_BaseNormalMap);
        SAMPLER(sampler_BaseNormalMap);
        TEXTURE2D(_BaseMaskMap);
        SAMPLER(sampler_BaseMaskMap);
        TEXTURE2D(_CoverMaskA);
        SAMPLER(sampler_CoverMaskA);
        TEXTURE2D(_CoverBaseColorMap);
        SAMPLER(sampler_CoverBaseColorMap);
        TEXTURE2D(_CoverNormalMap);
        SAMPLER(sampler_CoverNormalMap);
        TEXTURE2D(_CoverMaskMap);
        SAMPLER(sampler_CoverMaskMap);
        TEXTURE2D(_DetailMap);
        SAMPLER(sampler_DetailMap);
        
            // -- Property used by ScenePickingPass
            #ifdef SCENEPICKINGPASS
            float4 _SelectionID;
            #endif
        
            // -- Properties used by SceneSelectionPass
            #ifdef SCENESELECTIONPASS
            int _ObjectId;
            int _PassValue;
            #endif
        
            // Includes
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
        	#include "./NM_Object_VSPro_Indirect.cginc"
        
            // --------------------------------------------------
            // Structs and Packing
        
            struct AttributesMesh
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv2 : TEXCOORD2;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct VaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float3 positionRWS;
             float3 normalWS;
             float4 tangentWS;
             float4 texCoord0;
             float4 texCoord2;
             float4 color;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        struct VertexDescriptionInputs
        {
             float3 ObjectSpaceNormal;
             float3 ObjectSpaceTangent;
             float3 ObjectSpacePosition;
        };
        struct SurfaceDescriptionInputs
        {
             float3 WorldSpaceNormal;
             float3 TangentSpaceNormal;
             float3 WorldSpaceTangent;
             float3 WorldSpaceBiTangent;
             float3 AbsoluteWorldSpacePosition;
             float4 uv0;
             float4 uv2;
             float4 VertexColor;
        };
        struct PackedVaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float4 tangentWS : INTERP0;
             float4 texCoord0 : INTERP1;
             float4 texCoord2 : INTERP2;
             float4 color : INTERP3;
             float3 positionRWS : INTERP4;
             float3 normalWS : INTERP5;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        
            PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
        {
            PackedVaryingsMeshToPS output;
            ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
            output.positionCS = input.positionCS;
            output.tangentWS.xyzw = input.tangentWS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord2.xyzw = input.texCoord2;
            output.color.xyzw = input.color;
            output.positionRWS.xyz = input.positionRWS;
            output.normalWS.xyz = input.normalWS;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
        {
            VaryingsMeshToPS output;
            output.positionCS = input.positionCS;
            output.tangentWS = input.tangentWS.xyzw;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord2 = input.texCoord2.xyzw;
            output.color = input.color.xyzw;
            output.positionRWS = input.positionRWS.xyz;
            output.normalWS = input.normalWS.xyz;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        
            // --------------------------------------------------
            // Graph
        
        
            // Graph Functions
            
        void AddPragma_float(float3 A, out float3 Out){
        #pragma instancing_options procedural:setupVSPro
        Out = A;
        }
        
        struct Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float
        {
        };
        
        void SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(float3 Vector3_314C8600, Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float IN, out float3 ObjectSpacePosition_1)
        {
        float3 _Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3 = Vector3_314C8600;
        float3 _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3;
        InjectSetup_float(_Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3, _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3);
        float3 _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        AddPragma_float(_InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3, _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3);
        ObjectSpacePosition_1 = _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        }
        
        void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
        {
            RGBA = float4(R, G, B, A);
            RGB = float3(R, G, B);
            RG = float2(R, G);
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
        Out = A * B;
        }
        
        void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
        {
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
        float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
        Unity_Divide_float(1, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
        float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
        float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
        Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
        float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
        float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
        float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
        float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
        Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
        UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        }
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_Absolute_float(float In, out float Out)
        {
            Out = abs(In);
        }
        
        void Unity_SquareRoot_float4(float4 In, out float4 Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Sign_float(float In, out float Out)
        {
            Out = sign(In);
        }
        
        void Unity_Ceiling_float(float In, out float Out)
        {
            Out = ceil(In);
        }
        
        void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
        {
        };
        
        void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
        {
        float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
        float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
        Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
        Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
        float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
        Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
        float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
        OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
        }
        
        void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A / B;
        }
        
        void Unity_Sign_float3(float3 In, out float3 Out)
        {
            Out = sign(In);
        }
        
        void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
        {
        Out = A * B;
        }
        
        void Unity_Absolute_float3(float3 In, out float3 Out)
        {
            Out = abs(In);
        }
        
        void Unity_Power_float3(float3 A, float3 B, out float3 Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
        Out = A * B;
        }
        
        void Unity_Add_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A + B;
        }
        
        struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
        {
        float3 WorldSpaceNormal;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
        float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
        float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
        float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
        float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
        float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, 1);
        float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
        UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
        Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
        float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, 1);
        float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, 1);
        float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
        float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
        Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
        float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
        Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
        XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
        XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_Add_float2(float2 A, float2 B, out float2 Out)
        {
            Out = A + B;
        }
        
        void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
        {
            Out = dot(A, B);
        }
        
        void Unity_OneMinus_float(float In, out float Out)
        {
            Out = 1 - In;
        }
        
        void Unity_SquareRoot_float(float In, out float Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Normalize_float3(float3 In, out float3 Out)
        {
            Out = normalize(In);
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
        {
        float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
        float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
        float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
        float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
        float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
        float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
        Unity_Divide_float(1, _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
        float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
        float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
        Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
        float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
        float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
        float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
        float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
        Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
        UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
        float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangent(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
        float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
        Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
        XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
        }
        
        void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
        {
            Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
        }
        
        void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
        {
            Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A / B;
        }
        
        struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
        UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
        float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
        Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
        float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, 1);
        float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
        _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
        float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
        float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
        Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
        float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
        float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
        float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
        float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
        float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, 1);
        float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
        _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
        float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
        float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
        float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
        Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
        float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
        float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
        float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
        Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
        float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
        Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
        Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
        float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
        XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
        XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
        YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
        XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Power_float(float A, float B, out float Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
        {
            Out = lerp(A, B, T);
        }
        
        void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
        {
            Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
        }
        
        void Unity_Branch_float(float Predicate, float True, float False, out float Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Lerp_float(float A, float B, float T, out float Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
        {
        };
        
        void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
        {
        float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
        SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        }
        
            // Graph Vertex
            struct VertexDescription
        {
            float3 Position;
            float3 Normal;
            float3 Tangent;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5;
            float3 _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(IN.ObjectSpacePosition, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3);
            description.Position = _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            description.Normal = IN.ObjectSpaceNormal;
            description.Tangent = IN.ObjectSpaceTangent;
            return description;
        }
        
            // Graph Pixel
            struct SurfaceDescription
        {
            float3 BaseColor;
            float3 Emission;
            float Alpha;
            float AlphaClipThreshold;
            float3 BentNormal;
            float Smoothness;
            float Occlusion;
            float3 NormalTS;
            float Metallic;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
            float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
            float _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean = _BaseUsePlanarUV;
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_41db1f1f529b6f8e9c51558bacdba727;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv0 = IN.uv0;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv2 = IN.uv2;
            float4 _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4);
            float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
            float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
            Unity_Multiply_float4_float4(_PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
            UnityTexture2D _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
            float4 _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4 = _DetailTilingOffset;
            float _Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[0];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[1];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[2];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[3];
            float2 _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float);
            float2 _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float);
            float2 _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2, _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2, _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2);
            float4 _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.tex, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.samplerstate, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2) );
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.r;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.g;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.b;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.a;
            float _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float, 2, _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float);
            float _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float;
            Unity_Add_float(_Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float, -1, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float);
            float _Property_605f29777330a58ba88ac032e905433b_Out_0_Float = _DetailAlbedoScale;
            float _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float;
            Unity_Multiply_float_float(_Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Property_605f29777330a58ba88ac032e905433b_Out_0_Float, _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float);
            float _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float;
            Unity_Saturate_float(_Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float, _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float);
            float _Absolute_8acef423205118879e75274a48969d34_Out_1_Float;
            Unity_Absolute_float(_Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float);
            Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185;
            float3 _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3;
            SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3);
            UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
            float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
            float4 _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4;
            Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4);
            float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4);
            float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
            float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
            Unity_Multiply_float4_float4(_TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
            float _Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
            UnityTexture2D _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
            float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
            float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.tex, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.samplerstate, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
            float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
            float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
            float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
            Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, 0, 1, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
            float3 _Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3 = _CoverDirection;
            float2 _Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2 = float2(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float, _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float);
            float2 _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2, float2(2, 2), _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2);
            float2 _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2;
            Unity_Add_float2(_Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2, float2(-1, -1), _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2);
            float _Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float = _DetailNormalScale;
            float2 _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2, (_Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float.xx), _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2);
            float _Split_c4822b8eaff9b185be7c059792345712_R_1_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[0];
            float _Split_c4822b8eaff9b185be7c059792345712_G_2_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[1];
            float _Split_c4822b8eaff9b185be7c059792345712_B_3_Float = 0;
            float _Split_c4822b8eaff9b185be7c059792345712_A_4_Float = 0;
            float _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float;
            Unity_DotProduct_float2(_Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float);
            float _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float;
            Unity_Saturate_float(_DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float, _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float);
            float _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float;
            Unity_OneMinus_float(_Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float, _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float);
            float _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float;
            Unity_SquareRoot_float(_OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            float3 _Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3 = float3(_Split_c4822b8eaff9b185be7c059792345712_R_1_Float, _Split_c4822b8eaff9b185be7c059792345712_G_2_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
            Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_e976eded9c94228090999d383a1bd95b;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceNormal = IN.WorldSpaceNormal;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceTangent = IN.WorldSpaceTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv0 = IN.uv0;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv2 = IN.uv2;
            float4 _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4;
            SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_e976eded9c94228090999d383a1bd95b, _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4);
            float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
            float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
            Unity_NormalStrength_float((_PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
            float3 _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3;
            Unity_NormalBlend_float(_Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3);
            UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
            Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceTangent = IN.WorldSpaceTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4;
            SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4);
            float _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float = _CoverNormalBlendHardness;
            float3 _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3);
            float3 _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3);
            float _Split_64630334a9c0058a848439df6d5afe71_R_1_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[0];
            float _Split_64630334a9c0058a848439df6d5afe71_G_2_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[1];
            float _Split_64630334a9c0058a848439df6d5afe71_B_3_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[2];
            float _Split_64630334a9c0058a848439df6d5afe71_A_4_Float = 0;
            float _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float;
            Unity_Add_float(_Split_64630334a9c0058a848439df6d5afe71_R_1_Float, _Split_64630334a9c0058a848439df6d5afe71_G_2_Float, _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float);
            float _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float;
            Unity_Add_float(_Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float, _Split_64630334a9c0058a848439df6d5afe71_B_3_Float, _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float);
            float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
            float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
            float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
            Unity_Subtract_float(4, _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
            float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
            Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
            float _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float;
            Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float);
            float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
            Unity_Power_float(_Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
            float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
            Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, 0, 2, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
            float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
            Unity_Multiply_float_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
            float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
            Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
            float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
            Unity_Clamp_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, 0, 0.9999, _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
            float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
            float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
            Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, 45, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
            float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
            Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
            float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
            Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
            float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
            Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, 0, 2, _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
            float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
            Unity_Divide_float(1, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
            float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
            float _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float;
            Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float);
            float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
            float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
            Unity_Power_float(_Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
            float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
            float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
            Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
            float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
            float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
            float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
            float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
            float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
            Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
            float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, 1, _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
            float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
            Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, 0, 1, _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
            float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
            float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
            float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
            Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
            float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
            Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
            float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
            Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, -0.5, _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
            float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
            Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, 0, 1, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
            float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
            Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
            float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
            Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, 0, 1, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
            float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
            Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
            float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
            Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
            float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
            float3 _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3;
            {
                float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
                _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
            }
            float3 _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3, _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3);
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[0];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[1];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[2];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_A_4_Float = 0;
            float _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float;
            Unity_Add_float(_Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float, _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float);
            float _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float;
            Unity_Add_float(_Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float, _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float);
            float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
            Unity_Multiply_float_float(_Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
            float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
            float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
            float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
            UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f8c96485552c638b8d38f34567da0e97;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f8c96485552c638b8d38f34567da0e97, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4);
            float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[0];
            float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[1];
            float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[2];
            float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[3];
            float _Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float = _CoverHeightMapMin;
            float _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float = _CoverHeightMapMax;
            float2 _Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2 = float2(_Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float, _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float);
            float _Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float = _CoverHeightMapOffset;
            float2 _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2;
            Unity_Add_float2(_Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2, (_Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float.xx), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2);
            float _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float);
            float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
            float _Split_8259ed9a9318f9848f486475aa132211_R_1_Float = IN.VertexColor[0];
            float _Split_8259ed9a9318f9848f486475aa132211_G_2_Float = IN.VertexColor[1];
            float _Split_8259ed9a9318f9848f486475aa132211_B_3_Float = IN.VertexColor[2];
            float _Split_8259ed9a9318f9848f486475aa132211_A_4_Float = IN.VertexColor[3];
            float _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_8259ed9a9318f9848f486475aa132211_G_2_Float, _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float);
            float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
            Unity_Saturate_float(_Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
            float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
            float _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float;
            Unity_Branch_float(_Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float);
            float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
            Unity_Lerp_float3(_BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
            float4 _Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4 = _WetColor;
            float3 _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3;
            Unity_Multiply_float3_float3((_Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3);
            float _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float;
            Unity_OneMinus_float(_Split_8259ed9a9318f9848f486475aa132211_R_1_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float);
            float3 _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3, (_OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float.xxx), _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3);
            float _Split_d9627fc463ca248fa5ce803295175e7f_R_1_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[0];
            float _Split_d9627fc463ca248fa5ce803295175e7f_G_2_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[1];
            float _Split_d9627fc463ca248fa5ce803295175e7f_B_3_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[2];
            float _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[3];
            float _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float = _AlphaCutoff;
            UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_9d0bc4ed86df988595f613acb6a8509f;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv0 = IN.uv0;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv2 = IN.uv2;
            float4 _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4);
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[0];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[1];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_B_3_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[2];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[3];
            float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
            float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
            Unity_Multiply_float_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
            float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
            float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
            float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
            float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
            float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
            float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
            float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
            float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
            float _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float, 2, _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float);
            float _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float;
            Unity_Add_float(_Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float, -1, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float);
            float _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float = _DetailSmoothnessScale;
            float _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float;
            Unity_Multiply_float_float(_Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float, _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float);
            float _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float;
            Unity_Saturate_float(_Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float, _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float);
            float _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float;
            Unity_Absolute_float(_Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float);
            Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43;
            float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float;
            SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float);
            float _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float;
            Unity_Saturate_float(_BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
            float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
            Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
            float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
            float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
            float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
            float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
            float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
            float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
            float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
            float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
            Unity_Lerp_float3(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
            float _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float = _WetSmoothness;
            float _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float, _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float);
            float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
            float3 _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3);
            float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
            surface.BaseColor = _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            surface.Emission = float3(0, 0, 0);
            surface.Alpha = _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float;
            surface.AlphaClipThreshold = _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float;
            surface.BentNormal = IN.TangentSpaceNormal;
            surface.Smoothness = _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
            surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float;
            return surface;
        }
        
            // --------------------------------------------------
            // Build Graph Inputs
            #ifdef HAVE_VFX_MODIFICATION
            #define VFX_SRP_ATTRIBUTES AttributesMesh
            #define VaryingsMeshType VaryingsMeshToPS
            #define VFX_SRP_VARYINGS VaryingsMeshType
            #define VFX_SRP_SURFACE_INPUTS FragInputs
            #endif
            
        VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.ObjectSpaceNormal =                          input.normalOS;
            output.ObjectSpaceTangent =                         input.tangentOS.xyz;
            output.ObjectSpacePosition =                        input.positionOS;
        
            return output;
        }
        
        VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            // build graph inputs
            VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
            // Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
        
            // evaluate vertex graph
        #ifdef HAVE_VFX_MODIFICATION
            GraphProperties properties;
            ZERO_INITIALIZE(GraphProperties, properties);
        
            // Fetch the vertex graph properties for the particle instance.
            GetElementVertexProperties(element, properties);
        
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
        #else
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
        #endif
            return vertexDescription;
        
        }
        
        AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
        #ifdef USE_CUSTOMINTERP_SUBSTRUCT
            #ifdef TESSELLATION_ON
            , inout VaryingsMeshToDS varyings
            #else
            , inout VaryingsMeshToPS varyings
            #endif
        #endif
        #ifdef HAVE_VFX_MODIFICATION
                , AttributesElement element
        #endif
            )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
        
            // copy graph output to the results
            input.positionOS = vertexDescription.Position;
            input.normalOS = vertexDescription.Normal;
            input.tangentOS.xyz = vertexDescription.Tangent;
        
            
        
            return input;
        }
        
        #if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
        // Return precomputed Velocity in object space
        float3 GetCustomVelocity(AttributesMesh input
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
            return vertexDescription.CustomVelocity;
        }
        #endif
        
        FragInputs BuildFragInputs(VaryingsMeshToPS input)
        {
            FragInputs output;
            ZERO_INITIALIZE(FragInputs, output);
        
            // Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
            // TODO: this is a really poor workaround, but the variable is used in a bunch of places
            // to compute normals which are then passed on elsewhere to compute other values...
            output.tangentToWorld = k_identity3x3;
            output.positionSS = input.positionCS;       // input.positionCS is SV_Position
        
            output.positionRWS =                input.positionRWS;
            output.tangentToWorld =             BuildTangentToWorld(input.tangentWS, input.normalWS);
            output.texCoord0 =                  input.texCoord0;
            output.texCoord2 =                  input.texCoord2;
            output.color =                      input.color;
        
        #ifdef HAVE_VFX_MODIFICATION
            // FragInputs from VFX come from two places: Interpolator or CBuffer.
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
        
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            // splice point to copy custom interpolator fields from varyings to frag inputs
            
        
            return output;
        }
        
        // existing HDRP code uses the combined function to go directly from packed to frag inputs
        FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
        {
            UNITY_SETUP_INSTANCE_ID(input);
        #if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
            unity_InstanceID = input.instanceID;
        #endif
            VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
            return BuildFragInputs(unpacked);
        }
            SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
            output.WorldSpaceNormal =                           normalize(input.tangentToWorld[2].xyz);
            #if defined(SHADER_STAGE_RAY_TRACING)
            #else
            #endif
            output.TangentSpaceNormal =                         float3(0.0f, 0.0f, 1.0f);
            output.WorldSpaceTangent =                          input.tangentToWorld[0].xyz;
            output.WorldSpaceBiTangent =                        input.tangentToWorld[1].xyz;
            output.AbsoluteWorldSpacePosition =                 GetAbsolutePositionWS(input.positionRWS);
        
        #if UNITY_UV_STARTS_AT_TOP
        #else
        #endif
        
        
            output.uv0 =                                        input.texCoord0;
            output.uv2 =                                        input.texCoord2;
            output.VertexColor =                                input.color;
        
            // splice point to copy frag inputs custom interpolator pack into the SDI
            
        
            return output;
        }
        
            // --------------------------------------------------
            // Build Surface Data (Specific Material)
        
        void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
        
        void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
            inout SurfaceData surfaceData)
        {
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
        #ifdef DECAL_NORMAL_BLENDING
            // SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
            // the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
            float3 normalTS;
        
            normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
            fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
        
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        
            GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
        #else
            // normal delivered to master node
            GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                // Both uses and modifies 'surfaceData.normalWS'.
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        #endif
        }
        void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
        {
            ZERO_INITIALIZE(SurfaceData, surfaceData);
        
            // specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
            // however specularOcclusion can come from the graph, so need to be init here so it can be override.
            surfaceData.specularOcclusion = 1.0;
        
            surfaceData.baseColor =                 surfaceDescription.BaseColor;
            surfaceData.perceptualSmoothness =      surfaceDescription.Smoothness;
            surfaceData.ambientOcclusion =          surfaceDescription.Occlusion;
            surfaceData.metallic =                  surfaceDescription.Metallic;
        
            #if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
                if (_EnableSSRefraction)
                {
        
                    surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
                    surfaceDescription.Alpha = 1.0;
                }
                else
                {
                    surfaceData.ior = 1.0;
                    surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                    surfaceData.atDistance = 1.0;
                    surfaceData.transmittanceMask = 0.0;
                    surfaceDescription.Alpha = 1.0;
                }
            #else
                surfaceData.ior = 1.0;
                surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                surfaceData.atDistance = 1.0;
                surfaceData.transmittanceMask = 0.0;
            #endif
        
            // These static material feature allow compile time optimization
            surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
            #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
            #endif
        
            #ifdef _MATERIAL_FEATURE_TRANSMISSION
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
            #endif
        
            #ifdef _MATERIAL_FEATURE_ANISOTROPY
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
        
                // Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
                surfaceData.normalWS = float3(0, 1, 0);
            #endif
        
            #ifdef _MATERIAL_FEATURE_IRIDESCENCE
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
            #endif
        
            #ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
            #endif
        
            #ifdef _MATERIAL_FEATURE_CLEAR_COAT
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
            #endif
        
            #if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
                // Require to have setup baseColor
                // Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
                surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
            #endif
        
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
            ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
        
            surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
        
            surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz);    // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
        
        
            bentNormalWS = surfaceData.normalWS;
        
            surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
        
            #ifdef DEBUG_DISPLAY
                if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
                {
                    // TODO: need to update mip info
                    surfaceData.metallic = 0;
                }
        
                // We need to call ApplyDebugToSurfaceData after filling the surfarcedata and before filling builtinData
                // as it can modify attribute use for static lighting
                ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
            #endif
        
            // By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
            // If user provide bent normal then we process a better term
            #if defined(_SPECULAR_OCCLUSION_CUSTOM)
                // Just use the value passed through via the slot (not active otherwise)
            #elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
                // If we have bent normal and ambient occlusion, process a specular occlusion
                surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
            #elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
                surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
            #endif
        
            #if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
                surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
            #endif
        }
        
            // --------------------------------------------------
            // Get Surface And BuiltinData
        
            void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
            {
                // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
                #if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
                #ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
                LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
                #endif
                #endif
        
                #ifndef SHADER_UNLIT
                #ifdef _DOUBLESIDED_ON
                    float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
                #else
                    float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
                #endif
        
                ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
                #endif // SHADER_UNLIT
        
                SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
        
                #if defined(HAVE_VFX_MODIFICATION)
                GraphProperties properties;
                ZERO_INITIALIZE(GraphProperties, properties);
        
                GetElementPixelProperties(fragInputs, properties);
        
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
                #else
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
                #endif
        
                // Perform alpha test very early to save performance (a killed pixel will not sample textures)
                // TODO: split graph evaluation to grab just alpha dependencies first? tricky..
                #ifdef _ALPHATEST_ON
                    float alphaCutoff = surfaceDescription.AlphaClipThreshold;
                    #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
                    // The TransparentDepthPrepass is also used with SSR transparent.
                    // If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
                    // otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
                    #elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
                    // DepthPostpass always use its own alpha threshold
                    alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
                    #elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
                    // If use shadow threshold isn't enable we don't allow any test
                    #endif
        
                    GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
                #endif
        
                #if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
                ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
                #endif
        
                #ifndef SHADER_UNLIT
                float3 bentNormalWS;
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD1
                    float4 lightmapTexCoord1 = fragInputs.texCoord1;
                #else
                    float4 lightmapTexCoord1 = float4(0,0,0,0);
                #endif
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD2
                    float4 lightmapTexCoord2 = fragInputs.texCoord2;
                #else
                    float4 lightmapTexCoord2 = float4(0,0,0,0);
                #endif
        
                // Builtin Data
                // For back lighting we use the oposite vertex normal
                InitBuiltinData(posInput, surfaceDescription.Alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
        
                #else
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
        
                ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
                builtinData.opacity = surfaceDescription.Alpha;
        
                #if defined(DEBUG_DISPLAY)
                    // Light Layers are currently not used for the Unlit shader (because it is not lit)
                    // But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
                    // display in the light layers visualization mode, therefore we need the renderingLayers
                    builtinData.renderingLayers = GetMeshRenderingLightLayer();
                #endif
        
                #endif // SHADER_UNLIT
        
                #ifdef _ALPHATEST_ON
                    // Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
                    builtinData.alphaClipTreshold = alphaCutoff;
                #endif
        
                // override sampleBakedGI - not used by Unlit
        
                builtinData.emissiveColor = surfaceDescription.Emission;
        
                // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
                // We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
                // This is a limitation of the current MRT approach.
                #ifdef UNITY_VIRTUAL_TEXTURING
                #endif
        
                #if _DEPTHOFFSET_ON
                builtinData.depthOffset = surfaceDescription.DepthOffset;
                #endif
        
                // TODO: We should generate distortion / distortionBlur for non distortion pass
                #if (SHADERPASS == SHADERPASS_DISTORTION)
                builtinData.distortion = surfaceDescription.Distortion;
                builtinData.distortionBlur = surfaceDescription.DistortionBlur;
                #endif
        
                #ifndef SHADER_UNLIT
                // PostInitBuiltinData call ApplyDebugToBuiltinData
                PostInitBuiltinData(V, posInput, surfaceData, builtinData);
                #else
                ApplyDebugToBuiltinData(builtinData);
                #endif
        
                RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
            }
        
            // --------------------------------------------------
            // Main
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDepthOnly.hlsl"
        
            // --------------------------------------------------
            // Visual Effect Vertex Invocations
        
        	#ifdef HAVE_VFX_MODIFICATION
        	#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
        	#endif
        
            ENDHLSL
        }
        Pass
        {
            Name "MotionVectors"
            Tags
            {
                "LightMode" = "MotionVectors"
            }
        
            // Render State
            Cull [_CullMode]
        ZWrite On
        Stencil
        {
        WriteMask [_StencilWriteMaskMV]
        Ref [_StencilRefMV]
        CompFront Always
        PassFront Replace
        CompBack Always
        PassBack Replace
        }
        AlphaToMask [_AlphaCutoffEnable]
        
            // Debug
            // <None>
        
            // --------------------------------------------------
            // Pass
        
            HLSLPROGRAM
        
            // Pragmas
            #pragma multi_compile _ DOTS_INSTANCING_ON
        #pragma instancing_options renderinglayer
        #pragma target 4.5
        #pragma vertex Vert
        #pragma fragment Frag
        #pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
        #pragma multi_compile_instancing
        
            // Keywords
            #pragma shader_feature_local _ _ALPHATEST_ON
        #pragma multi_compile_fragment _ WRITE_MSAA_DEPTH
        #pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local _ _DOUBLESIDED_ON
        #pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
        #pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC
        #pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
        #pragma multi_compile _ LOD_FADE_CROSSFADE
        #pragma multi_compile _ WRITE_NORMAL_BUFFER
        #pragma shader_feature_local_fragment _ _DISABLE_DECALS
        #pragma shader_feature_local_raytracing _ _DISABLE_DECALS
        #pragma shader_feature_local_fragment _ _DISABLE_SSR
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR
        #pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
        #pragma multi_compile _ WRITE_DECAL_BUFFER
        #pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
            // GraphKeywords: <None>
        
            // For custom interpolators to inject a substruct definition before FragInputs definition,
            // allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
            struct CustomInterpolators
        {
        };
        #define USE_CUSTOMINTERP_SUBSTRUCT
        
        
        
            // TODO: Merge FragInputsVFX substruct with CustomInterpolators.
        	#ifdef HAVE_VFX_MODIFICATION
        	struct FragInputsVFX
            {
                /* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
            };
            #endif
        
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
            // Always include Shader Graph version
            // Always include last to avoid double macros
            #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
        
            // --------------------------------------------------
            // Defines
        
            // Attribute
            #define ATTRIBUTES_NEED_NORMAL
            #define ATTRIBUTES_NEED_TANGENT
            #define ATTRIBUTES_NEED_TEXCOORD0
            #define ATTRIBUTES_NEED_TEXCOORD2
            #define ATTRIBUTES_NEED_COLOR
            #define VARYINGS_NEED_POSITION_WS
            #define VARYINGS_NEED_TANGENT_TO_WORLD
            #define VARYINGS_NEED_TEXCOORD0
            #define VARYINGS_NEED_TEXCOORD2
            #define VARYINGS_NEED_COLOR
        
            #define HAVE_MESH_MODIFICATION
        
            //Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
            //if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
            //Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
            #if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
            #define FRAG_INPUTS_ENABLE_STRIPPING
            #endif
            #define FRAG_INPUTS_USE_TEXCOORD0
            #define FRAG_INPUTS_USE_TEXCOORD2
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
        
        
        
            #define SHADERPASS SHADERPASS_MOTION_VECTORS
        
        
            // Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
            // The ShaderGraph don't support correctly migration of this node as it serialize all the node data
            // in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
            // to still allow us to rename the field and keyword of this node without breaking existing code.
            #ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
            #define RAYTRACING_SHADER_GRAPH_HIGH
            #endif
        
            #ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
            #define RAYTRACING_SHADER_GRAPH_LOW
            #endif
            // end
        
            #ifndef SHADER_UNLIT
            // We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
            // VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
            #if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
                #define VARYINGS_NEED_CULLFACE
            #endif
            #endif
        
            // Specific Material Define
        #define _AMBIENT_OCCLUSION 1
        #define _SPECULAR_OCCLUSION_FROM_AO 1
        #define _ENERGY_CONSERVING_SPECULAR 1
        
        // If we use subsurface scattering, enable output split lighting (for forward pass)
        #if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
            #define OUTPUT_SPLIT_LIGHTING
        #endif
        
        // This shader support recursive rendering for raytracing
        #define HAVE_RECURSIVE_RENDERING
        
        // In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
        #if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
            #undef  _REFRACTION_PLANE
            #undef  _REFRACTION_SPHERE
            #define _REFRACTION_THIN
        #endif
            // Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
        
            // To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
            // we should have a code like this:
            // if !defined(_DISABLE_SSR_TRANSPARENT)
            // pragma multi_compile _ WRITE_NORMAL_BUFFER
            // endif
            // i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
            // it based on if SSR transparent in frame settings and not (and stripper can strip it).
            // this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
            // so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
            // Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
            #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
            #if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
                #define WRITE_NORMAL_BUFFER
            #endif
            #endif
        
            #ifndef DEBUG_DISPLAY
                // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
                // Don't do it with debug display mode as it is possible there is no depth prepass in this case
                #if !defined(_SURFACE_TYPE_TRANSPARENT)
                    #if SHADERPASS == SHADERPASS_FORWARD
                    #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
                    #elif SHADERPASS == SHADERPASS_GBUFFER
                    #define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
                    #endif
                #endif
            #endif
        
            // Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
            #if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
                #define _DEFERRED_CAPABLE_MATERIAL
            #endif
        
            // Translate transparent motion vector define
            #if defined(_TRANSPARENT_WRITES_MOTION_VEC) && defined(_SURFACE_TYPE_TRANSPARENT)
                #define _WRITE_TRANSPARENT_MOTION_VECTOR
            #endif
        
            // -- Graph Properties
            CBUFFER_START(UnityPerMaterial)
        float _AlphaCutoff;
        float4 _BaseColor;
        float4 _BaseColorMap_TexelSize;
        float _BaseUsePlanarUV;
        float4 _BaseTilingOffset;
        float4 _BaseNormalMap_TexelSize;
        float _BaseNormalScale;
        float4 _BaseMaskMap_TexelSize;
        float _BaseMetallic;
        float _BaseAORemapMin;
        float _BaseAORemapMax;
        float _BaseSmoothnessRemapMin;
        float _BaseSmoothnessRemapMax;
        float _USEDYNAMICCOVERTSTATICMASKF;
        float4 _CoverMaskA_TexelSize;
        float _CoverMaskPower;
        float _Cover_Amount;
        float _Cover_Amount_Grow_Speed;
        float3 _CoverDirection;
        float _Cover_Max_Angle;
        float _Cover_Min_Height;
        float _Cover_Min_Height_Blending;
        float4 _CoverBaseColor;
        float4 _CoverBaseColorMap_TexelSize;
        float4 _CoverTilingOffset;
        float _CoverTriplanarThreshold;
        float4 _CoverNormalMap_TexelSize;
        float _CoverNormalScale;
        float _CoverNormalBlendHardness;
        float _CoverHardness;
        float _CoverHeightMapMin;
        float _CoverHeightMapMax;
        float _CoverHeightMapOffset;
        float4 _CoverMaskMap_TexelSize;
        float _CoverMetallic;
        float _CoverAORemapMin;
        float _CoverAORemapMax;
        float _CoverSmoothnessRemapMin;
        float _CoverSmoothnessRemapMax;
        float4 _DetailMap_TexelSize;
        float4 _DetailTilingOffset;
        float _DetailAlbedoScale;
        float _DetailNormalScale;
        float _DetailSmoothnessScale;
        float4 _WetColor;
        float _WetSmoothness;
        float4 _EmissionColor;
        float _UseShadowThreshold;
        float4 _DoubleSidedConstants;
        float _BlendMode;
        float _EnableBlendModePreserveSpecularLighting;
        float _RayTracing;
        float _RefractionModel;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        SAMPLER(SamplerState_Linear_Repeat_Aniso8);
        TEXTURE2D(_BaseColorMap);
        SAMPLER(sampler_BaseColorMap);
        TEXTURE2D(_BaseNormalMap);
        SAMPLER(sampler_BaseNormalMap);
        TEXTURE2D(_BaseMaskMap);
        SAMPLER(sampler_BaseMaskMap);
        TEXTURE2D(_CoverMaskA);
        SAMPLER(sampler_CoverMaskA);
        TEXTURE2D(_CoverBaseColorMap);
        SAMPLER(sampler_CoverBaseColorMap);
        TEXTURE2D(_CoverNormalMap);
        SAMPLER(sampler_CoverNormalMap);
        TEXTURE2D(_CoverMaskMap);
        SAMPLER(sampler_CoverMaskMap);
        TEXTURE2D(_DetailMap);
        SAMPLER(sampler_DetailMap);
        
            // -- Property used by ScenePickingPass
            #ifdef SCENEPICKINGPASS
            float4 _SelectionID;
            #endif
        
            // -- Properties used by SceneSelectionPass
            #ifdef SCENESELECTIONPASS
            int _ObjectId;
            int _PassValue;
            #endif
        
            // Includes
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
        	#include "./NM_Object_VSPro_Indirect.cginc"
        
            // --------------------------------------------------
            // Structs and Packing
        
            struct AttributesMesh
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv2 : TEXCOORD2;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct VaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float3 positionRWS;
             float3 normalWS;
             float4 tangentWS;
             float4 texCoord0;
             float4 texCoord2;
             float4 color;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        struct VertexDescriptionInputs
        {
             float3 ObjectSpaceNormal;
             float3 ObjectSpaceTangent;
             float3 ObjectSpacePosition;
        };
        struct SurfaceDescriptionInputs
        {
             float3 WorldSpaceNormal;
             float3 TangentSpaceNormal;
             float3 WorldSpaceTangent;
             float3 WorldSpaceBiTangent;
             float3 AbsoluteWorldSpacePosition;
             float4 uv0;
             float4 uv2;
             float4 VertexColor;
        };
        struct PackedVaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float4 tangentWS : INTERP0;
             float4 texCoord0 : INTERP1;
             float4 texCoord2 : INTERP2;
             float4 color : INTERP3;
             float3 positionRWS : INTERP4;
             float3 normalWS : INTERP5;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        
            PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
        {
            PackedVaryingsMeshToPS output;
            ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
            output.positionCS = input.positionCS;
            output.tangentWS.xyzw = input.tangentWS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord2.xyzw = input.texCoord2;
            output.color.xyzw = input.color;
            output.positionRWS.xyz = input.positionRWS;
            output.normalWS.xyz = input.normalWS;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
        {
            VaryingsMeshToPS output;
            output.positionCS = input.positionCS;
            output.tangentWS = input.tangentWS.xyzw;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord2 = input.texCoord2.xyzw;
            output.color = input.color.xyzw;
            output.positionRWS = input.positionRWS.xyz;
            output.normalWS = input.normalWS.xyz;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        
            // --------------------------------------------------
            // Graph
        
        
            // Graph Functions
            
        void AddPragma_float(float3 A, out float3 Out){
        #pragma instancing_options procedural:setupVSPro
        Out = A;
        }
        
        struct Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float
        {
        };
        
        void SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(float3 Vector3_314C8600, Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float IN, out float3 ObjectSpacePosition_1)
        {
        float3 _Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3 = Vector3_314C8600;
        float3 _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3;
        InjectSetup_float(_Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3, _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3);
        float3 _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        AddPragma_float(_InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3, _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3);
        ObjectSpacePosition_1 = _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        }
        
        void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
        {
            RGBA = float4(R, G, B, A);
            RGB = float3(R, G, B);
            RG = float2(R, G);
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
        Out = A * B;
        }
        
        void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
        {
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
        float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
        Unity_Divide_float(1, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
        float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
        float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
        Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
        float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
        float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
        float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
        float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
        Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
        UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        }
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_Absolute_float(float In, out float Out)
        {
            Out = abs(In);
        }
        
        void Unity_SquareRoot_float4(float4 In, out float4 Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Sign_float(float In, out float Out)
        {
            Out = sign(In);
        }
        
        void Unity_Ceiling_float(float In, out float Out)
        {
            Out = ceil(In);
        }
        
        void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
        {
        };
        
        void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
        {
        float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
        float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
        Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
        Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
        float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
        Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
        float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
        OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
        }
        
        void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A / B;
        }
        
        void Unity_Sign_float3(float3 In, out float3 Out)
        {
            Out = sign(In);
        }
        
        void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
        {
        Out = A * B;
        }
        
        void Unity_Absolute_float3(float3 In, out float3 Out)
        {
            Out = abs(In);
        }
        
        void Unity_Power_float3(float3 A, float3 B, out float3 Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
        Out = A * B;
        }
        
        void Unity_Add_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A + B;
        }
        
        struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
        {
        float3 WorldSpaceNormal;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
        float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
        float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
        float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
        float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
        float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, 1);
        float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
        UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
        Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
        float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, 1);
        float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, 1);
        float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
        float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
        Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
        float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
        Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
        XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
        XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_Add_float2(float2 A, float2 B, out float2 Out)
        {
            Out = A + B;
        }
        
        void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
        {
            Out = dot(A, B);
        }
        
        void Unity_OneMinus_float(float In, out float Out)
        {
            Out = 1 - In;
        }
        
        void Unity_SquareRoot_float(float In, out float Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Normalize_float3(float3 In, out float3 Out)
        {
            Out = normalize(In);
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
        {
        float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
        float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
        float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
        float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
        float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
        float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
        Unity_Divide_float(1, _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
        float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
        float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
        Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
        float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
        float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
        float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
        float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
        Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
        UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
        float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangent(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
        float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
        Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
        XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
        }
        
        void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
        {
            Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
        }
        
        void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
        {
            Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A / B;
        }
        
        struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
        UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
        float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
        Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
        float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, 1);
        float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
        _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
        float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
        float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
        Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
        float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
        float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
        float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
        float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
        float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, 1);
        float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
        _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
        float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
        float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
        float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
        Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
        float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
        float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
        float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
        Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
        float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
        Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
        Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
        float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
        XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
        XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
        YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
        XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Power_float(float A, float B, out float Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
        {
            Out = lerp(A, B, T);
        }
        
        void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
        {
            Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
        }
        
        void Unity_Branch_float(float Predicate, float True, float False, out float Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Lerp_float(float A, float B, float T, out float Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
        {
        };
        
        void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
        {
        float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
        SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        }
        
            // Graph Vertex
            struct VertexDescription
        {
            float3 Position;
            float3 Normal;
            float3 Tangent;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5;
            float3 _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(IN.ObjectSpacePosition, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3);
            description.Position = _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            description.Normal = IN.ObjectSpaceNormal;
            description.Tangent = IN.ObjectSpaceTangent;
            return description;
        }
        
            // Graph Pixel
            struct SurfaceDescription
        {
            float3 BaseColor;
            float3 Emission;
            float Alpha;
            float AlphaClipThreshold;
            float3 BentNormal;
            float Smoothness;
            float Occlusion;
            float3 NormalTS;
            float Metallic;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
            float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
            float _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean = _BaseUsePlanarUV;
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_41db1f1f529b6f8e9c51558bacdba727;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv0 = IN.uv0;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv2 = IN.uv2;
            float4 _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4);
            float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
            float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
            Unity_Multiply_float4_float4(_PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
            UnityTexture2D _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
            float4 _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4 = _DetailTilingOffset;
            float _Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[0];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[1];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[2];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[3];
            float2 _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float);
            float2 _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float);
            float2 _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2, _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2, _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2);
            float4 _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.tex, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.samplerstate, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2) );
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.r;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.g;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.b;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.a;
            float _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float, 2, _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float);
            float _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float;
            Unity_Add_float(_Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float, -1, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float);
            float _Property_605f29777330a58ba88ac032e905433b_Out_0_Float = _DetailAlbedoScale;
            float _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float;
            Unity_Multiply_float_float(_Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Property_605f29777330a58ba88ac032e905433b_Out_0_Float, _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float);
            float _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float;
            Unity_Saturate_float(_Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float, _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float);
            float _Absolute_8acef423205118879e75274a48969d34_Out_1_Float;
            Unity_Absolute_float(_Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float);
            Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185;
            float3 _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3;
            SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3);
            UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
            float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
            float4 _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4;
            Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4);
            float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4);
            float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
            float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
            Unity_Multiply_float4_float4(_TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
            float _Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
            UnityTexture2D _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
            float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
            float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.tex, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.samplerstate, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
            float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
            float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
            float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
            Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, 0, 1, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
            float3 _Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3 = _CoverDirection;
            float2 _Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2 = float2(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float, _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float);
            float2 _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2, float2(2, 2), _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2);
            float2 _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2;
            Unity_Add_float2(_Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2, float2(-1, -1), _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2);
            float _Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float = _DetailNormalScale;
            float2 _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2, (_Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float.xx), _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2);
            float _Split_c4822b8eaff9b185be7c059792345712_R_1_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[0];
            float _Split_c4822b8eaff9b185be7c059792345712_G_2_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[1];
            float _Split_c4822b8eaff9b185be7c059792345712_B_3_Float = 0;
            float _Split_c4822b8eaff9b185be7c059792345712_A_4_Float = 0;
            float _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float;
            Unity_DotProduct_float2(_Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float);
            float _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float;
            Unity_Saturate_float(_DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float, _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float);
            float _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float;
            Unity_OneMinus_float(_Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float, _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float);
            float _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float;
            Unity_SquareRoot_float(_OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            float3 _Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3 = float3(_Split_c4822b8eaff9b185be7c059792345712_R_1_Float, _Split_c4822b8eaff9b185be7c059792345712_G_2_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
            Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_e976eded9c94228090999d383a1bd95b;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceNormal = IN.WorldSpaceNormal;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceTangent = IN.WorldSpaceTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv0 = IN.uv0;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv2 = IN.uv2;
            float4 _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4;
            SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_e976eded9c94228090999d383a1bd95b, _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4);
            float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
            float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
            Unity_NormalStrength_float((_PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
            float3 _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3;
            Unity_NormalBlend_float(_Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3);
            UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
            Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceTangent = IN.WorldSpaceTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4;
            SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4);
            float _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float = _CoverNormalBlendHardness;
            float3 _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3);
            float3 _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3);
            float _Split_64630334a9c0058a848439df6d5afe71_R_1_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[0];
            float _Split_64630334a9c0058a848439df6d5afe71_G_2_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[1];
            float _Split_64630334a9c0058a848439df6d5afe71_B_3_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[2];
            float _Split_64630334a9c0058a848439df6d5afe71_A_4_Float = 0;
            float _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float;
            Unity_Add_float(_Split_64630334a9c0058a848439df6d5afe71_R_1_Float, _Split_64630334a9c0058a848439df6d5afe71_G_2_Float, _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float);
            float _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float;
            Unity_Add_float(_Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float, _Split_64630334a9c0058a848439df6d5afe71_B_3_Float, _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float);
            float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
            float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
            float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
            Unity_Subtract_float(4, _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
            float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
            Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
            float _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float;
            Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float);
            float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
            Unity_Power_float(_Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
            float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
            Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, 0, 2, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
            float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
            Unity_Multiply_float_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
            float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
            Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
            float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
            Unity_Clamp_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, 0, 0.9999, _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
            float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
            float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
            Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, 45, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
            float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
            Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
            float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
            Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
            float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
            Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, 0, 2, _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
            float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
            Unity_Divide_float(1, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
            float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
            float _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float;
            Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float);
            float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
            float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
            Unity_Power_float(_Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
            float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
            float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
            Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
            float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
            float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
            float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
            float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
            float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
            Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
            float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, 1, _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
            float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
            Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, 0, 1, _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
            float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
            float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
            float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
            Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
            float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
            Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
            float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
            Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, -0.5, _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
            float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
            Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, 0, 1, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
            float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
            Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
            float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
            Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, 0, 1, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
            float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
            Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
            float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
            Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
            float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
            float3 _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3;
            {
                float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
                _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
            }
            float3 _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3, _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3);
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[0];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[1];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[2];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_A_4_Float = 0;
            float _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float;
            Unity_Add_float(_Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float, _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float);
            float _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float;
            Unity_Add_float(_Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float, _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float);
            float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
            Unity_Multiply_float_float(_Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
            float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
            float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
            float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
            UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f8c96485552c638b8d38f34567da0e97;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f8c96485552c638b8d38f34567da0e97, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4);
            float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[0];
            float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[1];
            float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[2];
            float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[3];
            float _Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float = _CoverHeightMapMin;
            float _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float = _CoverHeightMapMax;
            float2 _Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2 = float2(_Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float, _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float);
            float _Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float = _CoverHeightMapOffset;
            float2 _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2;
            Unity_Add_float2(_Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2, (_Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float.xx), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2);
            float _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float);
            float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
            float _Split_8259ed9a9318f9848f486475aa132211_R_1_Float = IN.VertexColor[0];
            float _Split_8259ed9a9318f9848f486475aa132211_G_2_Float = IN.VertexColor[1];
            float _Split_8259ed9a9318f9848f486475aa132211_B_3_Float = IN.VertexColor[2];
            float _Split_8259ed9a9318f9848f486475aa132211_A_4_Float = IN.VertexColor[3];
            float _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_8259ed9a9318f9848f486475aa132211_G_2_Float, _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float);
            float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
            Unity_Saturate_float(_Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
            float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
            float _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float;
            Unity_Branch_float(_Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float);
            float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
            Unity_Lerp_float3(_BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
            float4 _Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4 = _WetColor;
            float3 _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3;
            Unity_Multiply_float3_float3((_Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3);
            float _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float;
            Unity_OneMinus_float(_Split_8259ed9a9318f9848f486475aa132211_R_1_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float);
            float3 _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3, (_OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float.xxx), _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3);
            float _Split_d9627fc463ca248fa5ce803295175e7f_R_1_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[0];
            float _Split_d9627fc463ca248fa5ce803295175e7f_G_2_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[1];
            float _Split_d9627fc463ca248fa5ce803295175e7f_B_3_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[2];
            float _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[3];
            float _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float = _AlphaCutoff;
            UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_9d0bc4ed86df988595f613acb6a8509f;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv0 = IN.uv0;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv2 = IN.uv2;
            float4 _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4);
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[0];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[1];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_B_3_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[2];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[3];
            float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
            float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
            Unity_Multiply_float_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
            float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
            float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
            float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
            float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
            float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
            float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
            float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
            float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
            float _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float, 2, _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float);
            float _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float;
            Unity_Add_float(_Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float, -1, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float);
            float _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float = _DetailSmoothnessScale;
            float _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float;
            Unity_Multiply_float_float(_Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float, _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float);
            float _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float;
            Unity_Saturate_float(_Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float, _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float);
            float _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float;
            Unity_Absolute_float(_Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float);
            Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43;
            float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float;
            SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float);
            float _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float;
            Unity_Saturate_float(_BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
            float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
            Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
            float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
            float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
            float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
            float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
            float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
            float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
            float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
            float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
            Unity_Lerp_float3(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
            float _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float = _WetSmoothness;
            float _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float, _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float);
            float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
            float3 _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3);
            float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
            surface.BaseColor = _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            surface.Emission = float3(0, 0, 0);
            surface.Alpha = _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float;
            surface.AlphaClipThreshold = _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float;
            surface.BentNormal = IN.TangentSpaceNormal;
            surface.Smoothness = _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
            surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float;
            return surface;
        }
        
            // --------------------------------------------------
            // Build Graph Inputs
            #ifdef HAVE_VFX_MODIFICATION
            #define VFX_SRP_ATTRIBUTES AttributesMesh
            #define VaryingsMeshType VaryingsMeshToPS
            #define VFX_SRP_VARYINGS VaryingsMeshType
            #define VFX_SRP_SURFACE_INPUTS FragInputs
            #endif
            
        VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.ObjectSpaceNormal =                          input.normalOS;
            output.ObjectSpaceTangent =                         input.tangentOS.xyz;
            output.ObjectSpacePosition =                        input.positionOS;
        
            return output;
        }
        
        VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            // build graph inputs
            VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
            // Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
        
            // evaluate vertex graph
        #ifdef HAVE_VFX_MODIFICATION
            GraphProperties properties;
            ZERO_INITIALIZE(GraphProperties, properties);
        
            // Fetch the vertex graph properties for the particle instance.
            GetElementVertexProperties(element, properties);
        
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
        #else
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
        #endif
            return vertexDescription;
        
        }
        
        AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
        #ifdef USE_CUSTOMINTERP_SUBSTRUCT
            #ifdef TESSELLATION_ON
            , inout VaryingsMeshToDS varyings
            #else
            , inout VaryingsMeshToPS varyings
            #endif
        #endif
        #ifdef HAVE_VFX_MODIFICATION
                , AttributesElement element
        #endif
            )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
        
            // copy graph output to the results
            input.positionOS = vertexDescription.Position;
            input.normalOS = vertexDescription.Normal;
            input.tangentOS.xyz = vertexDescription.Tangent;
        
            
        
            return input;
        }
        
        #if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
        // Return precomputed Velocity in object space
        float3 GetCustomVelocity(AttributesMesh input
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
            return vertexDescription.CustomVelocity;
        }
        #endif
        
        FragInputs BuildFragInputs(VaryingsMeshToPS input)
        {
            FragInputs output;
            ZERO_INITIALIZE(FragInputs, output);
        
            // Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
            // TODO: this is a really poor workaround, but the variable is used in a bunch of places
            // to compute normals which are then passed on elsewhere to compute other values...
            output.tangentToWorld = k_identity3x3;
            output.positionSS = input.positionCS;       // input.positionCS is SV_Position
        
            output.positionRWS =                input.positionRWS;
            output.tangentToWorld =             BuildTangentToWorld(input.tangentWS, input.normalWS);
            output.texCoord0 =                  input.texCoord0;
            output.texCoord2 =                  input.texCoord2;
            output.color =                      input.color;
        
        #ifdef HAVE_VFX_MODIFICATION
            // FragInputs from VFX come from two places: Interpolator or CBuffer.
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
        
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            // splice point to copy custom interpolator fields from varyings to frag inputs
            
        
            return output;
        }
        
        // existing HDRP code uses the combined function to go directly from packed to frag inputs
        FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
        {
            UNITY_SETUP_INSTANCE_ID(input);
        #if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
            unity_InstanceID = input.instanceID;
        #endif
            VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
            return BuildFragInputs(unpacked);
        }
            SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
            output.WorldSpaceNormal =                           normalize(input.tangentToWorld[2].xyz);
            #if defined(SHADER_STAGE_RAY_TRACING)
            #else
            #endif
            output.TangentSpaceNormal =                         float3(0.0f, 0.0f, 1.0f);
            output.WorldSpaceTangent =                          input.tangentToWorld[0].xyz;
            output.WorldSpaceBiTangent =                        input.tangentToWorld[1].xyz;
            output.AbsoluteWorldSpacePosition =                 GetAbsolutePositionWS(input.positionRWS);
        
        #if UNITY_UV_STARTS_AT_TOP
        #else
        #endif
        
        
            output.uv0 =                                        input.texCoord0;
            output.uv2 =                                        input.texCoord2;
            output.VertexColor =                                input.color;
        
            // splice point to copy frag inputs custom interpolator pack into the SDI
            
        
            return output;
        }
        
            // --------------------------------------------------
            // Build Surface Data (Specific Material)
        
        void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
        
        void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
            inout SurfaceData surfaceData)
        {
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
        #ifdef DECAL_NORMAL_BLENDING
            // SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
            // the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
            float3 normalTS;
        
            normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
            fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
        
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        
            GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
        #else
            // normal delivered to master node
            GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                // Both uses and modifies 'surfaceData.normalWS'.
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        #endif
        }
        void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
        {
            ZERO_INITIALIZE(SurfaceData, surfaceData);
        
            // specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
            // however specularOcclusion can come from the graph, so need to be init here so it can be override.
            surfaceData.specularOcclusion = 1.0;
        
            surfaceData.baseColor =                 surfaceDescription.BaseColor;
            surfaceData.perceptualSmoothness =      surfaceDescription.Smoothness;
            surfaceData.ambientOcclusion =          surfaceDescription.Occlusion;
            surfaceData.metallic =                  surfaceDescription.Metallic;
        
            #if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
                if (_EnableSSRefraction)
                {
        
                    surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
                    surfaceDescription.Alpha = 1.0;
                }
                else
                {
                    surfaceData.ior = 1.0;
                    surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                    surfaceData.atDistance = 1.0;
                    surfaceData.transmittanceMask = 0.0;
                    surfaceDescription.Alpha = 1.0;
                }
            #else
                surfaceData.ior = 1.0;
                surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                surfaceData.atDistance = 1.0;
                surfaceData.transmittanceMask = 0.0;
            #endif
        
            // These static material feature allow compile time optimization
            surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
            #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
            #endif
        
            #ifdef _MATERIAL_FEATURE_TRANSMISSION
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
            #endif
        
            #ifdef _MATERIAL_FEATURE_ANISOTROPY
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
        
                // Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
                surfaceData.normalWS = float3(0, 1, 0);
            #endif
        
            #ifdef _MATERIAL_FEATURE_IRIDESCENCE
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
            #endif
        
            #ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
            #endif
        
            #ifdef _MATERIAL_FEATURE_CLEAR_COAT
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
            #endif
        
            #if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
                // Require to have setup baseColor
                // Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
                surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
            #endif
        
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
            ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
        
            surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
        
            surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz);    // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
        
        
            bentNormalWS = surfaceData.normalWS;
        
            surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
        
            #ifdef DEBUG_DISPLAY
                if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
                {
                    // TODO: need to update mip info
                    surfaceData.metallic = 0;
                }
        
                // We need to call ApplyDebugToSurfaceData after filling the surfarcedata and before filling builtinData
                // as it can modify attribute use for static lighting
                ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
            #endif
        
            // By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
            // If user provide bent normal then we process a better term
            #if defined(_SPECULAR_OCCLUSION_CUSTOM)
                // Just use the value passed through via the slot (not active otherwise)
            #elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
                // If we have bent normal and ambient occlusion, process a specular occlusion
                surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
            #elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
                surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
            #endif
        
            #if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
                surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
            #endif
        }
        
            // --------------------------------------------------
            // Get Surface And BuiltinData
        
            void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
            {
                // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
                #if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
                #ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
                LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
                #endif
                #endif
        
                #ifndef SHADER_UNLIT
                #ifdef _DOUBLESIDED_ON
                    float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
                #else
                    float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
                #endif
        
                ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
                #endif // SHADER_UNLIT
        
                SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
        
                #if defined(HAVE_VFX_MODIFICATION)
                GraphProperties properties;
                ZERO_INITIALIZE(GraphProperties, properties);
        
                GetElementPixelProperties(fragInputs, properties);
        
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
                #else
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
                #endif
        
                // Perform alpha test very early to save performance (a killed pixel will not sample textures)
                // TODO: split graph evaluation to grab just alpha dependencies first? tricky..
                #ifdef _ALPHATEST_ON
                    float alphaCutoff = surfaceDescription.AlphaClipThreshold;
                    #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
                    // The TransparentDepthPrepass is also used with SSR transparent.
                    // If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
                    // otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
                    #elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
                    // DepthPostpass always use its own alpha threshold
                    alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
                    #elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
                    // If use shadow threshold isn't enable we don't allow any test
                    #endif
        
                    GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
                #endif
        
                #if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
                ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
                #endif
        
                #ifndef SHADER_UNLIT
                float3 bentNormalWS;
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD1
                    float4 lightmapTexCoord1 = fragInputs.texCoord1;
                #else
                    float4 lightmapTexCoord1 = float4(0,0,0,0);
                #endif
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD2
                    float4 lightmapTexCoord2 = fragInputs.texCoord2;
                #else
                    float4 lightmapTexCoord2 = float4(0,0,0,0);
                #endif
        
                // Builtin Data
                // For back lighting we use the oposite vertex normal
                InitBuiltinData(posInput, surfaceDescription.Alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
        
                #else
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
        
                ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
                builtinData.opacity = surfaceDescription.Alpha;
        
                #if defined(DEBUG_DISPLAY)
                    // Light Layers are currently not used for the Unlit shader (because it is not lit)
                    // But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
                    // display in the light layers visualization mode, therefore we need the renderingLayers
                    builtinData.renderingLayers = GetMeshRenderingLightLayer();
                #endif
        
                #endif // SHADER_UNLIT
        
                #ifdef _ALPHATEST_ON
                    // Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
                    builtinData.alphaClipTreshold = alphaCutoff;
                #endif
        
                // override sampleBakedGI - not used by Unlit
        
                builtinData.emissiveColor = surfaceDescription.Emission;
        
                // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
                // We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
                // This is a limitation of the current MRT approach.
                #ifdef UNITY_VIRTUAL_TEXTURING
                #endif
        
                #if _DEPTHOFFSET_ON
                builtinData.depthOffset = surfaceDescription.DepthOffset;
                #endif
        
                // TODO: We should generate distortion / distortionBlur for non distortion pass
                #if (SHADERPASS == SHADERPASS_DISTORTION)
                builtinData.distortion = surfaceDescription.Distortion;
                builtinData.distortionBlur = surfaceDescription.DistortionBlur;
                #endif
        
                #ifndef SHADER_UNLIT
                // PostInitBuiltinData call ApplyDebugToBuiltinData
                PostInitBuiltinData(V, posInput, surfaceData, builtinData);
                #else
                ApplyDebugToBuiltinData(builtinData);
                #endif
        
                RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
            }
        
            // --------------------------------------------------
            // Main
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassMotionVectors.hlsl"
        
            // --------------------------------------------------
            // Visual Effect Vertex Invocations
        
        	#ifdef HAVE_VFX_MODIFICATION
        	#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
        	#endif
        
            ENDHLSL
        }
        Pass
        {
            Name "TransparentDepthPrepass"
            Tags
            {
                "LightMode" = "TransparentDepthPrepass"
            }
        
            // Render State
            Cull [_CullMode]
        Blend One Zero
        ZWrite On
        Stencil
        {
        WriteMask [_StencilWriteMaskDepth]
        Ref [_StencilRefDepth]
        CompFront Always
        PassFront Replace
        CompBack Always
        PassBack Replace
        }
        
            // Debug
            // <None>
        
            // --------------------------------------------------
            // Pass
        
            HLSLPROGRAM
        
            // Pragmas
            #pragma multi_compile _ DOTS_INSTANCING_ON
        #pragma instancing_options renderinglayer
        #pragma target 4.5
        #pragma vertex Vert
        #pragma fragment Frag
        #pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
        #pragma multi_compile_instancing
        
            // Keywords
            #pragma shader_feature_local _ _ALPHATEST_ON
        #pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local _ _DOUBLESIDED_ON
        #pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
        #pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC
        #pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
        #pragma multi_compile _ LOD_FADE_CROSSFADE
        #pragma shader_feature_local_fragment _ _DISABLE_DECALS
        #pragma shader_feature_local_raytracing _ _DISABLE_DECALS
        #pragma shader_feature_local_fragment _ _DISABLE_SSR
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR
        #pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
            // GraphKeywords: <None>
        
            // For custom interpolators to inject a substruct definition before FragInputs definition,
            // allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
            struct CustomInterpolators
        {
        };
        #define USE_CUSTOMINTERP_SUBSTRUCT
        
        
        
            // TODO: Merge FragInputsVFX substruct with CustomInterpolators.
        	#ifdef HAVE_VFX_MODIFICATION
        	struct FragInputsVFX
            {
                /* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
            };
            #endif
        
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
            // Always include Shader Graph version
            // Always include last to avoid double macros
            #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
        
            // --------------------------------------------------
            // Defines
        
            // Attribute
            #define ATTRIBUTES_NEED_NORMAL
            #define ATTRIBUTES_NEED_TANGENT
            #define ATTRIBUTES_NEED_TEXCOORD0
            #define ATTRIBUTES_NEED_TEXCOORD2
            #define ATTRIBUTES_NEED_COLOR
            #define VARYINGS_NEED_POSITION_WS
            #define VARYINGS_NEED_TANGENT_TO_WORLD
            #define VARYINGS_NEED_TEXCOORD0
            #define VARYINGS_NEED_TEXCOORD2
            #define VARYINGS_NEED_COLOR
        
            #define HAVE_MESH_MODIFICATION
        
            //Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
            //if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
            //Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
            #if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
            #define FRAG_INPUTS_ENABLE_STRIPPING
            #endif
            #define FRAG_INPUTS_USE_TEXCOORD0
            #define FRAG_INPUTS_USE_TEXCOORD2
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
        
        
        
            #define SHADERPASS SHADERPASS_TRANSPARENT_DEPTH_PREPASS
        #define RAYTRACING_SHADER_GRAPH_DEFAULT
        
        
            // Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
            // The ShaderGraph don't support correctly migration of this node as it serialize all the node data
            // in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
            // to still allow us to rename the field and keyword of this node without breaking existing code.
            #ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
            #define RAYTRACING_SHADER_GRAPH_HIGH
            #endif
        
            #ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
            #define RAYTRACING_SHADER_GRAPH_LOW
            #endif
            // end
        
            #ifndef SHADER_UNLIT
            // We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
            // VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
            #if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
                #define VARYINGS_NEED_CULLFACE
            #endif
            #endif
        
            // Specific Material Define
        #define _SPECULAR_OCCLUSION_FROM_AO 1
        #define _ENERGY_CONSERVING_SPECULAR 1
        
        // If we use subsurface scattering, enable output split lighting (for forward pass)
        #if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
            #define OUTPUT_SPLIT_LIGHTING
        #endif
        
        // This shader support recursive rendering for raytracing
        #define HAVE_RECURSIVE_RENDERING
        
        // In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
        #if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
            #undef  _REFRACTION_PLANE
            #undef  _REFRACTION_SPHERE
            #define _REFRACTION_THIN
        #endif
            // Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
        
            // To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
            // we should have a code like this:
            // if !defined(_DISABLE_SSR_TRANSPARENT)
            // pragma multi_compile _ WRITE_NORMAL_BUFFER
            // endif
            // i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
            // it based on if SSR transparent in frame settings and not (and stripper can strip it).
            // this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
            // so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
            // Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
            #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
            #if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
                #define WRITE_NORMAL_BUFFER
            #endif
            #endif
        
            #ifndef DEBUG_DISPLAY
                // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
                // Don't do it with debug display mode as it is possible there is no depth prepass in this case
                #if !defined(_SURFACE_TYPE_TRANSPARENT)
                    #if SHADERPASS == SHADERPASS_FORWARD
                    #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
                    #elif SHADERPASS == SHADERPASS_GBUFFER
                    #define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
                    #endif
                #endif
            #endif
        
            // Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
            #if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
                #define _DEFERRED_CAPABLE_MATERIAL
            #endif
        
            // Translate transparent motion vector define
            #if defined(_TRANSPARENT_WRITES_MOTION_VEC) && defined(_SURFACE_TYPE_TRANSPARENT)
                #define _WRITE_TRANSPARENT_MOTION_VECTOR
            #endif
        
            // -- Graph Properties
            CBUFFER_START(UnityPerMaterial)
        float _AlphaCutoff;
        float4 _BaseColor;
        float4 _BaseColorMap_TexelSize;
        float _BaseUsePlanarUV;
        float4 _BaseTilingOffset;
        float4 _BaseNormalMap_TexelSize;
        float _BaseNormalScale;
        float4 _BaseMaskMap_TexelSize;
        float _BaseMetallic;
        float _BaseAORemapMin;
        float _BaseAORemapMax;
        float _BaseSmoothnessRemapMin;
        float _BaseSmoothnessRemapMax;
        float _USEDYNAMICCOVERTSTATICMASKF;
        float4 _CoverMaskA_TexelSize;
        float _CoverMaskPower;
        float _Cover_Amount;
        float _Cover_Amount_Grow_Speed;
        float3 _CoverDirection;
        float _Cover_Max_Angle;
        float _Cover_Min_Height;
        float _Cover_Min_Height_Blending;
        float4 _CoverBaseColor;
        float4 _CoverBaseColorMap_TexelSize;
        float4 _CoverTilingOffset;
        float _CoverTriplanarThreshold;
        float4 _CoverNormalMap_TexelSize;
        float _CoverNormalScale;
        float _CoverNormalBlendHardness;
        float _CoverHardness;
        float _CoverHeightMapMin;
        float _CoverHeightMapMax;
        float _CoverHeightMapOffset;
        float4 _CoverMaskMap_TexelSize;
        float _CoverMetallic;
        float _CoverAORemapMin;
        float _CoverAORemapMax;
        float _CoverSmoothnessRemapMin;
        float _CoverSmoothnessRemapMax;
        float4 _DetailMap_TexelSize;
        float4 _DetailTilingOffset;
        float _DetailAlbedoScale;
        float _DetailNormalScale;
        float _DetailSmoothnessScale;
        float4 _WetColor;
        float _WetSmoothness;
        float4 _EmissionColor;
        float _UseShadowThreshold;
        float4 _DoubleSidedConstants;
        float _BlendMode;
        float _EnableBlendModePreserveSpecularLighting;
        float _RayTracing;
        float _RefractionModel;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        SAMPLER(SamplerState_Linear_Repeat_Aniso8);
        TEXTURE2D(_BaseColorMap);
        SAMPLER(sampler_BaseColorMap);
        TEXTURE2D(_BaseNormalMap);
        SAMPLER(sampler_BaseNormalMap);
        TEXTURE2D(_BaseMaskMap);
        SAMPLER(sampler_BaseMaskMap);
        TEXTURE2D(_CoverMaskA);
        SAMPLER(sampler_CoverMaskA);
        TEXTURE2D(_CoverBaseColorMap);
        SAMPLER(sampler_CoverBaseColorMap);
        TEXTURE2D(_CoverNormalMap);
        SAMPLER(sampler_CoverNormalMap);
        TEXTURE2D(_CoverMaskMap);
        SAMPLER(sampler_CoverMaskMap);
        TEXTURE2D(_DetailMap);
        SAMPLER(sampler_DetailMap);
        
            // -- Property used by ScenePickingPass
            #ifdef SCENEPICKINGPASS
            float4 _SelectionID;
            #endif
        
            // -- Properties used by SceneSelectionPass
            #ifdef SCENESELECTIONPASS
            int _ObjectId;
            int _PassValue;
            #endif
        
            // Includes
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
        	#include "./NM_Object_VSPro_Indirect.cginc"
        
            // --------------------------------------------------
            // Structs and Packing
        
            struct AttributesMesh
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv2 : TEXCOORD2;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct VaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float3 positionRWS;
             float3 normalWS;
             float4 tangentWS;
             float4 texCoord0;
             float4 texCoord2;
             float4 color;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        struct VertexDescriptionInputs
        {
             float3 ObjectSpaceNormal;
             float3 ObjectSpaceTangent;
             float3 ObjectSpacePosition;
        };
        struct SurfaceDescriptionInputs
        {
             float3 WorldSpaceNormal;
             float3 TangentSpaceNormal;
             float3 WorldSpaceTangent;
             float3 WorldSpaceBiTangent;
             float3 AbsoluteWorldSpacePosition;
             float4 uv0;
             float4 uv2;
             float4 VertexColor;
        };
        struct PackedVaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float4 tangentWS : INTERP0;
             float4 texCoord0 : INTERP1;
             float4 texCoord2 : INTERP2;
             float4 color : INTERP3;
             float3 positionRWS : INTERP4;
             float3 normalWS : INTERP5;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        
            PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
        {
            PackedVaryingsMeshToPS output;
            ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
            output.positionCS = input.positionCS;
            output.tangentWS.xyzw = input.tangentWS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord2.xyzw = input.texCoord2;
            output.color.xyzw = input.color;
            output.positionRWS.xyz = input.positionRWS;
            output.normalWS.xyz = input.normalWS;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
        {
            VaryingsMeshToPS output;
            output.positionCS = input.positionCS;
            output.tangentWS = input.tangentWS.xyzw;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord2 = input.texCoord2.xyzw;
            output.color = input.color.xyzw;
            output.positionRWS = input.positionRWS.xyz;
            output.normalWS = input.normalWS.xyz;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        
            // --------------------------------------------------
            // Graph
        
        
            // Graph Functions
            
        void AddPragma_float(float3 A, out float3 Out){
        #pragma instancing_options procedural:setupVSPro
        Out = A;
        }
        
        struct Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float
        {
        };
        
        void SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(float3 Vector3_314C8600, Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float IN, out float3 ObjectSpacePosition_1)
        {
        float3 _Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3 = Vector3_314C8600;
        float3 _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3;
        InjectSetup_float(_Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3, _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3);
        float3 _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        AddPragma_float(_InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3, _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3);
        ObjectSpacePosition_1 = _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        }
        
        void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
        {
            RGBA = float4(R, G, B, A);
            RGB = float3(R, G, B);
            RG = float2(R, G);
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
        Out = A * B;
        }
        
        void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
        {
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
        float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
        Unity_Divide_float(1, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
        float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
        float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
        Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
        float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
        float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
        float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
        float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
        Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
        UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        }
        
        void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float2(float2 A, float2 B, out float2 Out)
        {
            Out = A + B;
        }
        
        void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
        {
            Out = dot(A, B);
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_OneMinus_float(float In, out float Out)
        {
            Out = 1 - In;
        }
        
        void Unity_SquareRoot_float(float In, out float Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Sign_float3(float3 In, out float3 Out)
        {
            Out = sign(In);
        }
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
        Out = A * B;
        }
        
        void Unity_Normalize_float3(float3 In, out float3 Out)
        {
            Out = normalize(In);
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
        {
        float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
        float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
        float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
        float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
        float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
        float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
        Unity_Divide_float(1, _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
        float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
        float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
        Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
        float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
        float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
        float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
        float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
        Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
        UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
        float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangent(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
        float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
        Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
        XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
        }
        
        void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
        {
            Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
        }
        
        void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
        {
            Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
        }
        
        void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A / B;
        }
        
        void Unity_Absolute_float3(float3 In, out float3 Out)
        {
            Out = abs(In);
        }
        
        void Unity_Power_float3(float3 A, float3 B, out float3 Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
        Out = A * B;
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A / B;
        }
        
        struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
        UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
        float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
        Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
        float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, 1);
        float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
        _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
        float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
        float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
        Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
        float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
        float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
        float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
        float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
        float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, 1);
        float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
        _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
        float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
        float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
        float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
        Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
        float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
        float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
        float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
        Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
        float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
        Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
        Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
        float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
        XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
        XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
        YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
        XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Absolute_float(float In, out float Out)
        {
            Out = abs(In);
        }
        
        void Unity_Power_float(float A, float B, out float Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
        {
            Out = lerp(A, B, T);
        }
        
        void Unity_Add_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A + B;
        }
        
        struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
        {
        float3 WorldSpaceNormal;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
        float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
        float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
        float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
        float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
        float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, 1);
        float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
        UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
        Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
        float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, 1);
        float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, 1);
        float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
        float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
        Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
        float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
        Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
        XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
        XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
        }
        
        void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
        {
            Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
        }
        
        void Unity_Branch_float(float Predicate, float True, float False, out float Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Sign_float(float In, out float Out)
        {
            Out = sign(In);
        }
        
        void Unity_Ceiling_float(float In, out float Out)
        {
            Out = ceil(In);
        }
        
        void Unity_Lerp_float(float A, float B, float T, out float Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
        {
        };
        
        void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
        {
        float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
        SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        }
        
            // Graph Vertex
            struct VertexDescription
        {
            float3 Position;
            float3 Normal;
            float3 Tangent;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5;
            float3 _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(IN.ObjectSpacePosition, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3);
            description.Position = _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            description.Normal = IN.ObjectSpaceNormal;
            description.Tangent = IN.ObjectSpaceTangent;
            return description;
        }
        
            // Graph Pixel
            struct SurfaceDescription
        {
            float Alpha;
            float AlphaClipThreshold;
            float3 NormalTS;
            float Smoothness;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
            float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
            float _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean = _BaseUsePlanarUV;
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_41db1f1f529b6f8e9c51558bacdba727;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv0 = IN.uv0;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv2 = IN.uv2;
            float4 _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4);
            float _Split_d9627fc463ca248fa5ce803295175e7f_R_1_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[0];
            float _Split_d9627fc463ca248fa5ce803295175e7f_G_2_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[1];
            float _Split_d9627fc463ca248fa5ce803295175e7f_B_3_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[2];
            float _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[3];
            float _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float = _AlphaCutoff;
            UnityTexture2D _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
            float4 _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4 = _DetailTilingOffset;
            float _Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[0];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[1];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[2];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[3];
            float2 _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float);
            float2 _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float);
            float2 _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2, _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2, _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2);
            float4 _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.tex, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.samplerstate, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2) );
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.r;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.g;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.b;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.a;
            float2 _Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2 = float2(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float, _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float);
            float2 _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2, float2(2, 2), _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2);
            float2 _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2;
            Unity_Add_float2(_Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2, float2(-1, -1), _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2);
            float _Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float = _DetailNormalScale;
            float2 _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2, (_Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float.xx), _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2);
            float _Split_c4822b8eaff9b185be7c059792345712_R_1_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[0];
            float _Split_c4822b8eaff9b185be7c059792345712_G_2_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[1];
            float _Split_c4822b8eaff9b185be7c059792345712_B_3_Float = 0;
            float _Split_c4822b8eaff9b185be7c059792345712_A_4_Float = 0;
            float _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float;
            Unity_DotProduct_float2(_Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float);
            float _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float;
            Unity_Saturate_float(_DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float, _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float);
            float _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float;
            Unity_OneMinus_float(_Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float, _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float);
            float _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float;
            Unity_SquareRoot_float(_OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            float3 _Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3 = float3(_Split_c4822b8eaff9b185be7c059792345712_R_1_Float, _Split_c4822b8eaff9b185be7c059792345712_G_2_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
            Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_e976eded9c94228090999d383a1bd95b;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceNormal = IN.WorldSpaceNormal;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceTangent = IN.WorldSpaceTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv0 = IN.uv0;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv2 = IN.uv2;
            float4 _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4;
            SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_e976eded9c94228090999d383a1bd95b, _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4);
            float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
            float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
            Unity_NormalStrength_float((_PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
            float3 _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3;
            Unity_NormalBlend_float(_Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3);
            UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
            float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
            float4 _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4;
            Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4);
            float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
            Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceTangent = IN.WorldSpaceTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4;
            SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4);
            float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
            float3 _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3);
            float _Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
            UnityTexture2D _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
            float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
            float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.tex, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.samplerstate, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
            float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
            float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
            float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
            Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, 0, 1, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
            float3 _Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3 = _CoverDirection;
            float _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float = _CoverNormalBlendHardness;
            float3 _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3);
            float3 _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3);
            float _Split_64630334a9c0058a848439df6d5afe71_R_1_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[0];
            float _Split_64630334a9c0058a848439df6d5afe71_G_2_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[1];
            float _Split_64630334a9c0058a848439df6d5afe71_B_3_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[2];
            float _Split_64630334a9c0058a848439df6d5afe71_A_4_Float = 0;
            float _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float;
            Unity_Add_float(_Split_64630334a9c0058a848439df6d5afe71_R_1_Float, _Split_64630334a9c0058a848439df6d5afe71_G_2_Float, _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float);
            float _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float;
            Unity_Add_float(_Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float, _Split_64630334a9c0058a848439df6d5afe71_B_3_Float, _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float);
            float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
            float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
            float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
            Unity_Subtract_float(4, _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
            float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
            Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
            float _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float;
            Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float);
            float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
            Unity_Power_float(_Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
            float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
            Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, 0, 2, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
            float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
            Unity_Multiply_float_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
            float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
            Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
            float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
            Unity_Clamp_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, 0, 0.9999, _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
            float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
            float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
            Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, 45, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
            float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
            Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
            float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
            Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
            float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
            Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, 0, 2, _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
            float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
            Unity_Divide_float(1, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
            float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
            float _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float;
            Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float);
            float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
            float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
            Unity_Power_float(_Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
            float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
            float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
            Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
            float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
            float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
            float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
            float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
            float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
            Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
            float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, 1, _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
            float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
            Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, 0, 1, _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
            float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
            float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
            float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
            Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
            float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
            Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
            float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
            Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, -0.5, _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
            float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
            Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, 0, 1, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
            float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
            Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
            float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
            Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, 0, 1, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
            float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
            Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
            float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
            Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
            float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
            float3 _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3;
            {
                float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
                _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
            }
            float3 _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3, _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3);
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[0];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[1];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[2];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_A_4_Float = 0;
            float _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float;
            Unity_Add_float(_Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float, _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float);
            float _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float;
            Unity_Add_float(_Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float, _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float);
            float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
            Unity_Multiply_float_float(_Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
            float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
            float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
            float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
            UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f8c96485552c638b8d38f34567da0e97;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f8c96485552c638b8d38f34567da0e97, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4);
            float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[0];
            float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[1];
            float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[2];
            float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[3];
            float _Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float = _CoverHeightMapMin;
            float _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float = _CoverHeightMapMax;
            float2 _Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2 = float2(_Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float, _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float);
            float _Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float = _CoverHeightMapOffset;
            float2 _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2;
            Unity_Add_float2(_Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2, (_Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float.xx), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2);
            float _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float);
            float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
            float _Split_8259ed9a9318f9848f486475aa132211_R_1_Float = IN.VertexColor[0];
            float _Split_8259ed9a9318f9848f486475aa132211_G_2_Float = IN.VertexColor[1];
            float _Split_8259ed9a9318f9848f486475aa132211_B_3_Float = IN.VertexColor[2];
            float _Split_8259ed9a9318f9848f486475aa132211_A_4_Float = IN.VertexColor[3];
            float _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_8259ed9a9318f9848f486475aa132211_G_2_Float, _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float);
            float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
            Unity_Saturate_float(_Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
            float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
            float _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float;
            Unity_Branch_float(_Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float);
            float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
            UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_9d0bc4ed86df988595f613acb6a8509f;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv0 = IN.uv0;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv2 = IN.uv2;
            float4 _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4);
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[0];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[1];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_B_3_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[2];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[3];
            float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
            float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
            Unity_Multiply_float_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
            float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
            float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
            float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
            float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
            float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
            float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
            float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
            float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
            float _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float, 2, _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float);
            float _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float;
            Unity_Add_float(_Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float, -1, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float);
            float _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float = _DetailSmoothnessScale;
            float _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float;
            Unity_Multiply_float_float(_Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float, _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float);
            float _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float;
            Unity_Saturate_float(_Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float, _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float);
            float _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float;
            Unity_Absolute_float(_Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float);
            Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43;
            float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float;
            SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float);
            float _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float;
            Unity_Saturate_float(_BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
            float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
            Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
            float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
            float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
            float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
            float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
            float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
            float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
            float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
            float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
            Unity_Lerp_float3(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
            float _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float = _WetSmoothness;
            float _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float;
            Unity_OneMinus_float(_Split_8259ed9a9318f9848f486475aa132211_R_1_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float);
            float _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float, _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float);
            surface.Alpha = _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float;
            surface.AlphaClipThreshold = _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float;
            surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            surface.Smoothness = _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            return surface;
        }
        
            // --------------------------------------------------
            // Build Graph Inputs
            #ifdef HAVE_VFX_MODIFICATION
            #define VFX_SRP_ATTRIBUTES AttributesMesh
            #define VaryingsMeshType VaryingsMeshToPS
            #define VFX_SRP_VARYINGS VaryingsMeshType
            #define VFX_SRP_SURFACE_INPUTS FragInputs
            #endif
            
        VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.ObjectSpaceNormal =                          input.normalOS;
            output.ObjectSpaceTangent =                         input.tangentOS.xyz;
            output.ObjectSpacePosition =                        input.positionOS;
        
            return output;
        }
        
        VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            // build graph inputs
            VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
            // Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
        
            // evaluate vertex graph
        #ifdef HAVE_VFX_MODIFICATION
            GraphProperties properties;
            ZERO_INITIALIZE(GraphProperties, properties);
        
            // Fetch the vertex graph properties for the particle instance.
            GetElementVertexProperties(element, properties);
        
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
        #else
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
        #endif
            return vertexDescription;
        
        }
        
        AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
        #ifdef USE_CUSTOMINTERP_SUBSTRUCT
            #ifdef TESSELLATION_ON
            , inout VaryingsMeshToDS varyings
            #else
            , inout VaryingsMeshToPS varyings
            #endif
        #endif
        #ifdef HAVE_VFX_MODIFICATION
                , AttributesElement element
        #endif
            )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
        
            // copy graph output to the results
            input.positionOS = vertexDescription.Position;
            input.normalOS = vertexDescription.Normal;
            input.tangentOS.xyz = vertexDescription.Tangent;
        
            
        
            return input;
        }
        
        #if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
        // Return precomputed Velocity in object space
        float3 GetCustomVelocity(AttributesMesh input
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
            return vertexDescription.CustomVelocity;
        }
        #endif
        
        FragInputs BuildFragInputs(VaryingsMeshToPS input)
        {
            FragInputs output;
            ZERO_INITIALIZE(FragInputs, output);
        
            // Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
            // TODO: this is a really poor workaround, but the variable is used in a bunch of places
            // to compute normals which are then passed on elsewhere to compute other values...
            output.tangentToWorld = k_identity3x3;
            output.positionSS = input.positionCS;       // input.positionCS is SV_Position
        
            output.positionRWS =                input.positionRWS;
            output.tangentToWorld =             BuildTangentToWorld(input.tangentWS, input.normalWS);
            output.texCoord0 =                  input.texCoord0;
            output.texCoord2 =                  input.texCoord2;
            output.color =                      input.color;
        
        #ifdef HAVE_VFX_MODIFICATION
            // FragInputs from VFX come from two places: Interpolator or CBuffer.
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
        
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            // splice point to copy custom interpolator fields from varyings to frag inputs
            
        
            return output;
        }
        
        // existing HDRP code uses the combined function to go directly from packed to frag inputs
        FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
        {
            UNITY_SETUP_INSTANCE_ID(input);
        #if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
            unity_InstanceID = input.instanceID;
        #endif
            VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
            return BuildFragInputs(unpacked);
        }
            SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
            output.WorldSpaceNormal =                           normalize(input.tangentToWorld[2].xyz);
            #if defined(SHADER_STAGE_RAY_TRACING)
            #else
            #endif
            output.TangentSpaceNormal =                         float3(0.0f, 0.0f, 1.0f);
            output.WorldSpaceTangent =                          input.tangentToWorld[0].xyz;
            output.WorldSpaceBiTangent =                        input.tangentToWorld[1].xyz;
            output.AbsoluteWorldSpacePosition =                 GetAbsolutePositionWS(input.positionRWS);
        
        #if UNITY_UV_STARTS_AT_TOP
        #else
        #endif
        
        
            output.uv0 =                                        input.texCoord0;
            output.uv2 =                                        input.texCoord2;
            output.VertexColor =                                input.color;
        
            // splice point to copy frag inputs custom interpolator pack into the SDI
            
        
            return output;
        }
        
            // --------------------------------------------------
            // Build Surface Data (Specific Material)
        
        void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
        
        void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
            inout SurfaceData surfaceData)
        {
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
        #ifdef DECAL_NORMAL_BLENDING
            // SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
            // the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
            float3 normalTS;
        
            normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
            fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
        
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        
            GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
        #else
            // normal delivered to master node
            GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                // Both uses and modifies 'surfaceData.normalWS'.
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        #endif
        }
        void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
        {
            ZERO_INITIALIZE(SurfaceData, surfaceData);
        
            // specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
            // however specularOcclusion can come from the graph, so need to be init here so it can be override.
            surfaceData.specularOcclusion = 1.0;
        
            surfaceData.perceptualSmoothness =      surfaceDescription.Smoothness;
        
            #if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
                if (_EnableSSRefraction)
                {
        
                    surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
                    surfaceDescription.Alpha = 1.0;
                }
                else
                {
                    surfaceData.ior = 1.0;
                    surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                    surfaceData.atDistance = 1.0;
                    surfaceData.transmittanceMask = 0.0;
                    surfaceDescription.Alpha = 1.0;
                }
            #else
                surfaceData.ior = 1.0;
                surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                surfaceData.atDistance = 1.0;
                surfaceData.transmittanceMask = 0.0;
            #endif
        
            // These static material feature allow compile time optimization
            surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
            #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
            #endif
        
            #ifdef _MATERIAL_FEATURE_TRANSMISSION
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
            #endif
        
            #ifdef _MATERIAL_FEATURE_ANISOTROPY
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
        
                // Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
                surfaceData.normalWS = float3(0, 1, 0);
            #endif
        
            #ifdef _MATERIAL_FEATURE_IRIDESCENCE
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
            #endif
        
            #ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
            #endif
        
            #ifdef _MATERIAL_FEATURE_CLEAR_COAT
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
            #endif
        
            #if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
                // Require to have setup baseColor
                // Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
                surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
            #endif
        
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
            ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
        
            surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
        
            surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz);    // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
        
        
            bentNormalWS = surfaceData.normalWS;
        
            surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
        
            #ifdef DEBUG_DISPLAY
                if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
                {
                    // TODO: need to update mip info
                    surfaceData.metallic = 0;
                }
        
                // We need to call ApplyDebugToSurfaceData after filling the surfarcedata and before filling builtinData
                // as it can modify attribute use for static lighting
                ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
            #endif
        
            // By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
            // If user provide bent normal then we process a better term
            #if defined(_SPECULAR_OCCLUSION_CUSTOM)
                // Just use the value passed through via the slot (not active otherwise)
            #elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
                // If we have bent normal and ambient occlusion, process a specular occlusion
                surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
            #elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
                surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
            #endif
        
            #if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
                surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
            #endif
        }
        
            // --------------------------------------------------
            // Get Surface And BuiltinData
        
            void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
            {
                // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
                #if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
                #ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
                LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
                #endif
                #endif
        
                #ifndef SHADER_UNLIT
                #ifdef _DOUBLESIDED_ON
                    float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
                #else
                    float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
                #endif
        
                ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
                #endif // SHADER_UNLIT
        
                SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
        
                #if defined(HAVE_VFX_MODIFICATION)
                GraphProperties properties;
                ZERO_INITIALIZE(GraphProperties, properties);
        
                GetElementPixelProperties(fragInputs, properties);
        
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
                #else
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
                #endif
        
                // Perform alpha test very early to save performance (a killed pixel will not sample textures)
                // TODO: split graph evaluation to grab just alpha dependencies first? tricky..
                #ifdef _ALPHATEST_ON
                    float alphaCutoff = surfaceDescription.AlphaClipThreshold;
                    #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
                    // The TransparentDepthPrepass is also used with SSR transparent.
                    // If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
                    // otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
                    #elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
                    // DepthPostpass always use its own alpha threshold
                    alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
                    #elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
                    // If use shadow threshold isn't enable we don't allow any test
                    #endif
        
                    GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
                #endif
        
                #if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
                ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
                #endif
        
                #ifndef SHADER_UNLIT
                float3 bentNormalWS;
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD1
                    float4 lightmapTexCoord1 = fragInputs.texCoord1;
                #else
                    float4 lightmapTexCoord1 = float4(0,0,0,0);
                #endif
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD2
                    float4 lightmapTexCoord2 = fragInputs.texCoord2;
                #else
                    float4 lightmapTexCoord2 = float4(0,0,0,0);
                #endif
        
                // Builtin Data
                // For back lighting we use the oposite vertex normal
                InitBuiltinData(posInput, surfaceDescription.Alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
        
                #else
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
        
                ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
                builtinData.opacity = surfaceDescription.Alpha;
        
                #if defined(DEBUG_DISPLAY)
                    // Light Layers are currently not used for the Unlit shader (because it is not lit)
                    // But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
                    // display in the light layers visualization mode, therefore we need the renderingLayers
                    builtinData.renderingLayers = GetMeshRenderingLightLayer();
                #endif
        
                #endif // SHADER_UNLIT
        
                #ifdef _ALPHATEST_ON
                    // Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
                    builtinData.alphaClipTreshold = alphaCutoff;
                #endif
        
                // override sampleBakedGI - not used by Unlit
        
        
                // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
                // We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
                // This is a limitation of the current MRT approach.
                #ifdef UNITY_VIRTUAL_TEXTURING
                #endif
        
                #if _DEPTHOFFSET_ON
                builtinData.depthOffset = surfaceDescription.DepthOffset;
                #endif
        
                // TODO: We should generate distortion / distortionBlur for non distortion pass
                #if (SHADERPASS == SHADERPASS_DISTORTION)
                builtinData.distortion = surfaceDescription.Distortion;
                builtinData.distortionBlur = surfaceDescription.DistortionBlur;
                #endif
        
                #ifndef SHADER_UNLIT
                // PostInitBuiltinData call ApplyDebugToBuiltinData
                PostInitBuiltinData(V, posInput, surfaceData, builtinData);
                #else
                ApplyDebugToBuiltinData(builtinData);
                #endif
        
                RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
            }
        
            // --------------------------------------------------
            // Main
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDepthOnly.hlsl"
        
            // --------------------------------------------------
            // Visual Effect Vertex Invocations
        
        	#ifdef HAVE_VFX_MODIFICATION
        	#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
        	#endif
        
            ENDHLSL
        }
        Pass
        {
            Name "FullScreenDebug"
            Tags
            {
                "LightMode" = "FullScreenDebug"
            }
        
            // Render State
            Cull [_CullMode]
        ZTest LEqual
        ZWrite Off
        
            // Debug
            // <None>
        
            // --------------------------------------------------
            // Pass
        
            HLSLPROGRAM
        
            // Pragmas
            #pragma multi_compile _ DOTS_INSTANCING_ON
        #pragma instancing_options renderinglayer
        #pragma target 4.5
        #pragma vertex Vert
        #pragma fragment Frag
        #pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
        #pragma multi_compile_instancing
        
            // Keywords
            #pragma shader_feature_local _ _ALPHATEST_ON
        #pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local _ _DOUBLESIDED_ON
        #pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
        #pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC
        #pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
        #pragma multi_compile _ LOD_FADE_CROSSFADE
        #pragma shader_feature_local_fragment _ _DISABLE_DECALS
        #pragma shader_feature_local_raytracing _ _DISABLE_DECALS
        #pragma shader_feature_local_fragment _ _DISABLE_SSR
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR
        #pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
            // GraphKeywords: <None>
        
            // For custom interpolators to inject a substruct definition before FragInputs definition,
            // allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
            struct CustomInterpolators
        {
        };
        #define USE_CUSTOMINTERP_SUBSTRUCT
        
        
        
            // TODO: Merge FragInputsVFX substruct with CustomInterpolators.
        	#ifdef HAVE_VFX_MODIFICATION
        	struct FragInputsVFX
            {
                /* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
            };
            #endif
        
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
            // Always include Shader Graph version
            // Always include last to avoid double macros
            #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
        
            // --------------------------------------------------
            // Defines
        
            // Attribute
            #define ATTRIBUTES_NEED_NORMAL
            #define ATTRIBUTES_NEED_TANGENT
            #define ATTRIBUTES_NEED_TEXCOORD0
            #define ATTRIBUTES_NEED_TEXCOORD2
            #define ATTRIBUTES_NEED_COLOR
            #define VARYINGS_NEED_POSITION_WS
            #define VARYINGS_NEED_TANGENT_TO_WORLD
            #define VARYINGS_NEED_TEXCOORD0
            #define VARYINGS_NEED_TEXCOORD2
            #define VARYINGS_NEED_COLOR
        
            #define HAVE_MESH_MODIFICATION
        
            //Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
            //if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
            //Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
            #if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
            #define FRAG_INPUTS_ENABLE_STRIPPING
            #endif
            #define FRAG_INPUTS_USE_TEXCOORD0
            #define FRAG_INPUTS_USE_TEXCOORD2
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
        
        
        
            #define SHADERPASS SHADERPASS_FULL_SCREEN_DEBUG
        #define RAYTRACING_SHADER_GRAPH_DEFAULT
        
        
            // Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
            // The ShaderGraph don't support correctly migration of this node as it serialize all the node data
            // in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
            // to still allow us to rename the field and keyword of this node without breaking existing code.
            #ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
            #define RAYTRACING_SHADER_GRAPH_HIGH
            #endif
        
            #ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
            #define RAYTRACING_SHADER_GRAPH_LOW
            #endif
            // end
        
            #ifndef SHADER_UNLIT
            // We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
            // VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
            #if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
                #define VARYINGS_NEED_CULLFACE
            #endif
            #endif
        
            // Specific Material Define
        #define _AMBIENT_OCCLUSION 1
        #define _SPECULAR_OCCLUSION_FROM_AO 1
        #define _ENERGY_CONSERVING_SPECULAR 1
        
        // If we use subsurface scattering, enable output split lighting (for forward pass)
        #if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
            #define OUTPUT_SPLIT_LIGHTING
        #endif
        
        // This shader support recursive rendering for raytracing
        #define HAVE_RECURSIVE_RENDERING
        
        // In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
        #if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
            #undef  _REFRACTION_PLANE
            #undef  _REFRACTION_SPHERE
            #define _REFRACTION_THIN
        #endif
            // Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
        
            // To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
            // we should have a code like this:
            // if !defined(_DISABLE_SSR_TRANSPARENT)
            // pragma multi_compile _ WRITE_NORMAL_BUFFER
            // endif
            // i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
            // it based on if SSR transparent in frame settings and not (and stripper can strip it).
            // this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
            // so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
            // Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
            #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
            #if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
                #define WRITE_NORMAL_BUFFER
            #endif
            #endif
        
            #ifndef DEBUG_DISPLAY
                // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
                // Don't do it with debug display mode as it is possible there is no depth prepass in this case
                #if !defined(_SURFACE_TYPE_TRANSPARENT)
                    #if SHADERPASS == SHADERPASS_FORWARD
                    #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
                    #elif SHADERPASS == SHADERPASS_GBUFFER
                    #define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
                    #endif
                #endif
            #endif
        
            // Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
            #if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
                #define _DEFERRED_CAPABLE_MATERIAL
            #endif
        
            // Translate transparent motion vector define
            #if defined(_TRANSPARENT_WRITES_MOTION_VEC) && defined(_SURFACE_TYPE_TRANSPARENT)
                #define _WRITE_TRANSPARENT_MOTION_VECTOR
            #endif
        
            // -- Graph Properties
            CBUFFER_START(UnityPerMaterial)
        float _AlphaCutoff;
        float4 _BaseColor;
        float4 _BaseColorMap_TexelSize;
        float _BaseUsePlanarUV;
        float4 _BaseTilingOffset;
        float4 _BaseNormalMap_TexelSize;
        float _BaseNormalScale;
        float4 _BaseMaskMap_TexelSize;
        float _BaseMetallic;
        float _BaseAORemapMin;
        float _BaseAORemapMax;
        float _BaseSmoothnessRemapMin;
        float _BaseSmoothnessRemapMax;
        float _USEDYNAMICCOVERTSTATICMASKF;
        float4 _CoverMaskA_TexelSize;
        float _CoverMaskPower;
        float _Cover_Amount;
        float _Cover_Amount_Grow_Speed;
        float3 _CoverDirection;
        float _Cover_Max_Angle;
        float _Cover_Min_Height;
        float _Cover_Min_Height_Blending;
        float4 _CoverBaseColor;
        float4 _CoverBaseColorMap_TexelSize;
        float4 _CoverTilingOffset;
        float _CoverTriplanarThreshold;
        float4 _CoverNormalMap_TexelSize;
        float _CoverNormalScale;
        float _CoverNormalBlendHardness;
        float _CoverHardness;
        float _CoverHeightMapMin;
        float _CoverHeightMapMax;
        float _CoverHeightMapOffset;
        float4 _CoverMaskMap_TexelSize;
        float _CoverMetallic;
        float _CoverAORemapMin;
        float _CoverAORemapMax;
        float _CoverSmoothnessRemapMin;
        float _CoverSmoothnessRemapMax;
        float4 _DetailMap_TexelSize;
        float4 _DetailTilingOffset;
        float _DetailAlbedoScale;
        float _DetailNormalScale;
        float _DetailSmoothnessScale;
        float4 _WetColor;
        float _WetSmoothness;
        float4 _EmissionColor;
        float _UseShadowThreshold;
        float4 _DoubleSidedConstants;
        float _BlendMode;
        float _EnableBlendModePreserveSpecularLighting;
        float _RayTracing;
        float _RefractionModel;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        SAMPLER(SamplerState_Linear_Repeat_Aniso8);
        TEXTURE2D(_BaseColorMap);
        SAMPLER(sampler_BaseColorMap);
        TEXTURE2D(_BaseNormalMap);
        SAMPLER(sampler_BaseNormalMap);
        TEXTURE2D(_BaseMaskMap);
        SAMPLER(sampler_BaseMaskMap);
        TEXTURE2D(_CoverMaskA);
        SAMPLER(sampler_CoverMaskA);
        TEXTURE2D(_CoverBaseColorMap);
        SAMPLER(sampler_CoverBaseColorMap);
        TEXTURE2D(_CoverNormalMap);
        SAMPLER(sampler_CoverNormalMap);
        TEXTURE2D(_CoverMaskMap);
        SAMPLER(sampler_CoverMaskMap);
        TEXTURE2D(_DetailMap);
        SAMPLER(sampler_DetailMap);
        
            // -- Property used by ScenePickingPass
            #ifdef SCENEPICKINGPASS
            float4 _SelectionID;
            #endif
        
            // -- Properties used by SceneSelectionPass
            #ifdef SCENESELECTIONPASS
            int _ObjectId;
            int _PassValue;
            #endif
        
            // Includes
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
        	#include "./NM_Object_VSPro_Indirect.cginc"
        
            // --------------------------------------------------
            // Structs and Packing
        
            struct AttributesMesh
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv2 : TEXCOORD2;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct VaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float3 positionRWS;
             float3 normalWS;
             float4 tangentWS;
             float4 texCoord0;
             float4 texCoord2;
             float4 color;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        struct VertexDescriptionInputs
        {
             float3 ObjectSpaceNormal;
             float3 ObjectSpaceTangent;
             float3 ObjectSpacePosition;
        };
        struct SurfaceDescriptionInputs
        {
             float3 WorldSpaceNormal;
             float3 TangentSpaceNormal;
             float3 WorldSpaceTangent;
             float3 WorldSpaceBiTangent;
             float3 AbsoluteWorldSpacePosition;
             float4 uv0;
             float4 uv2;
             float4 VertexColor;
        };
        struct PackedVaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float4 tangentWS : INTERP0;
             float4 texCoord0 : INTERP1;
             float4 texCoord2 : INTERP2;
             float4 color : INTERP3;
             float3 positionRWS : INTERP4;
             float3 normalWS : INTERP5;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        
            PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
        {
            PackedVaryingsMeshToPS output;
            ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
            output.positionCS = input.positionCS;
            output.tangentWS.xyzw = input.tangentWS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord2.xyzw = input.texCoord2;
            output.color.xyzw = input.color;
            output.positionRWS.xyz = input.positionRWS;
            output.normalWS.xyz = input.normalWS;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
        {
            VaryingsMeshToPS output;
            output.positionCS = input.positionCS;
            output.tangentWS = input.tangentWS.xyzw;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord2 = input.texCoord2.xyzw;
            output.color = input.color.xyzw;
            output.positionRWS = input.positionRWS.xyz;
            output.normalWS = input.normalWS.xyz;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        
            // --------------------------------------------------
            // Graph
        
        
            // Graph Functions
            
        void AddPragma_float(float3 A, out float3 Out){
        #pragma instancing_options procedural:setupVSPro
        Out = A;
        }
        
        struct Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float
        {
        };
        
        void SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(float3 Vector3_314C8600, Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float IN, out float3 ObjectSpacePosition_1)
        {
        float3 _Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3 = Vector3_314C8600;
        float3 _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3;
        InjectSetup_float(_Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3, _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3);
        float3 _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        AddPragma_float(_InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3, _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3);
        ObjectSpacePosition_1 = _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        }
        
        void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
        {
            RGBA = float4(R, G, B, A);
            RGB = float3(R, G, B);
            RG = float2(R, G);
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
        Out = A * B;
        }
        
        void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
        {
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
        float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
        Unity_Divide_float(1, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
        float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
        float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
        Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
        float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
        float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
        float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
        float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
        Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
        UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        }
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_Absolute_float(float In, out float Out)
        {
            Out = abs(In);
        }
        
        void Unity_SquareRoot_float4(float4 In, out float4 Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Sign_float(float In, out float Out)
        {
            Out = sign(In);
        }
        
        void Unity_Ceiling_float(float In, out float Out)
        {
            Out = ceil(In);
        }
        
        void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
        {
        };
        
        void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
        {
        float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
        float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
        Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
        Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
        float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
        Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
        float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
        OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
        }
        
        void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A / B;
        }
        
        void Unity_Sign_float3(float3 In, out float3 Out)
        {
            Out = sign(In);
        }
        
        void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
        {
        Out = A * B;
        }
        
        void Unity_Absolute_float3(float3 In, out float3 Out)
        {
            Out = abs(In);
        }
        
        void Unity_Power_float3(float3 A, float3 B, out float3 Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
        Out = A * B;
        }
        
        void Unity_Add_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A + B;
        }
        
        struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
        {
        float3 WorldSpaceNormal;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
        float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
        float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
        float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
        float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
        float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, 1);
        float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
        UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
        Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
        float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, 1);
        float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, 1);
        float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
        float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
        Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
        float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
        Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
        XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
        XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_Add_float2(float2 A, float2 B, out float2 Out)
        {
            Out = A + B;
        }
        
        void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
        {
            Out = dot(A, B);
        }
        
        void Unity_OneMinus_float(float In, out float Out)
        {
            Out = 1 - In;
        }
        
        void Unity_SquareRoot_float(float In, out float Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Normalize_float3(float3 In, out float3 Out)
        {
            Out = normalize(In);
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
        {
        float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
        float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
        float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
        float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
        float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
        float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
        Unity_Divide_float(1, _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
        float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
        float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
        Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
        float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
        float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
        float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
        float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
        Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
        UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
        float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangent(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
        float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
        Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
        XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
        }
        
        void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
        {
            Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
        }
        
        void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
        {
            Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A / B;
        }
        
        struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
        UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
        float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
        Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
        float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, 1);
        float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
        _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
        float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
        float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
        Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
        float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
        float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
        float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
        float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
        float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, 1);
        float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
        _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
        float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
        float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
        float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
        Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
        float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
        float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
        float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
        Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
        float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
        Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
        Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
        float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
        XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
        XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
        YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
        XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Power_float(float A, float B, out float Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
        {
            Out = lerp(A, B, T);
        }
        
        void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
        {
            Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
        }
        
        void Unity_Branch_float(float Predicate, float True, float False, out float Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Lerp_float(float A, float B, float T, out float Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
        {
        };
        
        void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
        {
        float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
        SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        }
        
            // Graph Vertex
            struct VertexDescription
        {
            float3 Position;
            float3 Normal;
            float3 Tangent;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5;
            float3 _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(IN.ObjectSpacePosition, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3);
            description.Position = _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            description.Normal = IN.ObjectSpaceNormal;
            description.Tangent = IN.ObjectSpaceTangent;
            return description;
        }
        
            // Graph Pixel
            struct SurfaceDescription
        {
            float3 BaseColor;
            float3 Emission;
            float Alpha;
            float AlphaClipThreshold;
            float3 BentNormal;
            float Smoothness;
            float Occlusion;
            float3 NormalTS;
            float Metallic;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
            float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
            float _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean = _BaseUsePlanarUV;
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_41db1f1f529b6f8e9c51558bacdba727;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv0 = IN.uv0;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv2 = IN.uv2;
            float4 _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4);
            float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
            float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
            Unity_Multiply_float4_float4(_PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
            UnityTexture2D _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
            float4 _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4 = _DetailTilingOffset;
            float _Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[0];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[1];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[2];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[3];
            float2 _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float);
            float2 _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float);
            float2 _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2, _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2, _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2);
            float4 _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.tex, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.samplerstate, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2) );
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.r;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.g;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.b;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.a;
            float _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float, 2, _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float);
            float _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float;
            Unity_Add_float(_Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float, -1, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float);
            float _Property_605f29777330a58ba88ac032e905433b_Out_0_Float = _DetailAlbedoScale;
            float _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float;
            Unity_Multiply_float_float(_Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Property_605f29777330a58ba88ac032e905433b_Out_0_Float, _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float);
            float _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float;
            Unity_Saturate_float(_Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float, _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float);
            float _Absolute_8acef423205118879e75274a48969d34_Out_1_Float;
            Unity_Absolute_float(_Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float);
            Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185;
            float3 _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3;
            SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3);
            UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
            float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
            float4 _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4;
            Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4);
            float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4);
            float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
            float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
            Unity_Multiply_float4_float4(_TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
            float _Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
            UnityTexture2D _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
            float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
            float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.tex, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.samplerstate, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
            float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
            float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
            float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
            Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, 0, 1, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
            float3 _Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3 = _CoverDirection;
            float2 _Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2 = float2(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float, _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float);
            float2 _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2, float2(2, 2), _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2);
            float2 _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2;
            Unity_Add_float2(_Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2, float2(-1, -1), _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2);
            float _Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float = _DetailNormalScale;
            float2 _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2, (_Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float.xx), _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2);
            float _Split_c4822b8eaff9b185be7c059792345712_R_1_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[0];
            float _Split_c4822b8eaff9b185be7c059792345712_G_2_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[1];
            float _Split_c4822b8eaff9b185be7c059792345712_B_3_Float = 0;
            float _Split_c4822b8eaff9b185be7c059792345712_A_4_Float = 0;
            float _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float;
            Unity_DotProduct_float2(_Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float);
            float _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float;
            Unity_Saturate_float(_DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float, _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float);
            float _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float;
            Unity_OneMinus_float(_Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float, _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float);
            float _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float;
            Unity_SquareRoot_float(_OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            float3 _Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3 = float3(_Split_c4822b8eaff9b185be7c059792345712_R_1_Float, _Split_c4822b8eaff9b185be7c059792345712_G_2_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
            Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_e976eded9c94228090999d383a1bd95b;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceNormal = IN.WorldSpaceNormal;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceTangent = IN.WorldSpaceTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv0 = IN.uv0;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv2 = IN.uv2;
            float4 _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4;
            SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_e976eded9c94228090999d383a1bd95b, _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4);
            float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
            float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
            Unity_NormalStrength_float((_PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
            float3 _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3;
            Unity_NormalBlend_float(_Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3);
            UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
            Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceTangent = IN.WorldSpaceTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4;
            SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4);
            float _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float = _CoverNormalBlendHardness;
            float3 _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3);
            float3 _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3);
            float _Split_64630334a9c0058a848439df6d5afe71_R_1_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[0];
            float _Split_64630334a9c0058a848439df6d5afe71_G_2_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[1];
            float _Split_64630334a9c0058a848439df6d5afe71_B_3_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[2];
            float _Split_64630334a9c0058a848439df6d5afe71_A_4_Float = 0;
            float _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float;
            Unity_Add_float(_Split_64630334a9c0058a848439df6d5afe71_R_1_Float, _Split_64630334a9c0058a848439df6d5afe71_G_2_Float, _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float);
            float _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float;
            Unity_Add_float(_Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float, _Split_64630334a9c0058a848439df6d5afe71_B_3_Float, _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float);
            float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
            float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
            float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
            Unity_Subtract_float(4, _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
            float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
            Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
            float _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float;
            Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float);
            float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
            Unity_Power_float(_Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
            float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
            Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, 0, 2, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
            float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
            Unity_Multiply_float_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
            float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
            Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
            float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
            Unity_Clamp_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, 0, 0.9999, _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
            float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
            float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
            Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, 45, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
            float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
            Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
            float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
            Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
            float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
            Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, 0, 2, _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
            float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
            Unity_Divide_float(1, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
            float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
            float _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float;
            Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float);
            float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
            float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
            Unity_Power_float(_Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
            float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
            float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
            Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
            float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
            float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
            float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
            float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
            float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
            Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
            float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, 1, _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
            float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
            Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, 0, 1, _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
            float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
            float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
            float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
            Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
            float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
            Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
            float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
            Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, -0.5, _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
            float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
            Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, 0, 1, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
            float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
            Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
            float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
            Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, 0, 1, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
            float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
            Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
            float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
            Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
            float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
            float3 _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3;
            {
                float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
                _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
            }
            float3 _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3, _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3);
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[0];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[1];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[2];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_A_4_Float = 0;
            float _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float;
            Unity_Add_float(_Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float, _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float);
            float _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float;
            Unity_Add_float(_Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float, _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float);
            float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
            Unity_Multiply_float_float(_Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
            float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
            float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
            float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
            UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f8c96485552c638b8d38f34567da0e97;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f8c96485552c638b8d38f34567da0e97, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4);
            float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[0];
            float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[1];
            float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[2];
            float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[3];
            float _Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float = _CoverHeightMapMin;
            float _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float = _CoverHeightMapMax;
            float2 _Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2 = float2(_Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float, _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float);
            float _Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float = _CoverHeightMapOffset;
            float2 _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2;
            Unity_Add_float2(_Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2, (_Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float.xx), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2);
            float _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float);
            float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
            float _Split_8259ed9a9318f9848f486475aa132211_R_1_Float = IN.VertexColor[0];
            float _Split_8259ed9a9318f9848f486475aa132211_G_2_Float = IN.VertexColor[1];
            float _Split_8259ed9a9318f9848f486475aa132211_B_3_Float = IN.VertexColor[2];
            float _Split_8259ed9a9318f9848f486475aa132211_A_4_Float = IN.VertexColor[3];
            float _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_8259ed9a9318f9848f486475aa132211_G_2_Float, _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float);
            float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
            Unity_Saturate_float(_Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
            float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
            float _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float;
            Unity_Branch_float(_Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float);
            float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
            Unity_Lerp_float3(_BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
            float4 _Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4 = _WetColor;
            float3 _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3;
            Unity_Multiply_float3_float3((_Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3);
            float _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float;
            Unity_OneMinus_float(_Split_8259ed9a9318f9848f486475aa132211_R_1_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float);
            float3 _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3, (_OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float.xxx), _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3);
            float _Split_d9627fc463ca248fa5ce803295175e7f_R_1_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[0];
            float _Split_d9627fc463ca248fa5ce803295175e7f_G_2_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[1];
            float _Split_d9627fc463ca248fa5ce803295175e7f_B_3_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[2];
            float _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[3];
            float _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float = _AlphaCutoff;
            UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_9d0bc4ed86df988595f613acb6a8509f;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv0 = IN.uv0;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv2 = IN.uv2;
            float4 _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4);
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[0];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[1];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_B_3_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[2];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[3];
            float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
            float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
            Unity_Multiply_float_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
            float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
            float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
            float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
            float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
            float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
            float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
            float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
            float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
            float _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float, 2, _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float);
            float _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float;
            Unity_Add_float(_Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float, -1, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float);
            float _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float = _DetailSmoothnessScale;
            float _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float;
            Unity_Multiply_float_float(_Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float, _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float);
            float _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float;
            Unity_Saturate_float(_Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float, _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float);
            float _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float;
            Unity_Absolute_float(_Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float);
            Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43;
            float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float;
            SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float);
            float _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float;
            Unity_Saturate_float(_BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
            float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
            Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
            float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
            float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
            float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
            float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
            float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
            float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
            float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
            float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
            Unity_Lerp_float3(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
            float _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float = _WetSmoothness;
            float _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float, _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float);
            float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
            float3 _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3);
            float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
            surface.BaseColor = _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            surface.Emission = float3(0, 0, 0);
            surface.Alpha = _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float;
            surface.AlphaClipThreshold = _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float;
            surface.BentNormal = IN.TangentSpaceNormal;
            surface.Smoothness = _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
            surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float;
            return surface;
        }
        
            // --------------------------------------------------
            // Build Graph Inputs
            #ifdef HAVE_VFX_MODIFICATION
            #define VFX_SRP_ATTRIBUTES AttributesMesh
            #define VaryingsMeshType VaryingsMeshToPS
            #define VFX_SRP_VARYINGS VaryingsMeshType
            #define VFX_SRP_SURFACE_INPUTS FragInputs
            #endif
            
        VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.ObjectSpaceNormal =                          input.normalOS;
            output.ObjectSpaceTangent =                         input.tangentOS.xyz;
            output.ObjectSpacePosition =                        input.positionOS;
        
            return output;
        }
        
        VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            // build graph inputs
            VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
            // Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
        
            // evaluate vertex graph
        #ifdef HAVE_VFX_MODIFICATION
            GraphProperties properties;
            ZERO_INITIALIZE(GraphProperties, properties);
        
            // Fetch the vertex graph properties for the particle instance.
            GetElementVertexProperties(element, properties);
        
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
        #else
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
        #endif
            return vertexDescription;
        
        }
        
        AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
        #ifdef USE_CUSTOMINTERP_SUBSTRUCT
            #ifdef TESSELLATION_ON
            , inout VaryingsMeshToDS varyings
            #else
            , inout VaryingsMeshToPS varyings
            #endif
        #endif
        #ifdef HAVE_VFX_MODIFICATION
                , AttributesElement element
        #endif
            )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
        
            // copy graph output to the results
            input.positionOS = vertexDescription.Position;
            input.normalOS = vertexDescription.Normal;
            input.tangentOS.xyz = vertexDescription.Tangent;
        
            
        
            return input;
        }
        
        #if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
        // Return precomputed Velocity in object space
        float3 GetCustomVelocity(AttributesMesh input
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
            return vertexDescription.CustomVelocity;
        }
        #endif
        
        FragInputs BuildFragInputs(VaryingsMeshToPS input)
        {
            FragInputs output;
            ZERO_INITIALIZE(FragInputs, output);
        
            // Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
            // TODO: this is a really poor workaround, but the variable is used in a bunch of places
            // to compute normals which are then passed on elsewhere to compute other values...
            output.tangentToWorld = k_identity3x3;
            output.positionSS = input.positionCS;       // input.positionCS is SV_Position
        
            output.positionRWS =                input.positionRWS;
            output.tangentToWorld =             BuildTangentToWorld(input.tangentWS, input.normalWS);
            output.texCoord0 =                  input.texCoord0;
            output.texCoord2 =                  input.texCoord2;
            output.color =                      input.color;
        
        #ifdef HAVE_VFX_MODIFICATION
            // FragInputs from VFX come from two places: Interpolator or CBuffer.
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
        
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            // splice point to copy custom interpolator fields from varyings to frag inputs
            
        
            return output;
        }
        
        // existing HDRP code uses the combined function to go directly from packed to frag inputs
        FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
        {
            UNITY_SETUP_INSTANCE_ID(input);
        #if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
            unity_InstanceID = input.instanceID;
        #endif
            VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
            return BuildFragInputs(unpacked);
        }
            SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
            output.WorldSpaceNormal =                           normalize(input.tangentToWorld[2].xyz);
            #if defined(SHADER_STAGE_RAY_TRACING)
            #else
            #endif
            output.TangentSpaceNormal =                         float3(0.0f, 0.0f, 1.0f);
            output.WorldSpaceTangent =                          input.tangentToWorld[0].xyz;
            output.WorldSpaceBiTangent =                        input.tangentToWorld[1].xyz;
            output.AbsoluteWorldSpacePosition =                 GetAbsolutePositionWS(input.positionRWS);
        
        #if UNITY_UV_STARTS_AT_TOP
        #else
        #endif
        
        
            output.uv0 =                                        input.texCoord0;
            output.uv2 =                                        input.texCoord2;
            output.VertexColor =                                input.color;
        
            // splice point to copy frag inputs custom interpolator pack into the SDI
            
        
            return output;
        }
        
            // --------------------------------------------------
            // Build Surface Data (Specific Material)
        
        void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
        
        void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
            inout SurfaceData surfaceData)
        {
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
        #ifdef DECAL_NORMAL_BLENDING
            // SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
            // the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
            float3 normalTS;
        
            normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
            fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
        
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        
            GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
        #else
            // normal delivered to master node
            GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                // Both uses and modifies 'surfaceData.normalWS'.
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        #endif
        }
        void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
        {
            ZERO_INITIALIZE(SurfaceData, surfaceData);
        
            // specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
            // however specularOcclusion can come from the graph, so need to be init here so it can be override.
            surfaceData.specularOcclusion = 1.0;
        
            surfaceData.baseColor =                 surfaceDescription.BaseColor;
            surfaceData.perceptualSmoothness =      surfaceDescription.Smoothness;
            surfaceData.ambientOcclusion =          surfaceDescription.Occlusion;
            surfaceData.metallic =                  surfaceDescription.Metallic;
        
            #if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
                if (_EnableSSRefraction)
                {
        
                    surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
                    surfaceDescription.Alpha = 1.0;
                }
                else
                {
                    surfaceData.ior = 1.0;
                    surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                    surfaceData.atDistance = 1.0;
                    surfaceData.transmittanceMask = 0.0;
                    surfaceDescription.Alpha = 1.0;
                }
            #else
                surfaceData.ior = 1.0;
                surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                surfaceData.atDistance = 1.0;
                surfaceData.transmittanceMask = 0.0;
            #endif
        
            // These static material feature allow compile time optimization
            surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
            #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
            #endif
        
            #ifdef _MATERIAL_FEATURE_TRANSMISSION
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
            #endif
        
            #ifdef _MATERIAL_FEATURE_ANISOTROPY
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
        
                // Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
                surfaceData.normalWS = float3(0, 1, 0);
            #endif
        
            #ifdef _MATERIAL_FEATURE_IRIDESCENCE
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
            #endif
        
            #ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
            #endif
        
            #ifdef _MATERIAL_FEATURE_CLEAR_COAT
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
            #endif
        
            #if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
                // Require to have setup baseColor
                // Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
                surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
            #endif
        
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
            ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
        
            surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
        
            surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz);    // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
        
        
            bentNormalWS = surfaceData.normalWS;
        
            surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
        
            #ifdef DEBUG_DISPLAY
                if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
                {
                    // TODO: need to update mip info
                    surfaceData.metallic = 0;
                }
        
                // We need to call ApplyDebugToSurfaceData after filling the surfarcedata and before filling builtinData
                // as it can modify attribute use for static lighting
                ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
            #endif
        
            // By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
            // If user provide bent normal then we process a better term
            #if defined(_SPECULAR_OCCLUSION_CUSTOM)
                // Just use the value passed through via the slot (not active otherwise)
            #elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
                // If we have bent normal and ambient occlusion, process a specular occlusion
                surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
            #elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
                surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
            #endif
        
            #if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
                surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
            #endif
        }
        
            // --------------------------------------------------
            // Get Surface And BuiltinData
        
            void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
            {
                // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
                #if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
                #ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
                LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
                #endif
                #endif
        
                #ifndef SHADER_UNLIT
                #ifdef _DOUBLESIDED_ON
                    float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
                #else
                    float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
                #endif
        
                ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
                #endif // SHADER_UNLIT
        
                SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
        
                #if defined(HAVE_VFX_MODIFICATION)
                GraphProperties properties;
                ZERO_INITIALIZE(GraphProperties, properties);
        
                GetElementPixelProperties(fragInputs, properties);
        
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
                #else
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
                #endif
        
                // Perform alpha test very early to save performance (a killed pixel will not sample textures)
                // TODO: split graph evaluation to grab just alpha dependencies first? tricky..
                #ifdef _ALPHATEST_ON
                    float alphaCutoff = surfaceDescription.AlphaClipThreshold;
                    #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
                    // The TransparentDepthPrepass is also used with SSR transparent.
                    // If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
                    // otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
                    #elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
                    // DepthPostpass always use its own alpha threshold
                    alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
                    #elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
                    // If use shadow threshold isn't enable we don't allow any test
                    #endif
        
                    GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
                #endif
        
                #if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
                ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
                #endif
        
                #ifndef SHADER_UNLIT
                float3 bentNormalWS;
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD1
                    float4 lightmapTexCoord1 = fragInputs.texCoord1;
                #else
                    float4 lightmapTexCoord1 = float4(0,0,0,0);
                #endif
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD2
                    float4 lightmapTexCoord2 = fragInputs.texCoord2;
                #else
                    float4 lightmapTexCoord2 = float4(0,0,0,0);
                #endif
        
                // Builtin Data
                // For back lighting we use the oposite vertex normal
                InitBuiltinData(posInput, surfaceDescription.Alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
        
                #else
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
        
                ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
                builtinData.opacity = surfaceDescription.Alpha;
        
                #if defined(DEBUG_DISPLAY)
                    // Light Layers are currently not used for the Unlit shader (because it is not lit)
                    // But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
                    // display in the light layers visualization mode, therefore we need the renderingLayers
                    builtinData.renderingLayers = GetMeshRenderingLightLayer();
                #endif
        
                #endif // SHADER_UNLIT
        
                #ifdef _ALPHATEST_ON
                    // Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
                    builtinData.alphaClipTreshold = alphaCutoff;
                #endif
        
                // override sampleBakedGI - not used by Unlit
        
                builtinData.emissiveColor = surfaceDescription.Emission;
        
                // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
                // We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
                // This is a limitation of the current MRT approach.
                #ifdef UNITY_VIRTUAL_TEXTURING
                #endif
        
                #if _DEPTHOFFSET_ON
                builtinData.depthOffset = surfaceDescription.DepthOffset;
                #endif
        
                // TODO: We should generate distortion / distortionBlur for non distortion pass
                #if (SHADERPASS == SHADERPASS_DISTORTION)
                builtinData.distortion = surfaceDescription.Distortion;
                builtinData.distortionBlur = surfaceDescription.DistortionBlur;
                #endif
        
                #ifndef SHADER_UNLIT
                // PostInitBuiltinData call ApplyDebugToBuiltinData
                PostInitBuiltinData(V, posInput, surfaceData, builtinData);
                #else
                ApplyDebugToBuiltinData(builtinData);
                #endif
        
                RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
            }
        
            // --------------------------------------------------
            // Main
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassFullScreenDebug.hlsl"
        
            // --------------------------------------------------
            // Visual Effect Vertex Invocations
        
        	#ifdef HAVE_VFX_MODIFICATION
        	#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
        	#endif
        
            ENDHLSL
        }
        Pass
        {
            Name "DepthOnly"
            Tags
            {
                "LightMode" = "DepthOnly"
            }
        
            // Render State
            Cull [_CullMode]
        ZWrite On
        Stencil
        {
        WriteMask [_StencilWriteMaskDepth]
        Ref [_StencilRefDepth]
        CompFront Always
        PassFront Replace
        CompBack Always
        PassBack Replace
        }
        AlphaToMask [_AlphaCutoffEnable]
        
            // Debug
            // <None>
        
            // --------------------------------------------------
            // Pass
        
            HLSLPROGRAM
        
            // Pragmas
            #pragma multi_compile _ DOTS_INSTANCING_ON
        #pragma instancing_options renderinglayer
        #pragma target 4.5
        #pragma vertex Vert
        #pragma fragment Frag
        #pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
        #pragma multi_compile_instancing
        
            // Keywords
            #pragma multi_compile _ WRITE_NORMAL_BUFFER
        #pragma shader_feature_local _ _ALPHATEST_ON
        #pragma multi_compile_fragment _ WRITE_MSAA_DEPTH
        #pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local _ _DOUBLESIDED_ON
        #pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
        #pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC
        #pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
        #pragma multi_compile _ LOD_FADE_CROSSFADE
        #pragma shader_feature_local_fragment _ _DISABLE_DECALS
        #pragma shader_feature_local_raytracing _ _DISABLE_DECALS
        #pragma shader_feature_local_fragment _ _DISABLE_SSR
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR
        #pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
        #pragma multi_compile _ WRITE_DECAL_BUFFER
        #pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
            // GraphKeywords: <None>
        
            // For custom interpolators to inject a substruct definition before FragInputs definition,
            // allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
            struct CustomInterpolators
        {
        };
        #define USE_CUSTOMINTERP_SUBSTRUCT
        
        
        
            // TODO: Merge FragInputsVFX substruct with CustomInterpolators.
        	#ifdef HAVE_VFX_MODIFICATION
        	struct FragInputsVFX
            {
                /* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
            };
            #endif
        
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
            // Always include Shader Graph version
            // Always include last to avoid double macros
            #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
        
            // --------------------------------------------------
            // Defines
        
            // Attribute
            #define ATTRIBUTES_NEED_NORMAL
            #define ATTRIBUTES_NEED_TANGENT
            #define ATTRIBUTES_NEED_TEXCOORD0
            #define ATTRIBUTES_NEED_TEXCOORD2
            #define ATTRIBUTES_NEED_COLOR
            #define VARYINGS_NEED_POSITION_WS
            #define VARYINGS_NEED_TANGENT_TO_WORLD
            #define VARYINGS_NEED_TEXCOORD0
            #define VARYINGS_NEED_TEXCOORD2
            #define VARYINGS_NEED_COLOR
        
            #define HAVE_MESH_MODIFICATION
        
            //Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
            //if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
            //Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
            #if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
            #define FRAG_INPUTS_ENABLE_STRIPPING
            #endif
            #define FRAG_INPUTS_USE_TEXCOORD0
            #define FRAG_INPUTS_USE_TEXCOORD2
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
        
        
        
            #define SHADERPASS SHADERPASS_DEPTH_ONLY
        #define RAYTRACING_SHADER_GRAPH_DEFAULT
        
        
            // Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
            // The ShaderGraph don't support correctly migration of this node as it serialize all the node data
            // in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
            // to still allow us to rename the field and keyword of this node without breaking existing code.
            #ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
            #define RAYTRACING_SHADER_GRAPH_HIGH
            #endif
        
            #ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
            #define RAYTRACING_SHADER_GRAPH_LOW
            #endif
            // end
        
            #ifndef SHADER_UNLIT
            // We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
            // VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
            #if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
                #define VARYINGS_NEED_CULLFACE
            #endif
            #endif
        
            // Specific Material Define
        #define _AMBIENT_OCCLUSION 1
        #define _SPECULAR_OCCLUSION_FROM_AO 1
        #define _ENERGY_CONSERVING_SPECULAR 1
        
        // If we use subsurface scattering, enable output split lighting (for forward pass)
        #if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
            #define OUTPUT_SPLIT_LIGHTING
        #endif
        
        // This shader support recursive rendering for raytracing
        #define HAVE_RECURSIVE_RENDERING
        
        // In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
        #if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
            #undef  _REFRACTION_PLANE
            #undef  _REFRACTION_SPHERE
            #define _REFRACTION_THIN
        #endif
            // Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
        
            // To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
            // we should have a code like this:
            // if !defined(_DISABLE_SSR_TRANSPARENT)
            // pragma multi_compile _ WRITE_NORMAL_BUFFER
            // endif
            // i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
            // it based on if SSR transparent in frame settings and not (and stripper can strip it).
            // this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
            // so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
            // Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
            #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
            #if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
                #define WRITE_NORMAL_BUFFER
            #endif
            #endif
        
            #ifndef DEBUG_DISPLAY
                // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
                // Don't do it with debug display mode as it is possible there is no depth prepass in this case
                #if !defined(_SURFACE_TYPE_TRANSPARENT)
                    #if SHADERPASS == SHADERPASS_FORWARD
                    #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
                    #elif SHADERPASS == SHADERPASS_GBUFFER
                    #define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
                    #endif
                #endif
            #endif
        
            // Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
            #if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
                #define _DEFERRED_CAPABLE_MATERIAL
            #endif
        
            // Translate transparent motion vector define
            #if defined(_TRANSPARENT_WRITES_MOTION_VEC) && defined(_SURFACE_TYPE_TRANSPARENT)
                #define _WRITE_TRANSPARENT_MOTION_VECTOR
            #endif
        
            // -- Graph Properties
            CBUFFER_START(UnityPerMaterial)
        float _AlphaCutoff;
        float4 _BaseColor;
        float4 _BaseColorMap_TexelSize;
        float _BaseUsePlanarUV;
        float4 _BaseTilingOffset;
        float4 _BaseNormalMap_TexelSize;
        float _BaseNormalScale;
        float4 _BaseMaskMap_TexelSize;
        float _BaseMetallic;
        float _BaseAORemapMin;
        float _BaseAORemapMax;
        float _BaseSmoothnessRemapMin;
        float _BaseSmoothnessRemapMax;
        float _USEDYNAMICCOVERTSTATICMASKF;
        float4 _CoverMaskA_TexelSize;
        float _CoverMaskPower;
        float _Cover_Amount;
        float _Cover_Amount_Grow_Speed;
        float3 _CoverDirection;
        float _Cover_Max_Angle;
        float _Cover_Min_Height;
        float _Cover_Min_Height_Blending;
        float4 _CoverBaseColor;
        float4 _CoverBaseColorMap_TexelSize;
        float4 _CoverTilingOffset;
        float _CoverTriplanarThreshold;
        float4 _CoverNormalMap_TexelSize;
        float _CoverNormalScale;
        float _CoverNormalBlendHardness;
        float _CoverHardness;
        float _CoverHeightMapMin;
        float _CoverHeightMapMax;
        float _CoverHeightMapOffset;
        float4 _CoverMaskMap_TexelSize;
        float _CoverMetallic;
        float _CoverAORemapMin;
        float _CoverAORemapMax;
        float _CoverSmoothnessRemapMin;
        float _CoverSmoothnessRemapMax;
        float4 _DetailMap_TexelSize;
        float4 _DetailTilingOffset;
        float _DetailAlbedoScale;
        float _DetailNormalScale;
        float _DetailSmoothnessScale;
        float4 _WetColor;
        float _WetSmoothness;
        float4 _EmissionColor;
        float _UseShadowThreshold;
        float4 _DoubleSidedConstants;
        float _BlendMode;
        float _EnableBlendModePreserveSpecularLighting;
        float _RayTracing;
        float _RefractionModel;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        SAMPLER(SamplerState_Linear_Repeat_Aniso8);
        TEXTURE2D(_BaseColorMap);
        SAMPLER(sampler_BaseColorMap);
        TEXTURE2D(_BaseNormalMap);
        SAMPLER(sampler_BaseNormalMap);
        TEXTURE2D(_BaseMaskMap);
        SAMPLER(sampler_BaseMaskMap);
        TEXTURE2D(_CoverMaskA);
        SAMPLER(sampler_CoverMaskA);
        TEXTURE2D(_CoverBaseColorMap);
        SAMPLER(sampler_CoverBaseColorMap);
        TEXTURE2D(_CoverNormalMap);
        SAMPLER(sampler_CoverNormalMap);
        TEXTURE2D(_CoverMaskMap);
        SAMPLER(sampler_CoverMaskMap);
        TEXTURE2D(_DetailMap);
        SAMPLER(sampler_DetailMap);
        
            // -- Property used by ScenePickingPass
            #ifdef SCENEPICKINGPASS
            float4 _SelectionID;
            #endif
        
            // -- Properties used by SceneSelectionPass
            #ifdef SCENESELECTIONPASS
            int _ObjectId;
            int _PassValue;
            #endif
        
            // Includes
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
        	#include "./NM_Object_VSPro_Indirect.cginc"
        
            // --------------------------------------------------
            // Structs and Packing
        
            struct AttributesMesh
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv2 : TEXCOORD2;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct VaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float3 positionRWS;
             float3 normalWS;
             float4 tangentWS;
             float4 texCoord0;
             float4 texCoord2;
             float4 color;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        struct VertexDescriptionInputs
        {
             float3 ObjectSpaceNormal;
             float3 ObjectSpaceTangent;
             float3 ObjectSpacePosition;
        };
        struct SurfaceDescriptionInputs
        {
             float3 WorldSpaceNormal;
             float3 TangentSpaceNormal;
             float3 WorldSpaceTangent;
             float3 WorldSpaceBiTangent;
             float3 AbsoluteWorldSpacePosition;
             float4 uv0;
             float4 uv2;
             float4 VertexColor;
        };
        struct PackedVaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float4 tangentWS : INTERP0;
             float4 texCoord0 : INTERP1;
             float4 texCoord2 : INTERP2;
             float4 color : INTERP3;
             float3 positionRWS : INTERP4;
             float3 normalWS : INTERP5;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        
            PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
        {
            PackedVaryingsMeshToPS output;
            ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
            output.positionCS = input.positionCS;
            output.tangentWS.xyzw = input.tangentWS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord2.xyzw = input.texCoord2;
            output.color.xyzw = input.color;
            output.positionRWS.xyz = input.positionRWS;
            output.normalWS.xyz = input.normalWS;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
        {
            VaryingsMeshToPS output;
            output.positionCS = input.positionCS;
            output.tangentWS = input.tangentWS.xyzw;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord2 = input.texCoord2.xyzw;
            output.color = input.color.xyzw;
            output.positionRWS = input.positionRWS.xyz;
            output.normalWS = input.normalWS.xyz;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        
            // --------------------------------------------------
            // Graph
        
        
            // Graph Functions
            
        void AddPragma_float(float3 A, out float3 Out){
        #pragma instancing_options procedural:setupVSPro
        Out = A;
        }
        
        struct Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float
        {
        };
        
        void SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(float3 Vector3_314C8600, Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float IN, out float3 ObjectSpacePosition_1)
        {
        float3 _Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3 = Vector3_314C8600;
        float3 _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3;
        InjectSetup_float(_Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3, _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3);
        float3 _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        AddPragma_float(_InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3, _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3);
        ObjectSpacePosition_1 = _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        }
        
        void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
        {
            RGBA = float4(R, G, B, A);
            RGB = float3(R, G, B);
            RG = float2(R, G);
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
        Out = A * B;
        }
        
        void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
        {
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
        float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
        Unity_Divide_float(1, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
        float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
        float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
        Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
        float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
        float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
        float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
        float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
        Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
        UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        }
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_Absolute_float(float In, out float Out)
        {
            Out = abs(In);
        }
        
        void Unity_SquareRoot_float4(float4 In, out float4 Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Sign_float(float In, out float Out)
        {
            Out = sign(In);
        }
        
        void Unity_Ceiling_float(float In, out float Out)
        {
            Out = ceil(In);
        }
        
        void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
        {
        };
        
        void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
        {
        float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
        float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
        Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
        Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
        float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
        Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
        float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
        OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
        }
        
        void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A / B;
        }
        
        void Unity_Sign_float3(float3 In, out float3 Out)
        {
            Out = sign(In);
        }
        
        void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
        {
        Out = A * B;
        }
        
        void Unity_Absolute_float3(float3 In, out float3 Out)
        {
            Out = abs(In);
        }
        
        void Unity_Power_float3(float3 A, float3 B, out float3 Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
        Out = A * B;
        }
        
        void Unity_Add_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A + B;
        }
        
        struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
        {
        float3 WorldSpaceNormal;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
        float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
        float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
        float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
        float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
        float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, 1);
        float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
        UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
        Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
        float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, 1);
        float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, 1);
        float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
        float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
        Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
        float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
        Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
        XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
        XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_Add_float2(float2 A, float2 B, out float2 Out)
        {
            Out = A + B;
        }
        
        void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
        {
            Out = dot(A, B);
        }
        
        void Unity_OneMinus_float(float In, out float Out)
        {
            Out = 1 - In;
        }
        
        void Unity_SquareRoot_float(float In, out float Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Normalize_float3(float3 In, out float3 Out)
        {
            Out = normalize(In);
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
        {
        float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
        float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
        float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
        float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
        float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
        float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
        Unity_Divide_float(1, _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
        float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
        float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
        Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
        float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
        float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
        float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
        float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
        Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
        UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
        float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangent(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
        float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
        Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
        XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
        }
        
        void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
        {
            Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
        }
        
        void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
        {
            Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A / B;
        }
        
        struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
        UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
        float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
        Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
        float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, 1);
        float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
        _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
        float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
        float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
        Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
        float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
        float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
        float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
        float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
        float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, 1);
        float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
        _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
        float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
        float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
        float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
        Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
        float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
        float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
        float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
        Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
        float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
        Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
        Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
        float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
        XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
        XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
        YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
        XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Power_float(float A, float B, out float Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
        {
            Out = lerp(A, B, T);
        }
        
        void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
        {
            Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
        }
        
        void Unity_Branch_float(float Predicate, float True, float False, out float Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Lerp_float(float A, float B, float T, out float Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
        {
        };
        
        void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
        {
        float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
        SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        }
        
            // Graph Vertex
            struct VertexDescription
        {
            float3 Position;
            float3 Normal;
            float3 Tangent;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5;
            float3 _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(IN.ObjectSpacePosition, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3);
            description.Position = _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            description.Normal = IN.ObjectSpaceNormal;
            description.Tangent = IN.ObjectSpaceTangent;
            return description;
        }
        
            // Graph Pixel
            struct SurfaceDescription
        {
            float3 BaseColor;
            float3 Emission;
            float Alpha;
            float AlphaClipThreshold;
            float3 BentNormal;
            float Smoothness;
            float Occlusion;
            float3 NormalTS;
            float Metallic;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
            float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
            float _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean = _BaseUsePlanarUV;
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_41db1f1f529b6f8e9c51558bacdba727;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv0 = IN.uv0;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv2 = IN.uv2;
            float4 _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4);
            float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
            float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
            Unity_Multiply_float4_float4(_PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
            UnityTexture2D _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
            float4 _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4 = _DetailTilingOffset;
            float _Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[0];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[1];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[2];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[3];
            float2 _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float);
            float2 _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float);
            float2 _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2, _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2, _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2);
            float4 _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.tex, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.samplerstate, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2) );
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.r;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.g;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.b;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.a;
            float _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float, 2, _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float);
            float _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float;
            Unity_Add_float(_Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float, -1, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float);
            float _Property_605f29777330a58ba88ac032e905433b_Out_0_Float = _DetailAlbedoScale;
            float _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float;
            Unity_Multiply_float_float(_Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Property_605f29777330a58ba88ac032e905433b_Out_0_Float, _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float);
            float _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float;
            Unity_Saturate_float(_Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float, _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float);
            float _Absolute_8acef423205118879e75274a48969d34_Out_1_Float;
            Unity_Absolute_float(_Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float);
            Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185;
            float3 _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3;
            SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3);
            UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
            float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
            float4 _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4;
            Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4);
            float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4);
            float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
            float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
            Unity_Multiply_float4_float4(_TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
            float _Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
            UnityTexture2D _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
            float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
            float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.tex, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.samplerstate, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
            float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
            float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
            float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
            Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, 0, 1, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
            float3 _Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3 = _CoverDirection;
            float2 _Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2 = float2(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float, _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float);
            float2 _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2, float2(2, 2), _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2);
            float2 _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2;
            Unity_Add_float2(_Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2, float2(-1, -1), _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2);
            float _Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float = _DetailNormalScale;
            float2 _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2, (_Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float.xx), _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2);
            float _Split_c4822b8eaff9b185be7c059792345712_R_1_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[0];
            float _Split_c4822b8eaff9b185be7c059792345712_G_2_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[1];
            float _Split_c4822b8eaff9b185be7c059792345712_B_3_Float = 0;
            float _Split_c4822b8eaff9b185be7c059792345712_A_4_Float = 0;
            float _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float;
            Unity_DotProduct_float2(_Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float);
            float _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float;
            Unity_Saturate_float(_DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float, _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float);
            float _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float;
            Unity_OneMinus_float(_Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float, _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float);
            float _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float;
            Unity_SquareRoot_float(_OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            float3 _Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3 = float3(_Split_c4822b8eaff9b185be7c059792345712_R_1_Float, _Split_c4822b8eaff9b185be7c059792345712_G_2_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
            Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_e976eded9c94228090999d383a1bd95b;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceNormal = IN.WorldSpaceNormal;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceTangent = IN.WorldSpaceTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv0 = IN.uv0;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv2 = IN.uv2;
            float4 _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4;
            SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_e976eded9c94228090999d383a1bd95b, _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4);
            float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
            float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
            Unity_NormalStrength_float((_PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
            float3 _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3;
            Unity_NormalBlend_float(_Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3);
            UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
            Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceTangent = IN.WorldSpaceTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4;
            SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4);
            float _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float = _CoverNormalBlendHardness;
            float3 _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3);
            float3 _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3);
            float _Split_64630334a9c0058a848439df6d5afe71_R_1_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[0];
            float _Split_64630334a9c0058a848439df6d5afe71_G_2_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[1];
            float _Split_64630334a9c0058a848439df6d5afe71_B_3_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[2];
            float _Split_64630334a9c0058a848439df6d5afe71_A_4_Float = 0;
            float _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float;
            Unity_Add_float(_Split_64630334a9c0058a848439df6d5afe71_R_1_Float, _Split_64630334a9c0058a848439df6d5afe71_G_2_Float, _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float);
            float _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float;
            Unity_Add_float(_Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float, _Split_64630334a9c0058a848439df6d5afe71_B_3_Float, _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float);
            float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
            float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
            float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
            Unity_Subtract_float(4, _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
            float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
            Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
            float _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float;
            Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float);
            float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
            Unity_Power_float(_Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
            float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
            Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, 0, 2, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
            float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
            Unity_Multiply_float_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
            float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
            Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
            float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
            Unity_Clamp_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, 0, 0.9999, _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
            float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
            float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
            Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, 45, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
            float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
            Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
            float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
            Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
            float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
            Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, 0, 2, _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
            float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
            Unity_Divide_float(1, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
            float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
            float _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float;
            Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float);
            float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
            float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
            Unity_Power_float(_Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
            float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
            float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
            Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
            float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
            float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
            float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
            float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
            float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
            Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
            float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, 1, _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
            float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
            Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, 0, 1, _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
            float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
            float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
            float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
            Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
            float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
            Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
            float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
            Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, -0.5, _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
            float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
            Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, 0, 1, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
            float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
            Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
            float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
            Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, 0, 1, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
            float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
            Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
            float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
            Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
            float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
            float3 _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3;
            {
                float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
                _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
            }
            float3 _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3, _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3);
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[0];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[1];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[2];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_A_4_Float = 0;
            float _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float;
            Unity_Add_float(_Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float, _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float);
            float _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float;
            Unity_Add_float(_Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float, _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float);
            float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
            Unity_Multiply_float_float(_Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
            float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
            float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
            float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
            UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f8c96485552c638b8d38f34567da0e97;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f8c96485552c638b8d38f34567da0e97, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4);
            float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[0];
            float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[1];
            float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[2];
            float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[3];
            float _Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float = _CoverHeightMapMin;
            float _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float = _CoverHeightMapMax;
            float2 _Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2 = float2(_Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float, _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float);
            float _Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float = _CoverHeightMapOffset;
            float2 _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2;
            Unity_Add_float2(_Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2, (_Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float.xx), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2);
            float _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float);
            float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
            float _Split_8259ed9a9318f9848f486475aa132211_R_1_Float = IN.VertexColor[0];
            float _Split_8259ed9a9318f9848f486475aa132211_G_2_Float = IN.VertexColor[1];
            float _Split_8259ed9a9318f9848f486475aa132211_B_3_Float = IN.VertexColor[2];
            float _Split_8259ed9a9318f9848f486475aa132211_A_4_Float = IN.VertexColor[3];
            float _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_8259ed9a9318f9848f486475aa132211_G_2_Float, _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float);
            float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
            Unity_Saturate_float(_Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
            float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
            float _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float;
            Unity_Branch_float(_Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float);
            float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
            Unity_Lerp_float3(_BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
            float4 _Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4 = _WetColor;
            float3 _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3;
            Unity_Multiply_float3_float3((_Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3);
            float _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float;
            Unity_OneMinus_float(_Split_8259ed9a9318f9848f486475aa132211_R_1_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float);
            float3 _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3, (_OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float.xxx), _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3);
            float _Split_d9627fc463ca248fa5ce803295175e7f_R_1_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[0];
            float _Split_d9627fc463ca248fa5ce803295175e7f_G_2_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[1];
            float _Split_d9627fc463ca248fa5ce803295175e7f_B_3_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[2];
            float _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[3];
            float _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float = _AlphaCutoff;
            UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_9d0bc4ed86df988595f613acb6a8509f;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv0 = IN.uv0;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv2 = IN.uv2;
            float4 _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4);
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[0];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[1];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_B_3_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[2];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[3];
            float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
            float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
            Unity_Multiply_float_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
            float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
            float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
            float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
            float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
            float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
            float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
            float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
            float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
            float _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float, 2, _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float);
            float _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float;
            Unity_Add_float(_Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float, -1, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float);
            float _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float = _DetailSmoothnessScale;
            float _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float;
            Unity_Multiply_float_float(_Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float, _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float);
            float _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float;
            Unity_Saturate_float(_Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float, _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float);
            float _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float;
            Unity_Absolute_float(_Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float);
            Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43;
            float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float;
            SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float);
            float _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float;
            Unity_Saturate_float(_BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
            float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
            Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
            float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
            float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
            float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
            float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
            float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
            float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
            float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
            float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
            Unity_Lerp_float3(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
            float _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float = _WetSmoothness;
            float _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float, _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float);
            float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
            float3 _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3);
            float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
            surface.BaseColor = _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            surface.Emission = float3(0, 0, 0);
            surface.Alpha = _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float;
            surface.AlphaClipThreshold = _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float;
            surface.BentNormal = IN.TangentSpaceNormal;
            surface.Smoothness = _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
            surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float;
            return surface;
        }
        
            // --------------------------------------------------
            // Build Graph Inputs
            #ifdef HAVE_VFX_MODIFICATION
            #define VFX_SRP_ATTRIBUTES AttributesMesh
            #define VaryingsMeshType VaryingsMeshToPS
            #define VFX_SRP_VARYINGS VaryingsMeshType
            #define VFX_SRP_SURFACE_INPUTS FragInputs
            #endif
            
        VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.ObjectSpaceNormal =                          input.normalOS;
            output.ObjectSpaceTangent =                         input.tangentOS.xyz;
            output.ObjectSpacePosition =                        input.positionOS;
        
            return output;
        }
        
        VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            // build graph inputs
            VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
            // Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
        
            // evaluate vertex graph
        #ifdef HAVE_VFX_MODIFICATION
            GraphProperties properties;
            ZERO_INITIALIZE(GraphProperties, properties);
        
            // Fetch the vertex graph properties for the particle instance.
            GetElementVertexProperties(element, properties);
        
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
        #else
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
        #endif
            return vertexDescription;
        
        }
        
        AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
        #ifdef USE_CUSTOMINTERP_SUBSTRUCT
            #ifdef TESSELLATION_ON
            , inout VaryingsMeshToDS varyings
            #else
            , inout VaryingsMeshToPS varyings
            #endif
        #endif
        #ifdef HAVE_VFX_MODIFICATION
                , AttributesElement element
        #endif
            )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
        
            // copy graph output to the results
            input.positionOS = vertexDescription.Position;
            input.normalOS = vertexDescription.Normal;
            input.tangentOS.xyz = vertexDescription.Tangent;
        
            
        
            return input;
        }
        
        #if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
        // Return precomputed Velocity in object space
        float3 GetCustomVelocity(AttributesMesh input
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
            return vertexDescription.CustomVelocity;
        }
        #endif
        
        FragInputs BuildFragInputs(VaryingsMeshToPS input)
        {
            FragInputs output;
            ZERO_INITIALIZE(FragInputs, output);
        
            // Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
            // TODO: this is a really poor workaround, but the variable is used in a bunch of places
            // to compute normals which are then passed on elsewhere to compute other values...
            output.tangentToWorld = k_identity3x3;
            output.positionSS = input.positionCS;       // input.positionCS is SV_Position
        
            output.positionRWS =                input.positionRWS;
            output.tangentToWorld =             BuildTangentToWorld(input.tangentWS, input.normalWS);
            output.texCoord0 =                  input.texCoord0;
            output.texCoord2 =                  input.texCoord2;
            output.color =                      input.color;
        
        #ifdef HAVE_VFX_MODIFICATION
            // FragInputs from VFX come from two places: Interpolator or CBuffer.
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
        
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            // splice point to copy custom interpolator fields from varyings to frag inputs
            
        
            return output;
        }
        
        // existing HDRP code uses the combined function to go directly from packed to frag inputs
        FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
        {
            UNITY_SETUP_INSTANCE_ID(input);
        #if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
            unity_InstanceID = input.instanceID;
        #endif
            VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
            return BuildFragInputs(unpacked);
        }
            SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
            output.WorldSpaceNormal =                           normalize(input.tangentToWorld[2].xyz);
            #if defined(SHADER_STAGE_RAY_TRACING)
            #else
            #endif
            output.TangentSpaceNormal =                         float3(0.0f, 0.0f, 1.0f);
            output.WorldSpaceTangent =                          input.tangentToWorld[0].xyz;
            output.WorldSpaceBiTangent =                        input.tangentToWorld[1].xyz;
            output.AbsoluteWorldSpacePosition =                 GetAbsolutePositionWS(input.positionRWS);
        
        #if UNITY_UV_STARTS_AT_TOP
        #else
        #endif
        
        
            output.uv0 =                                        input.texCoord0;
            output.uv2 =                                        input.texCoord2;
            output.VertexColor =                                input.color;
        
            // splice point to copy frag inputs custom interpolator pack into the SDI
            
        
            return output;
        }
        
            // --------------------------------------------------
            // Build Surface Data (Specific Material)
        
        void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
        
        void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
            inout SurfaceData surfaceData)
        {
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
        #ifdef DECAL_NORMAL_BLENDING
            // SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
            // the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
            float3 normalTS;
        
            normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
            fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
        
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        
            GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
        #else
            // normal delivered to master node
            GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                // Both uses and modifies 'surfaceData.normalWS'.
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        #endif
        }
        void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
        {
            ZERO_INITIALIZE(SurfaceData, surfaceData);
        
            // specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
            // however specularOcclusion can come from the graph, so need to be init here so it can be override.
            surfaceData.specularOcclusion = 1.0;
        
            surfaceData.baseColor =                 surfaceDescription.BaseColor;
            surfaceData.perceptualSmoothness =      surfaceDescription.Smoothness;
            surfaceData.ambientOcclusion =          surfaceDescription.Occlusion;
            surfaceData.metallic =                  surfaceDescription.Metallic;
        
            #if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
                if (_EnableSSRefraction)
                {
        
                    surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
                    surfaceDescription.Alpha = 1.0;
                }
                else
                {
                    surfaceData.ior = 1.0;
                    surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                    surfaceData.atDistance = 1.0;
                    surfaceData.transmittanceMask = 0.0;
                    surfaceDescription.Alpha = 1.0;
                }
            #else
                surfaceData.ior = 1.0;
                surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                surfaceData.atDistance = 1.0;
                surfaceData.transmittanceMask = 0.0;
            #endif
        
            // These static material feature allow compile time optimization
            surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
            #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
            #endif
        
            #ifdef _MATERIAL_FEATURE_TRANSMISSION
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
            #endif
        
            #ifdef _MATERIAL_FEATURE_ANISOTROPY
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
        
                // Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
                surfaceData.normalWS = float3(0, 1, 0);
            #endif
        
            #ifdef _MATERIAL_FEATURE_IRIDESCENCE
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
            #endif
        
            #ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
            #endif
        
            #ifdef _MATERIAL_FEATURE_CLEAR_COAT
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
            #endif
        
            #if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
                // Require to have setup baseColor
                // Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
                surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
            #endif
        
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
            ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
        
            surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
        
            surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz);    // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
        
        
            bentNormalWS = surfaceData.normalWS;
        
            surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
        
            #ifdef DEBUG_DISPLAY
                if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
                {
                    // TODO: need to update mip info
                    surfaceData.metallic = 0;
                }
        
                // We need to call ApplyDebugToSurfaceData after filling the surfarcedata and before filling builtinData
                // as it can modify attribute use for static lighting
                ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
            #endif
        
            // By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
            // If user provide bent normal then we process a better term
            #if defined(_SPECULAR_OCCLUSION_CUSTOM)
                // Just use the value passed through via the slot (not active otherwise)
            #elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
                // If we have bent normal and ambient occlusion, process a specular occlusion
                surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
            #elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
                surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
            #endif
        
            #if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
                surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
            #endif
        }
        
            // --------------------------------------------------
            // Get Surface And BuiltinData
        
            void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
            {
                // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
                #if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
                #ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
                LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
                #endif
                #endif
        
                #ifndef SHADER_UNLIT
                #ifdef _DOUBLESIDED_ON
                    float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
                #else
                    float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
                #endif
        
                ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
                #endif // SHADER_UNLIT
        
                SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
        
                #if defined(HAVE_VFX_MODIFICATION)
                GraphProperties properties;
                ZERO_INITIALIZE(GraphProperties, properties);
        
                GetElementPixelProperties(fragInputs, properties);
        
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
                #else
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
                #endif
        
                // Perform alpha test very early to save performance (a killed pixel will not sample textures)
                // TODO: split graph evaluation to grab just alpha dependencies first? tricky..
                #ifdef _ALPHATEST_ON
                    float alphaCutoff = surfaceDescription.AlphaClipThreshold;
                    #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
                    // The TransparentDepthPrepass is also used with SSR transparent.
                    // If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
                    // otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
                    #elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
                    // DepthPostpass always use its own alpha threshold
                    alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
                    #elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
                    // If use shadow threshold isn't enable we don't allow any test
                    #endif
        
                    GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
                #endif
        
                #if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
                ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
                #endif
        
                #ifndef SHADER_UNLIT
                float3 bentNormalWS;
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD1
                    float4 lightmapTexCoord1 = fragInputs.texCoord1;
                #else
                    float4 lightmapTexCoord1 = float4(0,0,0,0);
                #endif
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD2
                    float4 lightmapTexCoord2 = fragInputs.texCoord2;
                #else
                    float4 lightmapTexCoord2 = float4(0,0,0,0);
                #endif
        
                // Builtin Data
                // For back lighting we use the oposite vertex normal
                InitBuiltinData(posInput, surfaceDescription.Alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
        
                #else
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
        
                ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
                builtinData.opacity = surfaceDescription.Alpha;
        
                #if defined(DEBUG_DISPLAY)
                    // Light Layers are currently not used for the Unlit shader (because it is not lit)
                    // But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
                    // display in the light layers visualization mode, therefore we need the renderingLayers
                    builtinData.renderingLayers = GetMeshRenderingLightLayer();
                #endif
        
                #endif // SHADER_UNLIT
        
                #ifdef _ALPHATEST_ON
                    // Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
                    builtinData.alphaClipTreshold = alphaCutoff;
                #endif
        
                // override sampleBakedGI - not used by Unlit
        
                builtinData.emissiveColor = surfaceDescription.Emission;
        
                // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
                // We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
                // This is a limitation of the current MRT approach.
                #ifdef UNITY_VIRTUAL_TEXTURING
                #endif
        
                #if _DEPTHOFFSET_ON
                builtinData.depthOffset = surfaceDescription.DepthOffset;
                #endif
        
                // TODO: We should generate distortion / distortionBlur for non distortion pass
                #if (SHADERPASS == SHADERPASS_DISTORTION)
                builtinData.distortion = surfaceDescription.Distortion;
                builtinData.distortionBlur = surfaceDescription.DistortionBlur;
                #endif
        
                #ifndef SHADER_UNLIT
                // PostInitBuiltinData call ApplyDebugToBuiltinData
                PostInitBuiltinData(V, posInput, surfaceData, builtinData);
                #else
                ApplyDebugToBuiltinData(builtinData);
                #endif
        
                RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
            }
        
            // --------------------------------------------------
            // Main
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDepthOnly.hlsl"
        
            // --------------------------------------------------
            // Visual Effect Vertex Invocations
        
        	#ifdef HAVE_VFX_MODIFICATION
        	#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
        	#endif
        
            ENDHLSL
        }
        Pass
        {
            Name "GBuffer"
            Tags
            {
                "LightMode" = "GBuffer"
            }
        
            // Render State
            Cull [_CullMode]
        ZTest [_ZTestGBuffer]
        ColorMask [_LightLayersMaskBuffer4] 4
        ColorMask [_LightLayersMaskBuffer5] 5
        Stencil
        {
        WriteMask [_StencilWriteMaskGBuffer]
        Ref [_StencilRefGBuffer]
        CompFront Always
        PassFront Replace
        CompBack Always
        PassBack Replace
        }
        
            // Debug
            // <None>
        
            // --------------------------------------------------
            // Pass
        
            HLSLPROGRAM
        
            // Pragmas
            #pragma multi_compile _ DOTS_INSTANCING_ON
        #pragma instancing_options renderinglayer
        #pragma target 4.5
        #pragma vertex Vert
        #pragma fragment Frag
        #pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
        #pragma multi_compile_instancing
        
            // Keywords
            #pragma multi_compile_fragment _ LIGHT_LAYERS
        #pragma multi_compile_raytracing _ LIGHT_LAYERS
        #pragma shader_feature_local _ _ALPHATEST_ON
        #pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local _ _DOUBLESIDED_ON
        #pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
        #pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC
        #pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
        #pragma multi_compile _ DEBUG_DISPLAY
        #pragma multi_compile _ LOD_FADE_CROSSFADE
        #pragma shader_feature_local_fragment _ _DISABLE_DECALS
        #pragma shader_feature_local_raytracing _ _DISABLE_DECALS
        #pragma shader_feature_local_fragment _ _DISABLE_SSR
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR
        #pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
        #pragma multi_compile _ LIGHTMAP_ON
        #pragma multi_compile _ DIRLIGHTMAP_COMBINED
        #pragma multi_compile_fragment PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
        #pragma multi_compile_raytracing PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
        #pragma multi_compile _ DYNAMICLIGHTMAP_ON
        #pragma multi_compile_fragment _ SHADOWS_SHADOWMASK
        #pragma multi_compile_raytracing _ SHADOWS_SHADOWMASK
        #pragma multi_compile_fragment DECALS_OFF DECALS_3RT DECALS_4RT
        #pragma multi_compile_fragment _ DECAL_SURFACE_GRADIENT
        #pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
            // GraphKeywords: <None>
        
            // For custom interpolators to inject a substruct definition before FragInputs definition,
            // allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
            struct CustomInterpolators
        {
        };
        #define USE_CUSTOMINTERP_SUBSTRUCT
        
        
        
            // TODO: Merge FragInputsVFX substruct with CustomInterpolators.
        	#ifdef HAVE_VFX_MODIFICATION
        	struct FragInputsVFX
            {
                /* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
            };
            #endif
        
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
            // Always include Shader Graph version
            // Always include last to avoid double macros
            #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
        
            // --------------------------------------------------
            // Defines
        
            // Attribute
            #define ATTRIBUTES_NEED_NORMAL
            #define ATTRIBUTES_NEED_TANGENT
            #define ATTRIBUTES_NEED_TEXCOORD0
            #define ATTRIBUTES_NEED_TEXCOORD1
            #define ATTRIBUTES_NEED_TEXCOORD2
            #define ATTRIBUTES_NEED_COLOR
            #define VARYINGS_NEED_POSITION_WS
            #define VARYINGS_NEED_TANGENT_TO_WORLD
            #define VARYINGS_NEED_TEXCOORD0
            #define VARYINGS_NEED_TEXCOORD1
            #define VARYINGS_NEED_TEXCOORD2
            #define VARYINGS_NEED_COLOR
        
            #define HAVE_MESH_MODIFICATION
        
            //Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
            //if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
            //Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
            #if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
            #define FRAG_INPUTS_ENABLE_STRIPPING
            #endif
            #define FRAG_INPUTS_USE_TEXCOORD0
            #define FRAG_INPUTS_USE_TEXCOORD1
            #define FRAG_INPUTS_USE_TEXCOORD2
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
        
        
        
            #define SHADERPASS SHADERPASS_GBUFFER
        #define RAYTRACING_SHADER_GRAPH_DEFAULT
        
        
            // Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
            // The ShaderGraph don't support correctly migration of this node as it serialize all the node data
            // in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
            // to still allow us to rename the field and keyword of this node without breaking existing code.
            #ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
            #define RAYTRACING_SHADER_GRAPH_HIGH
            #endif
        
            #ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
            #define RAYTRACING_SHADER_GRAPH_LOW
            #endif
            // end
        
            #ifndef SHADER_UNLIT
            // We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
            // VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
            #if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
                #define VARYINGS_NEED_CULLFACE
            #endif
            #endif
        
            // Specific Material Define
        #define _AMBIENT_OCCLUSION 1
        #define _SPECULAR_OCCLUSION_FROM_AO 1
        #define _ENERGY_CONSERVING_SPECULAR 1
        
        // If we use subsurface scattering, enable output split lighting (for forward pass)
        #if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
            #define OUTPUT_SPLIT_LIGHTING
        #endif
        
        // This shader support recursive rendering for raytracing
        #define HAVE_RECURSIVE_RENDERING
        
        // In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
        #if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
            #undef  _REFRACTION_PLANE
            #undef  _REFRACTION_SPHERE
            #define _REFRACTION_THIN
        #endif
            // Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
        
            // To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
            // we should have a code like this:
            // if !defined(_DISABLE_SSR_TRANSPARENT)
            // pragma multi_compile _ WRITE_NORMAL_BUFFER
            // endif
            // i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
            // it based on if SSR transparent in frame settings and not (and stripper can strip it).
            // this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
            // so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
            // Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
            #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
            #if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
                #define WRITE_NORMAL_BUFFER
            #endif
            #endif
        
            #ifndef DEBUG_DISPLAY
                // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
                // Don't do it with debug display mode as it is possible there is no depth prepass in this case
                #if !defined(_SURFACE_TYPE_TRANSPARENT)
                    #if SHADERPASS == SHADERPASS_FORWARD
                    #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
                    #elif SHADERPASS == SHADERPASS_GBUFFER
                    #define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
                    #endif
                #endif
            #endif
        
            // Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
            #if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
                #define _DEFERRED_CAPABLE_MATERIAL
            #endif
        
            // Translate transparent motion vector define
            #if defined(_TRANSPARENT_WRITES_MOTION_VEC) && defined(_SURFACE_TYPE_TRANSPARENT)
                #define _WRITE_TRANSPARENT_MOTION_VECTOR
            #endif
        
            // -- Graph Properties
            CBUFFER_START(UnityPerMaterial)
        float _AlphaCutoff;
        float4 _BaseColor;
        float4 _BaseColorMap_TexelSize;
        float _BaseUsePlanarUV;
        float4 _BaseTilingOffset;
        float4 _BaseNormalMap_TexelSize;
        float _BaseNormalScale;
        float4 _BaseMaskMap_TexelSize;
        float _BaseMetallic;
        float _BaseAORemapMin;
        float _BaseAORemapMax;
        float _BaseSmoothnessRemapMin;
        float _BaseSmoothnessRemapMax;
        float _USEDYNAMICCOVERTSTATICMASKF;
        float4 _CoverMaskA_TexelSize;
        float _CoverMaskPower;
        float _Cover_Amount;
        float _Cover_Amount_Grow_Speed;
        float3 _CoverDirection;
        float _Cover_Max_Angle;
        float _Cover_Min_Height;
        float _Cover_Min_Height_Blending;
        float4 _CoverBaseColor;
        float4 _CoverBaseColorMap_TexelSize;
        float4 _CoverTilingOffset;
        float _CoverTriplanarThreshold;
        float4 _CoverNormalMap_TexelSize;
        float _CoverNormalScale;
        float _CoverNormalBlendHardness;
        float _CoverHardness;
        float _CoverHeightMapMin;
        float _CoverHeightMapMax;
        float _CoverHeightMapOffset;
        float4 _CoverMaskMap_TexelSize;
        float _CoverMetallic;
        float _CoverAORemapMin;
        float _CoverAORemapMax;
        float _CoverSmoothnessRemapMin;
        float _CoverSmoothnessRemapMax;
        float4 _DetailMap_TexelSize;
        float4 _DetailTilingOffset;
        float _DetailAlbedoScale;
        float _DetailNormalScale;
        float _DetailSmoothnessScale;
        float4 _WetColor;
        float _WetSmoothness;
        float4 _EmissionColor;
        float _UseShadowThreshold;
        float4 _DoubleSidedConstants;
        float _BlendMode;
        float _EnableBlendModePreserveSpecularLighting;
        float _RayTracing;
        float _RefractionModel;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        SAMPLER(SamplerState_Linear_Repeat_Aniso8);
        TEXTURE2D(_BaseColorMap);
        SAMPLER(sampler_BaseColorMap);
        TEXTURE2D(_BaseNormalMap);
        SAMPLER(sampler_BaseNormalMap);
        TEXTURE2D(_BaseMaskMap);
        SAMPLER(sampler_BaseMaskMap);
        TEXTURE2D(_CoverMaskA);
        SAMPLER(sampler_CoverMaskA);
        TEXTURE2D(_CoverBaseColorMap);
        SAMPLER(sampler_CoverBaseColorMap);
        TEXTURE2D(_CoverNormalMap);
        SAMPLER(sampler_CoverNormalMap);
        TEXTURE2D(_CoverMaskMap);
        SAMPLER(sampler_CoverMaskMap);
        TEXTURE2D(_DetailMap);
        SAMPLER(sampler_DetailMap);
        
            // -- Property used by ScenePickingPass
            #ifdef SCENEPICKINGPASS
            float4 _SelectionID;
            #endif
        
            // -- Properties used by SceneSelectionPass
            #ifdef SCENESELECTIONPASS
            int _ObjectId;
            int _PassValue;
            #endif
        
            // Includes
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
        	#include "./NM_Object_VSPro_Indirect.cginc"
        
            // --------------------------------------------------
            // Structs and Packing
        
            struct AttributesMesh
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv1 : TEXCOORD1;
             float4 uv2 : TEXCOORD2;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct VaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float3 positionRWS;
             float3 normalWS;
             float4 tangentWS;
             float4 texCoord0;
             float4 texCoord1;
             float4 texCoord2;
             float4 color;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        struct VertexDescriptionInputs
        {
             float3 ObjectSpaceNormal;
             float3 ObjectSpaceTangent;
             float3 ObjectSpacePosition;
        };
        struct SurfaceDescriptionInputs
        {
             float3 WorldSpaceNormal;
             float3 TangentSpaceNormal;
             float3 WorldSpaceTangent;
             float3 WorldSpaceBiTangent;
             float3 AbsoluteWorldSpacePosition;
             float4 uv0;
             float4 uv2;
             float4 VertexColor;
        };
        struct PackedVaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float4 tangentWS : INTERP0;
             float4 texCoord0 : INTERP1;
             float4 texCoord1 : INTERP2;
             float4 texCoord2 : INTERP3;
             float4 color : INTERP4;
             float3 positionRWS : INTERP5;
             float3 normalWS : INTERP6;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        
            PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
        {
            PackedVaryingsMeshToPS output;
            ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
            output.positionCS = input.positionCS;
            output.tangentWS.xyzw = input.tangentWS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord1.xyzw = input.texCoord1;
            output.texCoord2.xyzw = input.texCoord2;
            output.color.xyzw = input.color;
            output.positionRWS.xyz = input.positionRWS;
            output.normalWS.xyz = input.normalWS;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
        {
            VaryingsMeshToPS output;
            output.positionCS = input.positionCS;
            output.tangentWS = input.tangentWS.xyzw;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord1 = input.texCoord1.xyzw;
            output.texCoord2 = input.texCoord2.xyzw;
            output.color = input.color.xyzw;
            output.positionRWS = input.positionRWS.xyz;
            output.normalWS = input.normalWS.xyz;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        
            // --------------------------------------------------
            // Graph
        
        
            // Graph Functions
            
        void AddPragma_float(float3 A, out float3 Out){
        #pragma instancing_options procedural:setupVSPro
        Out = A;
        }
        
        struct Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float
        {
        };
        
        void SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(float3 Vector3_314C8600, Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float IN, out float3 ObjectSpacePosition_1)
        {
        float3 _Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3 = Vector3_314C8600;
        float3 _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3;
        InjectSetup_float(_Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3, _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3);
        float3 _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        AddPragma_float(_InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3, _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3);
        ObjectSpacePosition_1 = _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        }
        
        void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
        {
            RGBA = float4(R, G, B, A);
            RGB = float3(R, G, B);
            RG = float2(R, G);
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
        Out = A * B;
        }
        
        void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
        {
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
        float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
        Unity_Divide_float(1, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
        float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
        float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
        Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
        float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
        float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
        float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
        float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
        Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
        UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        }
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_Absolute_float(float In, out float Out)
        {
            Out = abs(In);
        }
        
        void Unity_SquareRoot_float4(float4 In, out float4 Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Sign_float(float In, out float Out)
        {
            Out = sign(In);
        }
        
        void Unity_Ceiling_float(float In, out float Out)
        {
            Out = ceil(In);
        }
        
        void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
        {
        };
        
        void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
        {
        float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
        float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
        Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
        Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
        float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
        Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
        float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
        OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
        }
        
        void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A / B;
        }
        
        void Unity_Sign_float3(float3 In, out float3 Out)
        {
            Out = sign(In);
        }
        
        void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
        {
        Out = A * B;
        }
        
        void Unity_Absolute_float3(float3 In, out float3 Out)
        {
            Out = abs(In);
        }
        
        void Unity_Power_float3(float3 A, float3 B, out float3 Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
        Out = A * B;
        }
        
        void Unity_Add_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A + B;
        }
        
        struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
        {
        float3 WorldSpaceNormal;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
        float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
        float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
        float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
        float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
        float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, 1);
        float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
        UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
        Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
        float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, 1);
        float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, 1);
        float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
        float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
        Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
        float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
        Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
        XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
        XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_Add_float2(float2 A, float2 B, out float2 Out)
        {
            Out = A + B;
        }
        
        void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
        {
            Out = dot(A, B);
        }
        
        void Unity_OneMinus_float(float In, out float Out)
        {
            Out = 1 - In;
        }
        
        void Unity_SquareRoot_float(float In, out float Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Normalize_float3(float3 In, out float3 Out)
        {
            Out = normalize(In);
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
        {
        float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
        float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
        float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
        float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
        float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
        float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
        Unity_Divide_float(1, _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
        float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
        float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
        Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
        float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
        float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
        float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
        float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
        Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
        UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
        float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangent(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
        float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
        Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
        XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
        }
        
        void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
        {
            Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
        }
        
        void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
        {
            Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A / B;
        }
        
        struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
        UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
        float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
        Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
        float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, 1);
        float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
        _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
        float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
        float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
        Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
        float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
        float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
        float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
        float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
        float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, 1);
        float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
        _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
        float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
        float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
        float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
        Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
        float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
        float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
        float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
        Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
        float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
        Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
        Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
        float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
        XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
        XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
        YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
        XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Power_float(float A, float B, out float Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
        {
            Out = lerp(A, B, T);
        }
        
        void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
        {
            Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
        }
        
        void Unity_Branch_float(float Predicate, float True, float False, out float Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Lerp_float(float A, float B, float T, out float Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
        {
        };
        
        void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
        {
        float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
        SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        }
        
            // Graph Vertex
            struct VertexDescription
        {
            float3 Position;
            float3 Normal;
            float3 Tangent;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5;
            float3 _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(IN.ObjectSpacePosition, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3);
            description.Position = _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            description.Normal = IN.ObjectSpaceNormal;
            description.Tangent = IN.ObjectSpaceTangent;
            return description;
        }
        
            // Graph Pixel
            struct SurfaceDescription
        {
            float3 BaseColor;
            float3 Emission;
            float Alpha;
            float AlphaClipThreshold;
            float3 BentNormal;
            float Smoothness;
            float Occlusion;
            float3 NormalTS;
            float Metallic;
            float4 VTPackedFeedback;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
            float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
            float _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean = _BaseUsePlanarUV;
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_41db1f1f529b6f8e9c51558bacdba727;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv0 = IN.uv0;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv2 = IN.uv2;
            float4 _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4);
            float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
            float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
            Unity_Multiply_float4_float4(_PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
            UnityTexture2D _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
            float4 _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4 = _DetailTilingOffset;
            float _Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[0];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[1];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[2];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[3];
            float2 _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float);
            float2 _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float);
            float2 _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2, _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2, _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2);
            float4 _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.tex, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.samplerstate, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2) );
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.r;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.g;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.b;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.a;
            float _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float, 2, _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float);
            float _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float;
            Unity_Add_float(_Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float, -1, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float);
            float _Property_605f29777330a58ba88ac032e905433b_Out_0_Float = _DetailAlbedoScale;
            float _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float;
            Unity_Multiply_float_float(_Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Property_605f29777330a58ba88ac032e905433b_Out_0_Float, _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float);
            float _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float;
            Unity_Saturate_float(_Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float, _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float);
            float _Absolute_8acef423205118879e75274a48969d34_Out_1_Float;
            Unity_Absolute_float(_Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float);
            Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185;
            float3 _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3;
            SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3);
            UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
            float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
            float4 _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4;
            Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4);
            float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4);
            float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
            float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
            Unity_Multiply_float4_float4(_TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
            float _Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
            UnityTexture2D _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
            float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
            float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.tex, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.samplerstate, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
            float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
            float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
            float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
            Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, 0, 1, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
            float3 _Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3 = _CoverDirection;
            float2 _Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2 = float2(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float, _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float);
            float2 _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2, float2(2, 2), _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2);
            float2 _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2;
            Unity_Add_float2(_Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2, float2(-1, -1), _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2);
            float _Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float = _DetailNormalScale;
            float2 _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2, (_Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float.xx), _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2);
            float _Split_c4822b8eaff9b185be7c059792345712_R_1_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[0];
            float _Split_c4822b8eaff9b185be7c059792345712_G_2_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[1];
            float _Split_c4822b8eaff9b185be7c059792345712_B_3_Float = 0;
            float _Split_c4822b8eaff9b185be7c059792345712_A_4_Float = 0;
            float _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float;
            Unity_DotProduct_float2(_Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float);
            float _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float;
            Unity_Saturate_float(_DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float, _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float);
            float _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float;
            Unity_OneMinus_float(_Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float, _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float);
            float _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float;
            Unity_SquareRoot_float(_OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            float3 _Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3 = float3(_Split_c4822b8eaff9b185be7c059792345712_R_1_Float, _Split_c4822b8eaff9b185be7c059792345712_G_2_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
            Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_e976eded9c94228090999d383a1bd95b;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceNormal = IN.WorldSpaceNormal;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceTangent = IN.WorldSpaceTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv0 = IN.uv0;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv2 = IN.uv2;
            float4 _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4;
            SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_e976eded9c94228090999d383a1bd95b, _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4);
            float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
            float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
            Unity_NormalStrength_float((_PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
            float3 _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3;
            Unity_NormalBlend_float(_Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3);
            UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
            Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceTangent = IN.WorldSpaceTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4;
            SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4);
            float _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float = _CoverNormalBlendHardness;
            float3 _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3);
            float3 _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3);
            float _Split_64630334a9c0058a848439df6d5afe71_R_1_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[0];
            float _Split_64630334a9c0058a848439df6d5afe71_G_2_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[1];
            float _Split_64630334a9c0058a848439df6d5afe71_B_3_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[2];
            float _Split_64630334a9c0058a848439df6d5afe71_A_4_Float = 0;
            float _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float;
            Unity_Add_float(_Split_64630334a9c0058a848439df6d5afe71_R_1_Float, _Split_64630334a9c0058a848439df6d5afe71_G_2_Float, _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float);
            float _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float;
            Unity_Add_float(_Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float, _Split_64630334a9c0058a848439df6d5afe71_B_3_Float, _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float);
            float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
            float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
            float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
            Unity_Subtract_float(4, _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
            float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
            Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
            float _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float;
            Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float);
            float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
            Unity_Power_float(_Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
            float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
            Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, 0, 2, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
            float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
            Unity_Multiply_float_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
            float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
            Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
            float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
            Unity_Clamp_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, 0, 0.9999, _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
            float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
            float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
            Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, 45, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
            float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
            Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
            float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
            Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
            float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
            Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, 0, 2, _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
            float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
            Unity_Divide_float(1, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
            float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
            float _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float;
            Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float);
            float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
            float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
            Unity_Power_float(_Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
            float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
            float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
            Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
            float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
            float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
            float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
            float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
            float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
            Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
            float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, 1, _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
            float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
            Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, 0, 1, _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
            float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
            float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
            float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
            Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
            float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
            Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
            float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
            Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, -0.5, _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
            float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
            Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, 0, 1, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
            float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
            Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
            float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
            Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, 0, 1, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
            float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
            Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
            float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
            Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
            float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
            float3 _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3;
            {
                float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
                _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
            }
            float3 _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3, _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3);
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[0];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[1];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[2];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_A_4_Float = 0;
            float _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float;
            Unity_Add_float(_Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float, _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float);
            float _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float;
            Unity_Add_float(_Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float, _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float);
            float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
            Unity_Multiply_float_float(_Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
            float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
            float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
            float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
            UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f8c96485552c638b8d38f34567da0e97;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f8c96485552c638b8d38f34567da0e97, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4);
            float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[0];
            float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[1];
            float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[2];
            float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[3];
            float _Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float = _CoverHeightMapMin;
            float _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float = _CoverHeightMapMax;
            float2 _Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2 = float2(_Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float, _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float);
            float _Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float = _CoverHeightMapOffset;
            float2 _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2;
            Unity_Add_float2(_Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2, (_Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float.xx), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2);
            float _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float);
            float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
            float _Split_8259ed9a9318f9848f486475aa132211_R_1_Float = IN.VertexColor[0];
            float _Split_8259ed9a9318f9848f486475aa132211_G_2_Float = IN.VertexColor[1];
            float _Split_8259ed9a9318f9848f486475aa132211_B_3_Float = IN.VertexColor[2];
            float _Split_8259ed9a9318f9848f486475aa132211_A_4_Float = IN.VertexColor[3];
            float _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_8259ed9a9318f9848f486475aa132211_G_2_Float, _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float);
            float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
            Unity_Saturate_float(_Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
            float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
            float _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float;
            Unity_Branch_float(_Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float);
            float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
            Unity_Lerp_float3(_BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
            float4 _Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4 = _WetColor;
            float3 _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3;
            Unity_Multiply_float3_float3((_Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3);
            float _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float;
            Unity_OneMinus_float(_Split_8259ed9a9318f9848f486475aa132211_R_1_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float);
            float3 _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3, (_OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float.xxx), _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3);
            float _Split_d9627fc463ca248fa5ce803295175e7f_R_1_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[0];
            float _Split_d9627fc463ca248fa5ce803295175e7f_G_2_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[1];
            float _Split_d9627fc463ca248fa5ce803295175e7f_B_3_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[2];
            float _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[3];
            float _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float = _AlphaCutoff;
            UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_9d0bc4ed86df988595f613acb6a8509f;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv0 = IN.uv0;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv2 = IN.uv2;
            float4 _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4);
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[0];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[1];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_B_3_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[2];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[3];
            float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
            float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
            Unity_Multiply_float_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
            float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
            float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
            float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
            float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
            float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
            float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
            float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
            float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
            float _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float, 2, _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float);
            float _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float;
            Unity_Add_float(_Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float, -1, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float);
            float _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float = _DetailSmoothnessScale;
            float _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float;
            Unity_Multiply_float_float(_Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float, _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float);
            float _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float;
            Unity_Saturate_float(_Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float, _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float);
            float _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float;
            Unity_Absolute_float(_Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float);
            Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43;
            float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float;
            SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float);
            float _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float;
            Unity_Saturate_float(_BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
            float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
            Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
            float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
            float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
            float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
            float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
            float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
            float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
            float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
            float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
            Unity_Lerp_float3(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
            float _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float = _WetSmoothness;
            float _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float, _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float);
            float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
            float3 _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3);
            float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
            surface.BaseColor = _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            surface.Emission = float3(0, 0, 0);
            surface.Alpha = _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float;
            surface.AlphaClipThreshold = _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float;
            surface.BentNormal = IN.TangentSpaceNormal;
            surface.Smoothness = _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
            surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float;
            {
                surface.VTPackedFeedback = float4(1.0f,1.0f,1.0f,1.0f);
            }
            return surface;
        }
        
            // --------------------------------------------------
            // Build Graph Inputs
            #ifdef HAVE_VFX_MODIFICATION
            #define VFX_SRP_ATTRIBUTES AttributesMesh
            #define VaryingsMeshType VaryingsMeshToPS
            #define VFX_SRP_VARYINGS VaryingsMeshType
            #define VFX_SRP_SURFACE_INPUTS FragInputs
            #endif
            
        VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.ObjectSpaceNormal =                          input.normalOS;
            output.ObjectSpaceTangent =                         input.tangentOS.xyz;
            output.ObjectSpacePosition =                        input.positionOS;
        
            return output;
        }
        
        VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            // build graph inputs
            VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
            // Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
        
            // evaluate vertex graph
        #ifdef HAVE_VFX_MODIFICATION
            GraphProperties properties;
            ZERO_INITIALIZE(GraphProperties, properties);
        
            // Fetch the vertex graph properties for the particle instance.
            GetElementVertexProperties(element, properties);
        
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
        #else
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
        #endif
            return vertexDescription;
        
        }
        
        AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
        #ifdef USE_CUSTOMINTERP_SUBSTRUCT
            #ifdef TESSELLATION_ON
            , inout VaryingsMeshToDS varyings
            #else
            , inout VaryingsMeshToPS varyings
            #endif
        #endif
        #ifdef HAVE_VFX_MODIFICATION
                , AttributesElement element
        #endif
            )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
        
            // copy graph output to the results
            input.positionOS = vertexDescription.Position;
            input.normalOS = vertexDescription.Normal;
            input.tangentOS.xyz = vertexDescription.Tangent;
        
            
        
            return input;
        }
        
        #if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
        // Return precomputed Velocity in object space
        float3 GetCustomVelocity(AttributesMesh input
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
            return vertexDescription.CustomVelocity;
        }
        #endif
        
        FragInputs BuildFragInputs(VaryingsMeshToPS input)
        {
            FragInputs output;
            ZERO_INITIALIZE(FragInputs, output);
        
            // Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
            // TODO: this is a really poor workaround, but the variable is used in a bunch of places
            // to compute normals which are then passed on elsewhere to compute other values...
            output.tangentToWorld = k_identity3x3;
            output.positionSS = input.positionCS;       // input.positionCS is SV_Position
        
            output.positionRWS =                input.positionRWS;
            output.tangentToWorld =             BuildTangentToWorld(input.tangentWS, input.normalWS);
            output.texCoord0 =                  input.texCoord0;
            output.texCoord1 =                  input.texCoord1;
            output.texCoord2 =                  input.texCoord2;
            output.color =                      input.color;
        
        #ifdef HAVE_VFX_MODIFICATION
            // FragInputs from VFX come from two places: Interpolator or CBuffer.
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
        
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            // splice point to copy custom interpolator fields from varyings to frag inputs
            
        
            return output;
        }
        
        // existing HDRP code uses the combined function to go directly from packed to frag inputs
        FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
        {
            UNITY_SETUP_INSTANCE_ID(input);
        #if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
            unity_InstanceID = input.instanceID;
        #endif
            VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
            return BuildFragInputs(unpacked);
        }
            SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
            output.WorldSpaceNormal =                           normalize(input.tangentToWorld[2].xyz);
            #if defined(SHADER_STAGE_RAY_TRACING)
            #else
            #endif
            output.TangentSpaceNormal =                         float3(0.0f, 0.0f, 1.0f);
            output.WorldSpaceTangent =                          input.tangentToWorld[0].xyz;
            output.WorldSpaceBiTangent =                        input.tangentToWorld[1].xyz;
            output.AbsoluteWorldSpacePosition =                 GetAbsolutePositionWS(input.positionRWS);
        
        #if UNITY_UV_STARTS_AT_TOP
        #else
        #endif
        
        
            output.uv0 =                                        input.texCoord0;
            output.uv2 =                                        input.texCoord2;
            output.VertexColor =                                input.color;
        
            // splice point to copy frag inputs custom interpolator pack into the SDI
            
        
            return output;
        }
        
            // --------------------------------------------------
            // Build Surface Data (Specific Material)
        
        void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
        
        void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
            inout SurfaceData surfaceData)
        {
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
        #ifdef DECAL_NORMAL_BLENDING
            // SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
            // the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
            float3 normalTS;
        
            normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
            fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
        
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        
            GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
        #else
            // normal delivered to master node
            GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                // Both uses and modifies 'surfaceData.normalWS'.
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        #endif
        }
        void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
        {
            ZERO_INITIALIZE(SurfaceData, surfaceData);
        
            // specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
            // however specularOcclusion can come from the graph, so need to be init here so it can be override.
            surfaceData.specularOcclusion = 1.0;
        
            surfaceData.baseColor =                 surfaceDescription.BaseColor;
            surfaceData.perceptualSmoothness =      surfaceDescription.Smoothness;
            surfaceData.ambientOcclusion =          surfaceDescription.Occlusion;
            surfaceData.metallic =                  surfaceDescription.Metallic;
        
            #if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
                if (_EnableSSRefraction)
                {
        
                    surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
                    surfaceDescription.Alpha = 1.0;
                }
                else
                {
                    surfaceData.ior = 1.0;
                    surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                    surfaceData.atDistance = 1.0;
                    surfaceData.transmittanceMask = 0.0;
                    surfaceDescription.Alpha = 1.0;
                }
            #else
                surfaceData.ior = 1.0;
                surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                surfaceData.atDistance = 1.0;
                surfaceData.transmittanceMask = 0.0;
            #endif
        
            // These static material feature allow compile time optimization
            surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
            #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
            #endif
        
            #ifdef _MATERIAL_FEATURE_TRANSMISSION
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
            #endif
        
            #ifdef _MATERIAL_FEATURE_ANISOTROPY
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
        
                // Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
                surfaceData.normalWS = float3(0, 1, 0);
            #endif
        
            #ifdef _MATERIAL_FEATURE_IRIDESCENCE
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
            #endif
        
            #ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
            #endif
        
            #ifdef _MATERIAL_FEATURE_CLEAR_COAT
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
            #endif
        
            #if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
                // Require to have setup baseColor
                // Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
                surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
            #endif
        
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
            ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
        
            surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
        
            surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz);    // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
        
        
            bentNormalWS = surfaceData.normalWS;
        
            surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
        
            #ifdef DEBUG_DISPLAY
                if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
                {
                    // TODO: need to update mip info
                    surfaceData.metallic = 0;
                }
        
                // We need to call ApplyDebugToSurfaceData after filling the surfarcedata and before filling builtinData
                // as it can modify attribute use for static lighting
                ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
            #endif
        
            // By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
            // If user provide bent normal then we process a better term
            #if defined(_SPECULAR_OCCLUSION_CUSTOM)
                // Just use the value passed through via the slot (not active otherwise)
            #elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
                // If we have bent normal and ambient occlusion, process a specular occlusion
                surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
            #elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
                surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
            #endif
        
            #if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
                surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
            #endif
        }
        
            // --------------------------------------------------
            // Get Surface And BuiltinData
        
            void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
            {
                // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
                #if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
                #ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
                LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
                #endif
                #endif
        
                #ifndef SHADER_UNLIT
                #ifdef _DOUBLESIDED_ON
                    float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
                #else
                    float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
                #endif
        
                ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
                #endif // SHADER_UNLIT
        
                SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
        
                #if defined(HAVE_VFX_MODIFICATION)
                GraphProperties properties;
                ZERO_INITIALIZE(GraphProperties, properties);
        
                GetElementPixelProperties(fragInputs, properties);
        
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
                #else
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
                #endif
        
                // Perform alpha test very early to save performance (a killed pixel will not sample textures)
                // TODO: split graph evaluation to grab just alpha dependencies first? tricky..
                #ifdef _ALPHATEST_ON
                    float alphaCutoff = surfaceDescription.AlphaClipThreshold;
                    #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
                    // The TransparentDepthPrepass is also used with SSR transparent.
                    // If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
                    // otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
                    #elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
                    // DepthPostpass always use its own alpha threshold
                    alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
                    #elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
                    // If use shadow threshold isn't enable we don't allow any test
                    #endif
        
                    GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
                #endif
        
                #if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
                ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
                #endif
        
                #ifndef SHADER_UNLIT
                float3 bentNormalWS;
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD1
                    float4 lightmapTexCoord1 = fragInputs.texCoord1;
                #else
                    float4 lightmapTexCoord1 = float4(0,0,0,0);
                #endif
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD2
                    float4 lightmapTexCoord2 = fragInputs.texCoord2;
                #else
                    float4 lightmapTexCoord2 = float4(0,0,0,0);
                #endif
        
                // Builtin Data
                // For back lighting we use the oposite vertex normal
                InitBuiltinData(posInput, surfaceDescription.Alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
        
                #else
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
        
                ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
                builtinData.opacity = surfaceDescription.Alpha;
        
                #if defined(DEBUG_DISPLAY)
                    // Light Layers are currently not used for the Unlit shader (because it is not lit)
                    // But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
                    // display in the light layers visualization mode, therefore we need the renderingLayers
                    builtinData.renderingLayers = GetMeshRenderingLightLayer();
                #endif
        
                #endif // SHADER_UNLIT
        
                #ifdef _ALPHATEST_ON
                    // Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
                    builtinData.alphaClipTreshold = alphaCutoff;
                #endif
        
                // override sampleBakedGI - not used by Unlit
        
                builtinData.emissiveColor = surfaceDescription.Emission;
        
                // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
                // We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
                // This is a limitation of the current MRT approach.
                #ifdef UNITY_VIRTUAL_TEXTURING
                builtinData.vtPackedFeedback = surfaceDescription.VTPackedFeedback;
                #endif
        
                #if _DEPTHOFFSET_ON
                builtinData.depthOffset = surfaceDescription.DepthOffset;
                #endif
        
                // TODO: We should generate distortion / distortionBlur for non distortion pass
                #if (SHADERPASS == SHADERPASS_DISTORTION)
                builtinData.distortion = surfaceDescription.Distortion;
                builtinData.distortionBlur = surfaceDescription.DistortionBlur;
                #endif
        
                #ifndef SHADER_UNLIT
                // PostInitBuiltinData call ApplyDebugToBuiltinData
                PostInitBuiltinData(V, posInput, surfaceData, builtinData);
                #else
                ApplyDebugToBuiltinData(builtinData);
                #endif
        
                RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
            }
        
            // --------------------------------------------------
            // Main
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassGBuffer.hlsl"
        
            // --------------------------------------------------
            // Visual Effect Vertex Invocations
        
        	#ifdef HAVE_VFX_MODIFICATION
        	#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
        	#endif
        
            ENDHLSL
        }
        Pass
        {
            Name "Forward"
            Tags
            {
                "LightMode" = "Forward"
            }
        
            // Render State
            Cull [_CullModeForward]
        Blend [_SrcBlend] [_DstBlend], [_AlphaSrcBlend] [_AlphaDstBlend]
        Blend 1 SrcAlpha OneMinusSrcAlpha
        ZTest [_ZTestDepthEqualForOpaque]
        ZWrite [_ZWrite]
        ColorMask [_ColorMaskTransparentVelOne] 1
        ColorMask [_ColorMaskTransparentVelTwo] 2
        Stencil
        {
        WriteMask [_StencilWriteMask]
        Ref [_StencilRef]
        CompFront Always
        PassFront Replace
        CompBack Always
        PassBack Replace
        }
        
            // Debug
            // <None>
        
            // --------------------------------------------------
            // Pass
        
            HLSLPROGRAM
        
            // Pragmas
            #pragma multi_compile _ DOTS_INSTANCING_ON
        #pragma instancing_options renderinglayer
        #pragma target 4.5
        #pragma vertex Vert
        #pragma fragment Frag
        #pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
        #pragma multi_compile_instancing
        
            // Keywords
            #pragma shader_feature_local _ _ALPHATEST_ON
        #pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local _ _DOUBLESIDED_ON
        #pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
        #pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC
        #pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
        #pragma multi_compile _ DEBUG_DISPLAY
        #pragma multi_compile _ LOD_FADE_CROSSFADE
        #pragma shader_feature_local_fragment _ _DISABLE_DECALS
        #pragma shader_feature_local_raytracing _ _DISABLE_DECALS
        #pragma shader_feature_local_fragment _ _DISABLE_SSR
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR
        #pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
        #pragma multi_compile _ LIGHTMAP_ON
        #pragma multi_compile _ DIRLIGHTMAP_COMBINED
        #pragma multi_compile_fragment PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
        #pragma multi_compile_raytracing PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
        #pragma multi_compile _ DYNAMICLIGHTMAP_ON
        #pragma multi_compile_fragment _ SHADOWS_SHADOWMASK
        #pragma multi_compile_raytracing _ SHADOWS_SHADOWMASK
        #pragma multi_compile_fragment DECALS_OFF DECALS_3RT DECALS_4RT
        #pragma multi_compile_fragment _ DECAL_SURFACE_GRADIENT
        #pragma multi_compile_fragment SHADOW_LOW SHADOW_MEDIUM SHADOW_HIGH
        #pragma multi_compile_fragment AREA_SHADOW_MEDIUM AREA_SHADOW_HIGH
        #pragma multi_compile_fragment SCREEN_SPACE_SHADOWS_OFF SCREEN_SPACE_SHADOWS_ON
        #pragma multi_compile_fragment USE_FPTL_LIGHTLIST USE_CLUSTERED_LIGHTLIST
        #pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
            // GraphKeywords: <None>
        
            // For custom interpolators to inject a substruct definition before FragInputs definition,
            // allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
            struct CustomInterpolators
        {
        };
        #define USE_CUSTOMINTERP_SUBSTRUCT
        
        
        
            // TODO: Merge FragInputsVFX substruct with CustomInterpolators.
        	#ifdef HAVE_VFX_MODIFICATION
        	struct FragInputsVFX
            {
                /* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
            };
            #endif
        
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
            // Always include Shader Graph version
            // Always include last to avoid double macros
            #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
        
            // --------------------------------------------------
            // Defines
        
            // Attribute
            #define ATTRIBUTES_NEED_NORMAL
            #define ATTRIBUTES_NEED_TANGENT
            #define ATTRIBUTES_NEED_TEXCOORD0
            #define ATTRIBUTES_NEED_TEXCOORD1
            #define ATTRIBUTES_NEED_TEXCOORD2
            #define ATTRIBUTES_NEED_COLOR
            #define VARYINGS_NEED_POSITION_WS
            #define VARYINGS_NEED_TANGENT_TO_WORLD
            #define VARYINGS_NEED_TEXCOORD0
            #define VARYINGS_NEED_TEXCOORD1
            #define VARYINGS_NEED_TEXCOORD2
            #define VARYINGS_NEED_COLOR
        
            #define HAVE_MESH_MODIFICATION
        
            //Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
            //if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
            //Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
            #if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
            #define FRAG_INPUTS_ENABLE_STRIPPING
            #endif
            #define FRAG_INPUTS_USE_TEXCOORD0
            #define FRAG_INPUTS_USE_TEXCOORD1
            #define FRAG_INPUTS_USE_TEXCOORD2
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
        
        
        
            #define SHADERPASS SHADERPASS_FORWARD
        #define SUPPORT_BLENDMODE_PRESERVE_SPECULAR_LIGHTING 1
        #define HAS_LIGHTLOOP 1
        #define RAYTRACING_SHADER_GRAPH_DEFAULT
        #define SHADER_LIT 1
        
        
            // Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
            // The ShaderGraph don't support correctly migration of this node as it serialize all the node data
            // in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
            // to still allow us to rename the field and keyword of this node without breaking existing code.
            #ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
            #define RAYTRACING_SHADER_GRAPH_HIGH
            #endif
        
            #ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
            #define RAYTRACING_SHADER_GRAPH_LOW
            #endif
            // end
        
            #ifndef SHADER_UNLIT
            // We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
            // VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
            #if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
                #define VARYINGS_NEED_CULLFACE
            #endif
            #endif
        
            // Specific Material Define
        #define _AMBIENT_OCCLUSION 1
        #define _SPECULAR_OCCLUSION_FROM_AO 1
        #define _ENERGY_CONSERVING_SPECULAR 1
        
        // If we use subsurface scattering, enable output split lighting (for forward pass)
        #if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
            #define OUTPUT_SPLIT_LIGHTING
        #endif
        
        // This shader support recursive rendering for raytracing
        #define HAVE_RECURSIVE_RENDERING
        
        // In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
        #if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
            #undef  _REFRACTION_PLANE
            #undef  _REFRACTION_SPHERE
            #define _REFRACTION_THIN
        #endif
            // Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
        
            // To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
            // we should have a code like this:
            // if !defined(_DISABLE_SSR_TRANSPARENT)
            // pragma multi_compile _ WRITE_NORMAL_BUFFER
            // endif
            // i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
            // it based on if SSR transparent in frame settings and not (and stripper can strip it).
            // this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
            // so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
            // Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
            #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
            #if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
                #define WRITE_NORMAL_BUFFER
            #endif
            #endif
        
            #ifndef DEBUG_DISPLAY
                // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
                // Don't do it with debug display mode as it is possible there is no depth prepass in this case
                #if !defined(_SURFACE_TYPE_TRANSPARENT)
                    #if SHADERPASS == SHADERPASS_FORWARD
                    #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
                    #elif SHADERPASS == SHADERPASS_GBUFFER
                    #define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
                    #endif
                #endif
            #endif
        
            // Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
            #if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
                #define _DEFERRED_CAPABLE_MATERIAL
            #endif
        
            // Translate transparent motion vector define
            #if defined(_TRANSPARENT_WRITES_MOTION_VEC) && defined(_SURFACE_TYPE_TRANSPARENT)
                #define _WRITE_TRANSPARENT_MOTION_VECTOR
            #endif
        
            // -- Graph Properties
            CBUFFER_START(UnityPerMaterial)
        float _AlphaCutoff;
        float4 _BaseColor;
        float4 _BaseColorMap_TexelSize;
        float _BaseUsePlanarUV;
        float4 _BaseTilingOffset;
        float4 _BaseNormalMap_TexelSize;
        float _BaseNormalScale;
        float4 _BaseMaskMap_TexelSize;
        float _BaseMetallic;
        float _BaseAORemapMin;
        float _BaseAORemapMax;
        float _BaseSmoothnessRemapMin;
        float _BaseSmoothnessRemapMax;
        float _USEDYNAMICCOVERTSTATICMASKF;
        float4 _CoverMaskA_TexelSize;
        float _CoverMaskPower;
        float _Cover_Amount;
        float _Cover_Amount_Grow_Speed;
        float3 _CoverDirection;
        float _Cover_Max_Angle;
        float _Cover_Min_Height;
        float _Cover_Min_Height_Blending;
        float4 _CoverBaseColor;
        float4 _CoverBaseColorMap_TexelSize;
        float4 _CoverTilingOffset;
        float _CoverTriplanarThreshold;
        float4 _CoverNormalMap_TexelSize;
        float _CoverNormalScale;
        float _CoverNormalBlendHardness;
        float _CoverHardness;
        float _CoverHeightMapMin;
        float _CoverHeightMapMax;
        float _CoverHeightMapOffset;
        float4 _CoverMaskMap_TexelSize;
        float _CoverMetallic;
        float _CoverAORemapMin;
        float _CoverAORemapMax;
        float _CoverSmoothnessRemapMin;
        float _CoverSmoothnessRemapMax;
        float4 _DetailMap_TexelSize;
        float4 _DetailTilingOffset;
        float _DetailAlbedoScale;
        float _DetailNormalScale;
        float _DetailSmoothnessScale;
        float4 _WetColor;
        float _WetSmoothness;
        float4 _EmissionColor;
        float _UseShadowThreshold;
        float4 _DoubleSidedConstants;
        float _BlendMode;
        float _EnableBlendModePreserveSpecularLighting;
        float _RayTracing;
        float _RefractionModel;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        SAMPLER(SamplerState_Linear_Repeat_Aniso8);
        TEXTURE2D(_BaseColorMap);
        SAMPLER(sampler_BaseColorMap);
        TEXTURE2D(_BaseNormalMap);
        SAMPLER(sampler_BaseNormalMap);
        TEXTURE2D(_BaseMaskMap);
        SAMPLER(sampler_BaseMaskMap);
        TEXTURE2D(_CoverMaskA);
        SAMPLER(sampler_CoverMaskA);
        TEXTURE2D(_CoverBaseColorMap);
        SAMPLER(sampler_CoverBaseColorMap);
        TEXTURE2D(_CoverNormalMap);
        SAMPLER(sampler_CoverNormalMap);
        TEXTURE2D(_CoverMaskMap);
        SAMPLER(sampler_CoverMaskMap);
        TEXTURE2D(_DetailMap);
        SAMPLER(sampler_DetailMap);
        
            // -- Property used by ScenePickingPass
            #ifdef SCENEPICKINGPASS
            float4 _SelectionID;
            #endif
        
            // -- Properties used by SceneSelectionPass
            #ifdef SCENESELECTIONPASS
            int _ObjectId;
            int _PassValue;
            #endif
        
            // Includes
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Lighting.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoopDef.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
        	#include "./NM_Object_VSPro_Indirect.cginc"
        
            // --------------------------------------------------
            // Structs and Packing
        
            struct AttributesMesh
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv1 : TEXCOORD1;
             float4 uv2 : TEXCOORD2;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct VaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float3 positionRWS;
             float3 normalWS;
             float4 tangentWS;
             float4 texCoord0;
             float4 texCoord1;
             float4 texCoord2;
             float4 color;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        struct VertexDescriptionInputs
        {
             float3 ObjectSpaceNormal;
             float3 ObjectSpaceTangent;
             float3 ObjectSpacePosition;
        };
        struct SurfaceDescriptionInputs
        {
             float3 WorldSpaceNormal;
             float3 TangentSpaceNormal;
             float3 WorldSpaceTangent;
             float3 WorldSpaceBiTangent;
             float3 AbsoluteWorldSpacePosition;
             float4 uv0;
             float4 uv2;
             float4 VertexColor;
        };
        struct PackedVaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float4 tangentWS : INTERP0;
             float4 texCoord0 : INTERP1;
             float4 texCoord1 : INTERP2;
             float4 texCoord2 : INTERP3;
             float4 color : INTERP4;
             float3 positionRWS : INTERP5;
             float3 normalWS : INTERP6;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        
            PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
        {
            PackedVaryingsMeshToPS output;
            ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
            output.positionCS = input.positionCS;
            output.tangentWS.xyzw = input.tangentWS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord1.xyzw = input.texCoord1;
            output.texCoord2.xyzw = input.texCoord2;
            output.color.xyzw = input.color;
            output.positionRWS.xyz = input.positionRWS;
            output.normalWS.xyz = input.normalWS;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
        {
            VaryingsMeshToPS output;
            output.positionCS = input.positionCS;
            output.tangentWS = input.tangentWS.xyzw;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord1 = input.texCoord1.xyzw;
            output.texCoord2 = input.texCoord2.xyzw;
            output.color = input.color.xyzw;
            output.positionRWS = input.positionRWS.xyz;
            output.normalWS = input.normalWS.xyz;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        
            // --------------------------------------------------
            // Graph
        
        
            // Graph Functions
            
        void AddPragma_float(float3 A, out float3 Out){
        #pragma instancing_options procedural:setupVSPro
        Out = A;
        }
        
        struct Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float
        {
        };
        
        void SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(float3 Vector3_314C8600, Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float IN, out float3 ObjectSpacePosition_1)
        {
        float3 _Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3 = Vector3_314C8600;
        float3 _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3;
        InjectSetup_float(_Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3, _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3);
        float3 _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        AddPragma_float(_InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3, _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3);
        ObjectSpacePosition_1 = _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        }
        
        void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
        {
            RGBA = float4(R, G, B, A);
            RGB = float3(R, G, B);
            RG = float2(R, G);
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
        Out = A * B;
        }
        
        void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
        {
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
        float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
        Unity_Divide_float(1, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
        float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
        float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
        Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
        float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
        float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
        float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
        float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
        Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
        UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        }
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_Absolute_float(float In, out float Out)
        {
            Out = abs(In);
        }
        
        void Unity_SquareRoot_float4(float4 In, out float4 Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Sign_float(float In, out float Out)
        {
            Out = sign(In);
        }
        
        void Unity_Ceiling_float(float In, out float Out)
        {
            Out = ceil(In);
        }
        
        void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
        {
        };
        
        void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
        {
        float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
        float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
        Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
        Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
        float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
        Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
        float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
        OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
        }
        
        void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A / B;
        }
        
        void Unity_Sign_float3(float3 In, out float3 Out)
        {
            Out = sign(In);
        }
        
        void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
        {
        Out = A * B;
        }
        
        void Unity_Absolute_float3(float3 In, out float3 Out)
        {
            Out = abs(In);
        }
        
        void Unity_Power_float3(float3 A, float3 B, out float3 Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
        Out = A * B;
        }
        
        void Unity_Add_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A + B;
        }
        
        struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
        {
        float3 WorldSpaceNormal;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
        float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
        float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
        float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
        float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
        float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, 1);
        float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
        UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
        Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
        float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, 1);
        float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, 1);
        float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
        float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
        Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
        float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
        Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
        XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
        XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_Add_float2(float2 A, float2 B, out float2 Out)
        {
            Out = A + B;
        }
        
        void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
        {
            Out = dot(A, B);
        }
        
        void Unity_OneMinus_float(float In, out float Out)
        {
            Out = 1 - In;
        }
        
        void Unity_SquareRoot_float(float In, out float Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Normalize_float3(float3 In, out float3 Out)
        {
            Out = normalize(In);
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
        {
        float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
        float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
        float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
        float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
        float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
        float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
        Unity_Divide_float(1, _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
        float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
        float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
        Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
        float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
        float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
        float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
        float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
        Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
        UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
        float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangent(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
        float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
        Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
        XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
        }
        
        void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
        {
            Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
        }
        
        void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
        {
            Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A / B;
        }
        
        struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
        UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
        float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
        Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
        float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, 1);
        float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
        _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
        float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
        float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
        Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
        float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
        float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
        float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
        float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
        float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, 1);
        float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
        _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
        float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
        float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
        float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
        Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
        float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
        float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
        float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
        Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
        float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
        Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
        Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
        float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
        XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
        XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
        YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
        XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Power_float(float A, float B, out float Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
        {
            Out = lerp(A, B, T);
        }
        
        void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
        {
            Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
        }
        
        void Unity_Branch_float(float Predicate, float True, float False, out float Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Lerp_float(float A, float B, float T, out float Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
        {
        };
        
        void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
        {
        float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
        SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        }
        
            // Graph Vertex
            struct VertexDescription
        {
            float3 Position;
            float3 Normal;
            float3 Tangent;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5;
            float3 _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(IN.ObjectSpacePosition, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3);
            description.Position = _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            description.Normal = IN.ObjectSpaceNormal;
            description.Tangent = IN.ObjectSpaceTangent;
            return description;
        }
        
            // Graph Pixel
            struct SurfaceDescription
        {
            float3 BaseColor;
            float3 Emission;
            float Alpha;
            float AlphaClipThreshold;
            float3 BentNormal;
            float Smoothness;
            float Occlusion;
            float3 NormalTS;
            float Metallic;
            float4 VTPackedFeedback;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
            float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
            float _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean = _BaseUsePlanarUV;
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_41db1f1f529b6f8e9c51558bacdba727;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv0 = IN.uv0;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv2 = IN.uv2;
            float4 _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4);
            float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
            float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
            Unity_Multiply_float4_float4(_PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
            UnityTexture2D _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
            float4 _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4 = _DetailTilingOffset;
            float _Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[0];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[1];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[2];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[3];
            float2 _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float);
            float2 _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float);
            float2 _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2, _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2, _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2);
            float4 _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.tex, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.samplerstate, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2) );
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.r;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.g;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.b;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.a;
            float _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float, 2, _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float);
            float _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float;
            Unity_Add_float(_Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float, -1, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float);
            float _Property_605f29777330a58ba88ac032e905433b_Out_0_Float = _DetailAlbedoScale;
            float _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float;
            Unity_Multiply_float_float(_Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Property_605f29777330a58ba88ac032e905433b_Out_0_Float, _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float);
            float _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float;
            Unity_Saturate_float(_Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float, _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float);
            float _Absolute_8acef423205118879e75274a48969d34_Out_1_Float;
            Unity_Absolute_float(_Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float);
            Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185;
            float3 _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3;
            SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3);
            UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
            float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
            float4 _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4;
            Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4);
            float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4);
            float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
            float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
            Unity_Multiply_float4_float4(_TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
            float _Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
            UnityTexture2D _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
            float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
            float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.tex, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.samplerstate, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
            float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
            float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
            float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
            Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, 0, 1, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
            float3 _Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3 = _CoverDirection;
            float2 _Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2 = float2(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float, _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float);
            float2 _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2, float2(2, 2), _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2);
            float2 _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2;
            Unity_Add_float2(_Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2, float2(-1, -1), _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2);
            float _Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float = _DetailNormalScale;
            float2 _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2, (_Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float.xx), _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2);
            float _Split_c4822b8eaff9b185be7c059792345712_R_1_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[0];
            float _Split_c4822b8eaff9b185be7c059792345712_G_2_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[1];
            float _Split_c4822b8eaff9b185be7c059792345712_B_3_Float = 0;
            float _Split_c4822b8eaff9b185be7c059792345712_A_4_Float = 0;
            float _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float;
            Unity_DotProduct_float2(_Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float);
            float _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float;
            Unity_Saturate_float(_DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float, _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float);
            float _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float;
            Unity_OneMinus_float(_Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float, _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float);
            float _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float;
            Unity_SquareRoot_float(_OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            float3 _Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3 = float3(_Split_c4822b8eaff9b185be7c059792345712_R_1_Float, _Split_c4822b8eaff9b185be7c059792345712_G_2_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
            Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_e976eded9c94228090999d383a1bd95b;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceNormal = IN.WorldSpaceNormal;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceTangent = IN.WorldSpaceTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv0 = IN.uv0;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv2 = IN.uv2;
            float4 _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4;
            SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_e976eded9c94228090999d383a1bd95b, _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4);
            float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
            float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
            Unity_NormalStrength_float((_PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
            float3 _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3;
            Unity_NormalBlend_float(_Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3);
            UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
            Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceTangent = IN.WorldSpaceTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4;
            SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4);
            float _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float = _CoverNormalBlendHardness;
            float3 _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3);
            float3 _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3);
            float _Split_64630334a9c0058a848439df6d5afe71_R_1_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[0];
            float _Split_64630334a9c0058a848439df6d5afe71_G_2_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[1];
            float _Split_64630334a9c0058a848439df6d5afe71_B_3_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[2];
            float _Split_64630334a9c0058a848439df6d5afe71_A_4_Float = 0;
            float _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float;
            Unity_Add_float(_Split_64630334a9c0058a848439df6d5afe71_R_1_Float, _Split_64630334a9c0058a848439df6d5afe71_G_2_Float, _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float);
            float _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float;
            Unity_Add_float(_Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float, _Split_64630334a9c0058a848439df6d5afe71_B_3_Float, _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float);
            float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
            float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
            float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
            Unity_Subtract_float(4, _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
            float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
            Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
            float _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float;
            Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float);
            float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
            Unity_Power_float(_Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
            float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
            Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, 0, 2, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
            float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
            Unity_Multiply_float_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
            float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
            Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
            float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
            Unity_Clamp_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, 0, 0.9999, _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
            float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
            float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
            Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, 45, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
            float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
            Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
            float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
            Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
            float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
            Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, 0, 2, _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
            float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
            Unity_Divide_float(1, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
            float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
            float _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float;
            Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float);
            float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
            float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
            Unity_Power_float(_Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
            float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
            float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
            Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
            float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
            float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
            float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
            float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
            float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
            Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
            float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, 1, _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
            float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
            Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, 0, 1, _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
            float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
            float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
            float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
            Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
            float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
            Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
            float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
            Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, -0.5, _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
            float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
            Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, 0, 1, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
            float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
            Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
            float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
            Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, 0, 1, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
            float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
            Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
            float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
            Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
            float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
            float3 _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3;
            {
                float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
                _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
            }
            float3 _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3, _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3);
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[0];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[1];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[2];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_A_4_Float = 0;
            float _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float;
            Unity_Add_float(_Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float, _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float);
            float _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float;
            Unity_Add_float(_Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float, _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float);
            float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
            Unity_Multiply_float_float(_Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
            float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
            float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
            float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
            UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f8c96485552c638b8d38f34567da0e97;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f8c96485552c638b8d38f34567da0e97, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4);
            float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[0];
            float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[1];
            float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[2];
            float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[3];
            float _Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float = _CoverHeightMapMin;
            float _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float = _CoverHeightMapMax;
            float2 _Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2 = float2(_Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float, _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float);
            float _Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float = _CoverHeightMapOffset;
            float2 _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2;
            Unity_Add_float2(_Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2, (_Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float.xx), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2);
            float _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float);
            float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
            float _Split_8259ed9a9318f9848f486475aa132211_R_1_Float = IN.VertexColor[0];
            float _Split_8259ed9a9318f9848f486475aa132211_G_2_Float = IN.VertexColor[1];
            float _Split_8259ed9a9318f9848f486475aa132211_B_3_Float = IN.VertexColor[2];
            float _Split_8259ed9a9318f9848f486475aa132211_A_4_Float = IN.VertexColor[3];
            float _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_8259ed9a9318f9848f486475aa132211_G_2_Float, _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float);
            float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
            Unity_Saturate_float(_Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
            float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
            float _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float;
            Unity_Branch_float(_Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float);
            float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
            Unity_Lerp_float3(_BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
            float4 _Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4 = _WetColor;
            float3 _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3;
            Unity_Multiply_float3_float3((_Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3);
            float _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float;
            Unity_OneMinus_float(_Split_8259ed9a9318f9848f486475aa132211_R_1_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float);
            float3 _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3, (_OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float.xxx), _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3);
            float _Split_d9627fc463ca248fa5ce803295175e7f_R_1_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[0];
            float _Split_d9627fc463ca248fa5ce803295175e7f_G_2_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[1];
            float _Split_d9627fc463ca248fa5ce803295175e7f_B_3_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[2];
            float _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[3];
            float _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float = _AlphaCutoff;
            UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_9d0bc4ed86df988595f613acb6a8509f;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv0 = IN.uv0;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv2 = IN.uv2;
            float4 _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4);
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[0];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[1];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_B_3_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[2];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[3];
            float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
            float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
            Unity_Multiply_float_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
            float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
            float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
            float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
            float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
            float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
            float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
            float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
            float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
            float _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float, 2, _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float);
            float _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float;
            Unity_Add_float(_Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float, -1, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float);
            float _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float = _DetailSmoothnessScale;
            float _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float;
            Unity_Multiply_float_float(_Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float, _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float);
            float _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float;
            Unity_Saturate_float(_Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float, _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float);
            float _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float;
            Unity_Absolute_float(_Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float);
            Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43;
            float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float;
            SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float);
            float _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float;
            Unity_Saturate_float(_BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
            float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
            Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
            float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
            float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
            float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
            float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
            float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
            float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
            float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
            float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
            Unity_Lerp_float3(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
            float _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float = _WetSmoothness;
            float _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float, _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float);
            float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
            float3 _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3);
            float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
            surface.BaseColor = _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            surface.Emission = float3(0, 0, 0);
            surface.Alpha = _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float;
            surface.AlphaClipThreshold = _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float;
            surface.BentNormal = IN.TangentSpaceNormal;
            surface.Smoothness = _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
            surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float;
            {
                surface.VTPackedFeedback = float4(1.0f,1.0f,1.0f,1.0f);
            }
            return surface;
        }
        
            // --------------------------------------------------
            // Build Graph Inputs
            #ifdef HAVE_VFX_MODIFICATION
            #define VFX_SRP_ATTRIBUTES AttributesMesh
            #define VaryingsMeshType VaryingsMeshToPS
            #define VFX_SRP_VARYINGS VaryingsMeshType
            #define VFX_SRP_SURFACE_INPUTS FragInputs
            #endif
            
        VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.ObjectSpaceNormal =                          input.normalOS;
            output.ObjectSpaceTangent =                         input.tangentOS.xyz;
            output.ObjectSpacePosition =                        input.positionOS;
        
            return output;
        }
        
        VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            // build graph inputs
            VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
            // Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
        
            // evaluate vertex graph
        #ifdef HAVE_VFX_MODIFICATION
            GraphProperties properties;
            ZERO_INITIALIZE(GraphProperties, properties);
        
            // Fetch the vertex graph properties for the particle instance.
            GetElementVertexProperties(element, properties);
        
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
        #else
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
        #endif
            return vertexDescription;
        
        }
        
        AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
        #ifdef USE_CUSTOMINTERP_SUBSTRUCT
            #ifdef TESSELLATION_ON
            , inout VaryingsMeshToDS varyings
            #else
            , inout VaryingsMeshToPS varyings
            #endif
        #endif
        #ifdef HAVE_VFX_MODIFICATION
                , AttributesElement element
        #endif
            )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
        
            // copy graph output to the results
            input.positionOS = vertexDescription.Position;
            input.normalOS = vertexDescription.Normal;
            input.tangentOS.xyz = vertexDescription.Tangent;
        
            
        
            return input;
        }
        
        #if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
        // Return precomputed Velocity in object space
        float3 GetCustomVelocity(AttributesMesh input
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
            return vertexDescription.CustomVelocity;
        }
        #endif
        
        FragInputs BuildFragInputs(VaryingsMeshToPS input)
        {
            FragInputs output;
            ZERO_INITIALIZE(FragInputs, output);
        
            // Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
            // TODO: this is a really poor workaround, but the variable is used in a bunch of places
            // to compute normals which are then passed on elsewhere to compute other values...
            output.tangentToWorld = k_identity3x3;
            output.positionSS = input.positionCS;       // input.positionCS is SV_Position
        
            output.positionRWS =                input.positionRWS;
            output.tangentToWorld =             BuildTangentToWorld(input.tangentWS, input.normalWS);
            output.texCoord0 =                  input.texCoord0;
            output.texCoord1 =                  input.texCoord1;
            output.texCoord2 =                  input.texCoord2;
            output.color =                      input.color;
        
        #ifdef HAVE_VFX_MODIFICATION
            // FragInputs from VFX come from two places: Interpolator or CBuffer.
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
        
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            // splice point to copy custom interpolator fields from varyings to frag inputs
            
        
            return output;
        }
        
        // existing HDRP code uses the combined function to go directly from packed to frag inputs
        FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
        {
            UNITY_SETUP_INSTANCE_ID(input);
        #if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
            unity_InstanceID = input.instanceID;
        #endif
            VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
            return BuildFragInputs(unpacked);
        }
            SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
            output.WorldSpaceNormal =                           normalize(input.tangentToWorld[2].xyz);
            #if defined(SHADER_STAGE_RAY_TRACING)
            #else
            #endif
            output.TangentSpaceNormal =                         float3(0.0f, 0.0f, 1.0f);
            output.WorldSpaceTangent =                          input.tangentToWorld[0].xyz;
            output.WorldSpaceBiTangent =                        input.tangentToWorld[1].xyz;
            output.AbsoluteWorldSpacePosition =                 GetAbsolutePositionWS(input.positionRWS);
        
        #if UNITY_UV_STARTS_AT_TOP
        #else
        #endif
        
        
            output.uv0 =                                        input.texCoord0;
            output.uv2 =                                        input.texCoord2;
            output.VertexColor =                                input.color;
        
            // splice point to copy frag inputs custom interpolator pack into the SDI
            
        
            return output;
        }
        
            // --------------------------------------------------
            // Build Surface Data (Specific Material)
        
        void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
        
        void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
            inout SurfaceData surfaceData)
        {
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
        #ifdef DECAL_NORMAL_BLENDING
            // SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
            // the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
            float3 normalTS;
        
            normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
            fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
        
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        
            GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
        #else
            // normal delivered to master node
            GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                // Both uses and modifies 'surfaceData.normalWS'.
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        #endif
        }
        void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
        {
            ZERO_INITIALIZE(SurfaceData, surfaceData);
        
            // specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
            // however specularOcclusion can come from the graph, so need to be init here so it can be override.
            surfaceData.specularOcclusion = 1.0;
        
            surfaceData.baseColor =                 surfaceDescription.BaseColor;
            surfaceData.perceptualSmoothness =      surfaceDescription.Smoothness;
            surfaceData.ambientOcclusion =          surfaceDescription.Occlusion;
            surfaceData.metallic =                  surfaceDescription.Metallic;
        
            #if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
                if (_EnableSSRefraction)
                {
        
                    surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
                    surfaceDescription.Alpha = 1.0;
                }
                else
                {
                    surfaceData.ior = 1.0;
                    surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                    surfaceData.atDistance = 1.0;
                    surfaceData.transmittanceMask = 0.0;
                    surfaceDescription.Alpha = 1.0;
                }
            #else
                surfaceData.ior = 1.0;
                surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                surfaceData.atDistance = 1.0;
                surfaceData.transmittanceMask = 0.0;
            #endif
        
            // These static material feature allow compile time optimization
            surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
            #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
            #endif
        
            #ifdef _MATERIAL_FEATURE_TRANSMISSION
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
            #endif
        
            #ifdef _MATERIAL_FEATURE_ANISOTROPY
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
        
                // Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
                surfaceData.normalWS = float3(0, 1, 0);
            #endif
        
            #ifdef _MATERIAL_FEATURE_IRIDESCENCE
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
            #endif
        
            #ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
            #endif
        
            #ifdef _MATERIAL_FEATURE_CLEAR_COAT
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
            #endif
        
            #if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
                // Require to have setup baseColor
                // Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
                surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
            #endif
        
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
            ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
        
            surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
        
            surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz);    // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
        
        
            bentNormalWS = surfaceData.normalWS;
        
            surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
        
            #ifdef DEBUG_DISPLAY
                if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
                {
                    // TODO: need to update mip info
                    surfaceData.metallic = 0;
                }
        
                // We need to call ApplyDebugToSurfaceData after filling the surfarcedata and before filling builtinData
                // as it can modify attribute use for static lighting
                ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
            #endif
        
            // By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
            // If user provide bent normal then we process a better term
            #if defined(_SPECULAR_OCCLUSION_CUSTOM)
                // Just use the value passed through via the slot (not active otherwise)
            #elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
                // If we have bent normal and ambient occlusion, process a specular occlusion
                surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
            #elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
                surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
            #endif
        
            #if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
                surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
            #endif
        }
        
            // --------------------------------------------------
            // Get Surface And BuiltinData
        
            void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
            {
                // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
                #if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
                #ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
                LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
                #endif
                #endif
        
                #ifndef SHADER_UNLIT
                #ifdef _DOUBLESIDED_ON
                    float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
                #else
                    float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
                #endif
        
                ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
                #endif // SHADER_UNLIT
        
                SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
        
                #if defined(HAVE_VFX_MODIFICATION)
                GraphProperties properties;
                ZERO_INITIALIZE(GraphProperties, properties);
        
                GetElementPixelProperties(fragInputs, properties);
        
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
                #else
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
                #endif
        
                // Perform alpha test very early to save performance (a killed pixel will not sample textures)
                // TODO: split graph evaluation to grab just alpha dependencies first? tricky..
                #ifdef _ALPHATEST_ON
                    float alphaCutoff = surfaceDescription.AlphaClipThreshold;
                    #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
                    // The TransparentDepthPrepass is also used with SSR transparent.
                    // If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
                    // otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
                    #elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
                    // DepthPostpass always use its own alpha threshold
                    alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
                    #elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
                    // If use shadow threshold isn't enable we don't allow any test
                    #endif
        
                    GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
                #endif
        
                #if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
                ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
                #endif
        
                #ifndef SHADER_UNLIT
                float3 bentNormalWS;
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD1
                    float4 lightmapTexCoord1 = fragInputs.texCoord1;
                #else
                    float4 lightmapTexCoord1 = float4(0,0,0,0);
                #endif
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD2
                    float4 lightmapTexCoord2 = fragInputs.texCoord2;
                #else
                    float4 lightmapTexCoord2 = float4(0,0,0,0);
                #endif
        
                // Builtin Data
                // For back lighting we use the oposite vertex normal
                InitBuiltinData(posInput, surfaceDescription.Alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
        
                #else
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
        
                ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
                builtinData.opacity = surfaceDescription.Alpha;
        
                #if defined(DEBUG_DISPLAY)
                    // Light Layers are currently not used for the Unlit shader (because it is not lit)
                    // But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
                    // display in the light layers visualization mode, therefore we need the renderingLayers
                    builtinData.renderingLayers = GetMeshRenderingLightLayer();
                #endif
        
                #endif // SHADER_UNLIT
        
                #ifdef _ALPHATEST_ON
                    // Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
                    builtinData.alphaClipTreshold = alphaCutoff;
                #endif
        
                // override sampleBakedGI - not used by Unlit
        
                builtinData.emissiveColor = surfaceDescription.Emission;
        
                // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
                // We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
                // This is a limitation of the current MRT approach.
                #ifdef UNITY_VIRTUAL_TEXTURING
                builtinData.vtPackedFeedback = surfaceDescription.VTPackedFeedback;
                #endif
        
                #if _DEPTHOFFSET_ON
                builtinData.depthOffset = surfaceDescription.DepthOffset;
                #endif
        
                // TODO: We should generate distortion / distortionBlur for non distortion pass
                #if (SHADERPASS == SHADERPASS_DISTORTION)
                builtinData.distortion = surfaceDescription.Distortion;
                builtinData.distortionBlur = surfaceDescription.DistortionBlur;
                #endif
        
                #ifndef SHADER_UNLIT
                // PostInitBuiltinData call ApplyDebugToBuiltinData
                PostInitBuiltinData(V, posInput, surfaceData, builtinData);
                #else
                ApplyDebugToBuiltinData(builtinData);
                #endif
        
                RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
            }
        
            // --------------------------------------------------
            // Main
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForward.hlsl"
        
            // --------------------------------------------------
            // Visual Effect Vertex Invocations
        
        	#ifdef HAVE_VFX_MODIFICATION
        	#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
        	#endif
        
            ENDHLSL
        }
        Pass
        {
            Name "RayTracingPrepass"
            Tags
            {
                "LightMode" = "RayTracingPrepass"
            }
        
            // Render State
            Cull [_CullMode]
        Blend One Zero
        ZWrite On
        
            // Debug
            // <None>
        
            // --------------------------------------------------
            // Pass
        
            HLSLPROGRAM
        
            // Pragmas
            #pragma target 4.5
        #pragma vertex Vert
        #pragma fragment Frag
        #pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
        #pragma multi_compile_instancing
        
            // Keywords
            #pragma shader_feature_local _ _ALPHATEST_ON
        #pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local _ _DOUBLESIDED_ON
        #pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
        #pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC
        #pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
        #pragma shader_feature_local_fragment _ _DISABLE_DECALS
        #pragma shader_feature_local_raytracing _ _DISABLE_DECALS
        #pragma shader_feature_local_fragment _ _DISABLE_SSR
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR
        #pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
            // GraphKeywords: <None>
        
            // For custom interpolators to inject a substruct definition before FragInputs definition,
            // allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
            struct CustomInterpolators
        {
        };
        #define USE_CUSTOMINTERP_SUBSTRUCT
        
        
        
            // TODO: Merge FragInputsVFX substruct with CustomInterpolators.
        	#ifdef HAVE_VFX_MODIFICATION
        	struct FragInputsVFX
            {
                /* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
            };
            #endif
        
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
            // Always include Shader Graph version
            // Always include last to avoid double macros
            #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
        
            // --------------------------------------------------
            // Defines
        
            // Attribute
            #define ATTRIBUTES_NEED_NORMAL
            #define ATTRIBUTES_NEED_TANGENT
            #define ATTRIBUTES_NEED_TEXCOORD0
            #define ATTRIBUTES_NEED_TEXCOORD2
            #define ATTRIBUTES_NEED_COLOR
            #define VARYINGS_NEED_POSITION_WS
            #define VARYINGS_NEED_TANGENT_TO_WORLD
            #define VARYINGS_NEED_TEXCOORD0
            #define VARYINGS_NEED_TEXCOORD2
            #define VARYINGS_NEED_COLOR
        
            #define HAVE_MESH_MODIFICATION
        
            //Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
            //if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
            //Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
            #if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
            #define FRAG_INPUTS_ENABLE_STRIPPING
            #endif
            #define FRAG_INPUTS_USE_TEXCOORD0
            #define FRAG_INPUTS_USE_TEXCOORD2
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
        
        
        
            #define SHADERPASS SHADERPASS_CONSTANT
        #define RAYTRACING_SHADER_GRAPH_DEFAULT
        
        
            // Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
            // The ShaderGraph don't support correctly migration of this node as it serialize all the node data
            // in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
            // to still allow us to rename the field and keyword of this node without breaking existing code.
            #ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
            #define RAYTRACING_SHADER_GRAPH_HIGH
            #endif
        
            #ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
            #define RAYTRACING_SHADER_GRAPH_LOW
            #endif
            // end
        
            #ifndef SHADER_UNLIT
            // We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
            // VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
            #if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
                #define VARYINGS_NEED_CULLFACE
            #endif
            #endif
        
            // Specific Material Define
        #define _AMBIENT_OCCLUSION 1
        #define _SPECULAR_OCCLUSION_FROM_AO 1
        #define _ENERGY_CONSERVING_SPECULAR 1
        
        // If we use subsurface scattering, enable output split lighting (for forward pass)
        #if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
            #define OUTPUT_SPLIT_LIGHTING
        #endif
        
        // This shader support recursive rendering for raytracing
        #define HAVE_RECURSIVE_RENDERING
        
        // In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
        #if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
            #undef  _REFRACTION_PLANE
            #undef  _REFRACTION_SPHERE
            #define _REFRACTION_THIN
        #endif
            // Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
        
            // To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
            // we should have a code like this:
            // if !defined(_DISABLE_SSR_TRANSPARENT)
            // pragma multi_compile _ WRITE_NORMAL_BUFFER
            // endif
            // i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
            // it based on if SSR transparent in frame settings and not (and stripper can strip it).
            // this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
            // so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
            // Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
            #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
            #if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
                #define WRITE_NORMAL_BUFFER
            #endif
            #endif
        
            #ifndef DEBUG_DISPLAY
                // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
                // Don't do it with debug display mode as it is possible there is no depth prepass in this case
                #if !defined(_SURFACE_TYPE_TRANSPARENT)
                    #if SHADERPASS == SHADERPASS_FORWARD
                    #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
                    #elif SHADERPASS == SHADERPASS_GBUFFER
                    #define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
                    #endif
                #endif
            #endif
        
            // Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
            #if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
                #define _DEFERRED_CAPABLE_MATERIAL
            #endif
        
            // Translate transparent motion vector define
            #if defined(_TRANSPARENT_WRITES_MOTION_VEC) && defined(_SURFACE_TYPE_TRANSPARENT)
                #define _WRITE_TRANSPARENT_MOTION_VECTOR
            #endif
        
            // -- Graph Properties
            CBUFFER_START(UnityPerMaterial)
        float _AlphaCutoff;
        float4 _BaseColor;
        float4 _BaseColorMap_TexelSize;
        float _BaseUsePlanarUV;
        float4 _BaseTilingOffset;
        float4 _BaseNormalMap_TexelSize;
        float _BaseNormalScale;
        float4 _BaseMaskMap_TexelSize;
        float _BaseMetallic;
        float _BaseAORemapMin;
        float _BaseAORemapMax;
        float _BaseSmoothnessRemapMin;
        float _BaseSmoothnessRemapMax;
        float _USEDYNAMICCOVERTSTATICMASKF;
        float4 _CoverMaskA_TexelSize;
        float _CoverMaskPower;
        float _Cover_Amount;
        float _Cover_Amount_Grow_Speed;
        float3 _CoverDirection;
        float _Cover_Max_Angle;
        float _Cover_Min_Height;
        float _Cover_Min_Height_Blending;
        float4 _CoverBaseColor;
        float4 _CoverBaseColorMap_TexelSize;
        float4 _CoverTilingOffset;
        float _CoverTriplanarThreshold;
        float4 _CoverNormalMap_TexelSize;
        float _CoverNormalScale;
        float _CoverNormalBlendHardness;
        float _CoverHardness;
        float _CoverHeightMapMin;
        float _CoverHeightMapMax;
        float _CoverHeightMapOffset;
        float4 _CoverMaskMap_TexelSize;
        float _CoverMetallic;
        float _CoverAORemapMin;
        float _CoverAORemapMax;
        float _CoverSmoothnessRemapMin;
        float _CoverSmoothnessRemapMax;
        float4 _DetailMap_TexelSize;
        float4 _DetailTilingOffset;
        float _DetailAlbedoScale;
        float _DetailNormalScale;
        float _DetailSmoothnessScale;
        float4 _WetColor;
        float _WetSmoothness;
        float4 _EmissionColor;
        float _UseShadowThreshold;
        float4 _DoubleSidedConstants;
        float _BlendMode;
        float _EnableBlendModePreserveSpecularLighting;
        float _RayTracing;
        float _RefractionModel;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        SAMPLER(SamplerState_Linear_Repeat_Aniso8);
        TEXTURE2D(_BaseColorMap);
        SAMPLER(sampler_BaseColorMap);
        TEXTURE2D(_BaseNormalMap);
        SAMPLER(sampler_BaseNormalMap);
        TEXTURE2D(_BaseMaskMap);
        SAMPLER(sampler_BaseMaskMap);
        TEXTURE2D(_CoverMaskA);
        SAMPLER(sampler_CoverMaskA);
        TEXTURE2D(_CoverBaseColorMap);
        SAMPLER(sampler_CoverBaseColorMap);
        TEXTURE2D(_CoverNormalMap);
        SAMPLER(sampler_CoverNormalMap);
        TEXTURE2D(_CoverMaskMap);
        SAMPLER(sampler_CoverMaskMap);
        TEXTURE2D(_DetailMap);
        SAMPLER(sampler_DetailMap);
        
            // -- Property used by ScenePickingPass
            #ifdef SCENEPICKINGPASS
            float4 _SelectionID;
            #endif
        
            // -- Properties used by SceneSelectionPass
            #ifdef SCENESELECTIONPASS
            int _ObjectId;
            int _PassValue;
            #endif
        
            // Includes
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
        #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/NormalSurfaceGradient.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
        	#include "./NM_Object_VSPro_Indirect.cginc"
        
            // --------------------------------------------------
            // Structs and Packing
        
            struct AttributesMesh
        {
             float3 positionOS : POSITION;
             float3 normalOS : NORMAL;
             float4 tangentOS : TANGENT;
             float4 uv0 : TEXCOORD0;
             float4 uv2 : TEXCOORD2;
             float4 color : COLOR;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : INSTANCEID_SEMANTIC;
            #endif
        };
        struct VaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float3 positionRWS;
             float3 normalWS;
             float4 tangentWS;
             float4 texCoord0;
             float4 texCoord2;
             float4 color;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        struct VertexDescriptionInputs
        {
             float3 ObjectSpaceNormal;
             float3 ObjectSpaceTangent;
             float3 ObjectSpacePosition;
        };
        struct SurfaceDescriptionInputs
        {
             float3 WorldSpaceNormal;
             float3 TangentSpaceNormal;
             float3 WorldSpaceTangent;
             float3 WorldSpaceBiTangent;
             float3 AbsoluteWorldSpacePosition;
             float4 uv0;
             float4 uv2;
             float4 VertexColor;
        };
        struct PackedVaryingsMeshToPS
        {
            SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION;
             float4 tangentWS : INTERP0;
             float4 texCoord0 : INTERP1;
             float4 texCoord2 : INTERP2;
             float4 color : INTERP3;
             float3 positionRWS : INTERP4;
             float3 normalWS : INTERP5;
            #if UNITY_ANY_INSTANCING_ENABLED
             uint instanceID : CUSTOM_INSTANCE_ID;
            #endif
        };
        
            PackedVaryingsMeshToPS PackVaryingsMeshToPS (VaryingsMeshToPS input)
        {
            PackedVaryingsMeshToPS output;
            ZERO_INITIALIZE(PackedVaryingsMeshToPS, output);
            output.positionCS = input.positionCS;
            output.tangentWS.xyzw = input.tangentWS;
            output.texCoord0.xyzw = input.texCoord0;
            output.texCoord2.xyzw = input.texCoord2;
            output.color.xyzw = input.color;
            output.positionRWS.xyz = input.positionRWS;
            output.normalWS.xyz = input.normalWS;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        VaryingsMeshToPS UnpackVaryingsMeshToPS (PackedVaryingsMeshToPS input)
        {
            VaryingsMeshToPS output;
            output.positionCS = input.positionCS;
            output.tangentWS = input.tangentWS.xyzw;
            output.texCoord0 = input.texCoord0.xyzw;
            output.texCoord2 = input.texCoord2.xyzw;
            output.color = input.color.xyzw;
            output.positionRWS = input.positionRWS.xyz;
            output.normalWS = input.normalWS.xyz;
            #if UNITY_ANY_INSTANCING_ENABLED
            output.instanceID = input.instanceID;
            #endif
            return output;
        }
        
        
            // --------------------------------------------------
            // Graph
        
        
            // Graph Functions
            
        void AddPragma_float(float3 A, out float3 Out){
        #pragma instancing_options procedural:setupVSPro
        Out = A;
        }
        
        struct Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float
        {
        };
        
        void SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(float3 Vector3_314C8600, Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float IN, out float3 ObjectSpacePosition_1)
        {
        float3 _Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3 = Vector3_314C8600;
        float3 _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3;
        InjectSetup_float(_Property_5ec158abd968858c9d31ab40df5e9e6f_Out_0_Vector3, _InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3);
        float3 _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        AddPragma_float(_InjectSetupCustomFunction_dec9b26544b4a788b8ecb4117dc3d24a_Out_1_Vector3, _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3);
        ObjectSpacePosition_1 = _AddPragmaCustomFunction_b2a053178906d0848480a1f463521a1b_Out_1_Vector3;
        }
        
        void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
        {
            RGBA = float4(R, G, B, A);
            RGB = float3(R, G, B);
            RG = float2(R, G);
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
        Out = A * B;
        }
        
        void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
        {
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
        float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
        Unity_Divide_float(1, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
        float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
        float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
        Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
        float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
        float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
        float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
        float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
        Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
        UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        }
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_Absolute_float(float In, out float Out)
        {
            Out = abs(In);
        }
        
        void Unity_SquareRoot_float4(float4 In, out float4 Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Sign_float(float In, out float Out)
        {
            Out = sign(In);
        }
        
        void Unity_Ceiling_float(float In, out float Out)
        {
            Out = ceil(In);
        }
        
        void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
        {
        };
        
        void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
        {
        float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
        float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
        Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
        Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
        float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
        Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
        float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
        OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
        }
        
        void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A / B;
        }
        
        void Unity_Sign_float3(float3 In, out float3 Out)
        {
            Out = sign(In);
        }
        
        void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
        {
        Out = A * B;
        }
        
        void Unity_Absolute_float3(float3 In, out float3 Out)
        {
            Out = abs(In);
        }
        
        void Unity_Power_float3(float3 A, float3 B, out float3 Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
        Out = A * B;
        }
        
        void Unity_Add_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A + B;
        }
        
        struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
        {
        float3 WorldSpaceNormal;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
        float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
        float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
        float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
        float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
        float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, 1);
        float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
        UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
        Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
        float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, 1);
        float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, 1);
        float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
        float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
        Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
        float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
        Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
        XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
        XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_Add_float2(float2 A, float2 B, out float2 Out)
        {
            Out = A + B;
        }
        
        void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
        {
            Out = dot(A, B);
        }
        
        void Unity_OneMinus_float(float In, out float Out)
        {
            Out = 1 - In;
        }
        
        void Unity_SquareRoot_float(float In, out float Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Normalize_float3(float3 In, out float3 Out)
        {
            Out = normalize(In);
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
        {
        float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
        float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
        float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
        float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
        float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
        float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
        Unity_Divide_float(1, _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
        float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
        float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
        Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
        float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
        float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
        float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
        float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
        Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
        UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
        float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangent(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
        float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
        Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
        XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
        }
        
        void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
        {
            Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
        }
        
        void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
        {
            Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A / B;
        }
        
        struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
        UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
        float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
        Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
        float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, 1);
        float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
        _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
        float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
        float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
        Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
        float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
        float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
        float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
        float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
        float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, 1);
        float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
        _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
        float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
        float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
        float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
        Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
        float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
        float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
        float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
        Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
        float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
        Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
        Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
        float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
        XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
        XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
        YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
        XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Power_float(float A, float B, out float Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
        {
            Out = lerp(A, B, T);
        }
        
        void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
        {
            Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
        }
        
        void Unity_Branch_float(float Predicate, float True, float False, out float Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Lerp_float(float A, float B, float T, out float Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
        {
        };
        
        void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
        {
        float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
        SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        }
        
            // Graph Vertex
            struct VertexDescription
        {
            float3 Position;
            float3 Normal;
            float3 Tangent;
        };
        
        VertexDescription VertexDescriptionFunction(VertexDescriptionInputs IN)
        {
            VertexDescription description = (VertexDescription)0;
            Bindings_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5;
            float3 _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            SG_NMObjectVSProIndirect_0cfe1e4f145944241ab304331e53c93b_float(IN.ObjectSpacePosition, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5, _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3);
            description.Position = _NMObjectVSProIndirect_f9d6857933998e8393ffa9eb3ee6f0e5_ObjectSpacePosition_1_Vector3;
            description.Normal = IN.ObjectSpaceNormal;
            description.Tangent = IN.ObjectSpaceTangent;
            return description;
        }
        
            // Graph Pixel
            struct SurfaceDescription
        {
            float3 BaseColor;
            float3 Emission;
            float Alpha;
            float AlphaClipThreshold;
            float3 BentNormal;
            float Smoothness;
            float Occlusion;
            float3 NormalTS;
            float Metallic;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
            float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
            float _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean = _BaseUsePlanarUV;
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_41db1f1f529b6f8e9c51558bacdba727;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv0 = IN.uv0;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv2 = IN.uv2;
            float4 _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4);
            float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
            float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
            Unity_Multiply_float4_float4(_PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
            UnityTexture2D _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
            float4 _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4 = _DetailTilingOffset;
            float _Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[0];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[1];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[2];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[3];
            float2 _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float);
            float2 _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float);
            float2 _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2, _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2, _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2);
            float4 _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.tex, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.samplerstate, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2) );
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.r;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.g;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.b;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.a;
            float _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float, 2, _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float);
            float _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float;
            Unity_Add_float(_Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float, -1, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float);
            float _Property_605f29777330a58ba88ac032e905433b_Out_0_Float = _DetailAlbedoScale;
            float _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float;
            Unity_Multiply_float_float(_Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Property_605f29777330a58ba88ac032e905433b_Out_0_Float, _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float);
            float _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float;
            Unity_Saturate_float(_Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float, _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float);
            float _Absolute_8acef423205118879e75274a48969d34_Out_1_Float;
            Unity_Absolute_float(_Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float);
            Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185;
            float3 _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3;
            SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3);
            UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
            float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
            float4 _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4;
            Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4);
            float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4);
            float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
            float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
            Unity_Multiply_float4_float4(_TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
            float _Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
            UnityTexture2D _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
            float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
            float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.tex, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.samplerstate, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
            float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
            float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
            float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
            Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, 0, 1, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
            float3 _Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3 = _CoverDirection;
            float2 _Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2 = float2(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float, _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float);
            float2 _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2, float2(2, 2), _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2);
            float2 _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2;
            Unity_Add_float2(_Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2, float2(-1, -1), _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2);
            float _Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float = _DetailNormalScale;
            float2 _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2, (_Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float.xx), _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2);
            float _Split_c4822b8eaff9b185be7c059792345712_R_1_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[0];
            float _Split_c4822b8eaff9b185be7c059792345712_G_2_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[1];
            float _Split_c4822b8eaff9b185be7c059792345712_B_3_Float = 0;
            float _Split_c4822b8eaff9b185be7c059792345712_A_4_Float = 0;
            float _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float;
            Unity_DotProduct_float2(_Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float);
            float _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float;
            Unity_Saturate_float(_DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float, _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float);
            float _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float;
            Unity_OneMinus_float(_Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float, _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float);
            float _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float;
            Unity_SquareRoot_float(_OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            float3 _Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3 = float3(_Split_c4822b8eaff9b185be7c059792345712_R_1_Float, _Split_c4822b8eaff9b185be7c059792345712_G_2_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
            Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_e976eded9c94228090999d383a1bd95b;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceNormal = IN.WorldSpaceNormal;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceTangent = IN.WorldSpaceTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv0 = IN.uv0;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv2 = IN.uv2;
            float4 _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4;
            SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_e976eded9c94228090999d383a1bd95b, _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4);
            float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
            float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
            Unity_NormalStrength_float((_PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
            float3 _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3;
            Unity_NormalBlend_float(_Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3);
            UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
            Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceTangent = IN.WorldSpaceTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4;
            SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4);
            float _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float = _CoverNormalBlendHardness;
            float3 _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3);
            float3 _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3);
            float _Split_64630334a9c0058a848439df6d5afe71_R_1_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[0];
            float _Split_64630334a9c0058a848439df6d5afe71_G_2_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[1];
            float _Split_64630334a9c0058a848439df6d5afe71_B_3_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[2];
            float _Split_64630334a9c0058a848439df6d5afe71_A_4_Float = 0;
            float _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float;
            Unity_Add_float(_Split_64630334a9c0058a848439df6d5afe71_R_1_Float, _Split_64630334a9c0058a848439df6d5afe71_G_2_Float, _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float);
            float _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float;
            Unity_Add_float(_Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float, _Split_64630334a9c0058a848439df6d5afe71_B_3_Float, _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float);
            float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
            float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
            float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
            Unity_Subtract_float(4, _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
            float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
            Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
            float _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float;
            Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float);
            float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
            Unity_Power_float(_Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
            float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
            Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, 0, 2, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
            float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
            Unity_Multiply_float_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
            float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
            Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
            float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
            Unity_Clamp_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, 0, 0.9999, _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
            float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
            float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
            Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, 45, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
            float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
            Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
            float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
            Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
            float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
            Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, 0, 2, _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
            float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
            Unity_Divide_float(1, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
            float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
            float _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float;
            Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float);
            float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
            float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
            Unity_Power_float(_Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
            float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
            float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
            Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
            float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
            float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
            float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
            float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
            float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
            Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
            float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, 1, _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
            float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
            Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, 0, 1, _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
            float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
            float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
            float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
            Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
            float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
            Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
            float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
            Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, -0.5, _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
            float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
            Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, 0, 1, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
            float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
            Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
            float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
            Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, 0, 1, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
            float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
            Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
            float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
            Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
            float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
            float3 _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3;
            {
                float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
                _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
            }
            float3 _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3, _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3);
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[0];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[1];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[2];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_A_4_Float = 0;
            float _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float;
            Unity_Add_float(_Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float, _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float);
            float _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float;
            Unity_Add_float(_Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float, _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float);
            float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
            Unity_Multiply_float_float(_Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
            float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
            float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
            float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
            UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f8c96485552c638b8d38f34567da0e97;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f8c96485552c638b8d38f34567da0e97, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4);
            float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[0];
            float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[1];
            float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[2];
            float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[3];
            float _Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float = _CoverHeightMapMin;
            float _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float = _CoverHeightMapMax;
            float2 _Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2 = float2(_Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float, _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float);
            float _Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float = _CoverHeightMapOffset;
            float2 _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2;
            Unity_Add_float2(_Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2, (_Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float.xx), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2);
            float _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float);
            float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
            float _Split_8259ed9a9318f9848f486475aa132211_R_1_Float = IN.VertexColor[0];
            float _Split_8259ed9a9318f9848f486475aa132211_G_2_Float = IN.VertexColor[1];
            float _Split_8259ed9a9318f9848f486475aa132211_B_3_Float = IN.VertexColor[2];
            float _Split_8259ed9a9318f9848f486475aa132211_A_4_Float = IN.VertexColor[3];
            float _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_8259ed9a9318f9848f486475aa132211_G_2_Float, _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float);
            float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
            Unity_Saturate_float(_Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
            float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
            float _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float;
            Unity_Branch_float(_Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float);
            float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
            Unity_Lerp_float3(_BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
            float4 _Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4 = _WetColor;
            float3 _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3;
            Unity_Multiply_float3_float3((_Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3);
            float _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float;
            Unity_OneMinus_float(_Split_8259ed9a9318f9848f486475aa132211_R_1_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float);
            float3 _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3, (_OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float.xxx), _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3);
            float _Split_d9627fc463ca248fa5ce803295175e7f_R_1_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[0];
            float _Split_d9627fc463ca248fa5ce803295175e7f_G_2_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[1];
            float _Split_d9627fc463ca248fa5ce803295175e7f_B_3_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[2];
            float _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[3];
            float _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float = _AlphaCutoff;
            UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_9d0bc4ed86df988595f613acb6a8509f;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv0 = IN.uv0;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv2 = IN.uv2;
            float4 _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4);
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[0];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[1];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_B_3_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[2];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[3];
            float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
            float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
            Unity_Multiply_float_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
            float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
            float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
            float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
            float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
            float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
            float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
            float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
            float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
            float _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float, 2, _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float);
            float _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float;
            Unity_Add_float(_Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float, -1, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float);
            float _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float = _DetailSmoothnessScale;
            float _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float;
            Unity_Multiply_float_float(_Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float, _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float);
            float _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float;
            Unity_Saturate_float(_Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float, _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float);
            float _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float;
            Unity_Absolute_float(_Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float);
            Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43;
            float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float;
            SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float);
            float _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float;
            Unity_Saturate_float(_BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
            float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
            Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
            float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
            float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
            float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
            float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
            float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
            float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
            float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
            float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
            Unity_Lerp_float3(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
            float _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float = _WetSmoothness;
            float _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float, _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float);
            float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
            float3 _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3);
            float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
            surface.BaseColor = _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            surface.Emission = float3(0, 0, 0);
            surface.Alpha = _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float;
            surface.AlphaClipThreshold = _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float;
            surface.BentNormal = IN.TangentSpaceNormal;
            surface.Smoothness = _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
            surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float;
            return surface;
        }
        
            // --------------------------------------------------
            // Build Graph Inputs
            #ifdef HAVE_VFX_MODIFICATION
            #define VFX_SRP_ATTRIBUTES AttributesMesh
            #define VaryingsMeshType VaryingsMeshToPS
            #define VFX_SRP_VARYINGS VaryingsMeshType
            #define VFX_SRP_SURFACE_INPUTS FragInputs
            #endif
            
        VertexDescriptionInputs AttributesMeshToVertexDescriptionInputs(AttributesMesh input)
        {
            VertexDescriptionInputs output;
            ZERO_INITIALIZE(VertexDescriptionInputs, output);
        
            output.ObjectSpaceNormal =                          input.normalOS;
            output.ObjectSpaceTangent =                         input.tangentOS.xyz;
            output.ObjectSpacePosition =                        input.positionOS;
        
            return output;
        }
        
        VertexDescription GetVertexDescription(AttributesMesh input, float3 timeParameters
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            // build graph inputs
            VertexDescriptionInputs vertexDescriptionInputs = AttributesMeshToVertexDescriptionInputs(input);
            // Override time parameters with used one (This is required to correctly handle motion vectors for vertex animation based on time)
        
            // evaluate vertex graph
        #ifdef HAVE_VFX_MODIFICATION
            GraphProperties properties;
            ZERO_INITIALIZE(GraphProperties, properties);
        
            // Fetch the vertex graph properties for the particle instance.
            GetElementVertexProperties(element, properties);
        
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs, properties);
        #else
            VertexDescription vertexDescription = VertexDescriptionFunction(vertexDescriptionInputs);
        #endif
            return vertexDescription;
        
        }
        
        AttributesMesh ApplyMeshModification(AttributesMesh input, float3 timeParameters
        #ifdef USE_CUSTOMINTERP_SUBSTRUCT
            #ifdef TESSELLATION_ON
            , inout VaryingsMeshToDS varyings
            #else
            , inout VaryingsMeshToPS varyings
            #endif
        #endif
        #ifdef HAVE_VFX_MODIFICATION
                , AttributesElement element
        #endif
            )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, timeParameters
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
        
            // copy graph output to the results
            input.positionOS = vertexDescription.Position;
            input.normalOS = vertexDescription.Normal;
            input.tangentOS.xyz = vertexDescription.Tangent;
        
            
        
            return input;
        }
        
        #if defined(_ADD_CUSTOM_VELOCITY) // For shader graph custom velocity
        // Return precomputed Velocity in object space
        float3 GetCustomVelocity(AttributesMesh input
        #ifdef HAVE_VFX_MODIFICATION
            , AttributesElement element
        #endif
        )
        {
            VertexDescription vertexDescription = GetVertexDescription(input, _TimeParameters.xyz
        #ifdef HAVE_VFX_MODIFICATION
                , element
        #endif
            );
            return vertexDescription.CustomVelocity;
        }
        #endif
        
        FragInputs BuildFragInputs(VaryingsMeshToPS input)
        {
            FragInputs output;
            ZERO_INITIALIZE(FragInputs, output);
        
            // Init to some default value to make the computer quiet (else it output 'divide by zero' warning even if value is not used).
            // TODO: this is a really poor workaround, but the variable is used in a bunch of places
            // to compute normals which are then passed on elsewhere to compute other values...
            output.tangentToWorld = k_identity3x3;
            output.positionSS = input.positionCS;       // input.positionCS is SV_Position
        
            output.positionRWS =                input.positionRWS;
            output.tangentToWorld =             BuildTangentToWorld(input.tangentWS, input.normalWS);
            output.texCoord0 =                  input.texCoord0;
            output.texCoord2 =                  input.texCoord2;
            output.color =                      input.color;
        
        #ifdef HAVE_VFX_MODIFICATION
            // FragInputs from VFX come from two places: Interpolator or CBuffer.
        #if VFX_USE_GRAPH_VALUES
            uint instanceActiveIndex = asuint(UNITY_ACCESS_INSTANCED_PROP(PerInstance, _InstanceActiveIndex));
            /* WARNING: $splice Could not find named fragment 'VFXLoadGraphValues' */
        #endif
        
            /* WARNING: $splice Could not find named fragment 'VFXSetFragInputs' */
        
        #endif
        
            // splice point to copy custom interpolator fields from varyings to frag inputs
            
        
            return output;
        }
        
        // existing HDRP code uses the combined function to go directly from packed to frag inputs
        FragInputs UnpackVaryingsMeshToFragInputs(PackedVaryingsMeshToPS input)
        {
            UNITY_SETUP_INSTANCE_ID(input);
        #if defined(HAVE_VFX_MODIFICATION) && defined(UNITY_INSTANCING_ENABLED)
            unity_InstanceID = input.instanceID;
        #endif
            VaryingsMeshToPS unpacked = UnpackVaryingsMeshToPS(input);
            return BuildFragInputs(unpacked);
        }
            SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
            output.WorldSpaceNormal =                           normalize(input.tangentToWorld[2].xyz);
            #if defined(SHADER_STAGE_RAY_TRACING)
            #else
            #endif
            output.TangentSpaceNormal =                         float3(0.0f, 0.0f, 1.0f);
            output.WorldSpaceTangent =                          input.tangentToWorld[0].xyz;
            output.WorldSpaceBiTangent =                        input.tangentToWorld[1].xyz;
            output.AbsoluteWorldSpacePosition =                 GetAbsolutePositionWS(input.positionRWS);
        
        #if UNITY_UV_STARTS_AT_TOP
        #else
        #endif
        
        
            output.uv0 =                                        input.texCoord0;
            output.uv2 =                                        input.texCoord2;
            output.VertexColor =                                input.color;
        
            // splice point to copy frag inputs custom interpolator pack into the SDI
            
        
            return output;
        }
        
            // --------------------------------------------------
            // Build Surface Data (Specific Material)
        
        void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
        
        void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
            inout SurfaceData surfaceData)
        {
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
        #ifdef DECAL_NORMAL_BLENDING
            // SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
            // the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
            float3 normalTS;
        
            normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
            fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
        
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        
            GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
        #else
            // normal delivered to master node
            GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                // Both uses and modifies 'surfaceData.normalWS'.
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        #endif
        }
        void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
        {
            ZERO_INITIALIZE(SurfaceData, surfaceData);
        
            // specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
            // however specularOcclusion can come from the graph, so need to be init here so it can be override.
            surfaceData.specularOcclusion = 1.0;
        
            surfaceData.baseColor =                 surfaceDescription.BaseColor;
            surfaceData.perceptualSmoothness =      surfaceDescription.Smoothness;
            surfaceData.ambientOcclusion =          surfaceDescription.Occlusion;
            surfaceData.metallic =                  surfaceDescription.Metallic;
        
            #if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
                if (_EnableSSRefraction)
                {
        
                    surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
                    surfaceDescription.Alpha = 1.0;
                }
                else
                {
                    surfaceData.ior = 1.0;
                    surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                    surfaceData.atDistance = 1.0;
                    surfaceData.transmittanceMask = 0.0;
                    surfaceDescription.Alpha = 1.0;
                }
            #else
                surfaceData.ior = 1.0;
                surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                surfaceData.atDistance = 1.0;
                surfaceData.transmittanceMask = 0.0;
            #endif
        
            // These static material feature allow compile time optimization
            surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
            #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
            #endif
        
            #ifdef _MATERIAL_FEATURE_TRANSMISSION
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
            #endif
        
            #ifdef _MATERIAL_FEATURE_ANISOTROPY
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
        
                // Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
                surfaceData.normalWS = float3(0, 1, 0);
            #endif
        
            #ifdef _MATERIAL_FEATURE_IRIDESCENCE
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
            #endif
        
            #ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
            #endif
        
            #ifdef _MATERIAL_FEATURE_CLEAR_COAT
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
            #endif
        
            #if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
                // Require to have setup baseColor
                // Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
                surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
            #endif
        
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
            ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
        
            surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
        
            surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz);    // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
        
        
            bentNormalWS = surfaceData.normalWS;
        
            surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
        
            #ifdef DEBUG_DISPLAY
                if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
                {
                    // TODO: need to update mip info
                    surfaceData.metallic = 0;
                }
        
                // We need to call ApplyDebugToSurfaceData after filling the surfarcedata and before filling builtinData
                // as it can modify attribute use for static lighting
                ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
            #endif
        
            // By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
            // If user provide bent normal then we process a better term
            #if defined(_SPECULAR_OCCLUSION_CUSTOM)
                // Just use the value passed through via the slot (not active otherwise)
            #elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
                // If we have bent normal and ambient occlusion, process a specular occlusion
                surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
            #elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
                surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
            #endif
        
            #if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
                surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
            #endif
        }
        
            // --------------------------------------------------
            // Get Surface And BuiltinData
        
            void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
            {
                // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
                #if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
                #ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
                LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
                #endif
                #endif
        
                #ifndef SHADER_UNLIT
                #ifdef _DOUBLESIDED_ON
                    float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
                #else
                    float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
                #endif
        
                ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
                #endif // SHADER_UNLIT
        
                SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
        
                #if defined(HAVE_VFX_MODIFICATION)
                GraphProperties properties;
                ZERO_INITIALIZE(GraphProperties, properties);
        
                GetElementPixelProperties(fragInputs, properties);
        
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
                #else
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
                #endif
        
                // Perform alpha test very early to save performance (a killed pixel will not sample textures)
                // TODO: split graph evaluation to grab just alpha dependencies first? tricky..
                #ifdef _ALPHATEST_ON
                    float alphaCutoff = surfaceDescription.AlphaClipThreshold;
                    #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
                    // The TransparentDepthPrepass is also used with SSR transparent.
                    // If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
                    // otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
                    #elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
                    // DepthPostpass always use its own alpha threshold
                    alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
                    #elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
                    // If use shadow threshold isn't enable we don't allow any test
                    #endif
        
                    GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
                #endif
        
                #if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
                ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
                #endif
        
                #ifndef SHADER_UNLIT
                float3 bentNormalWS;
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD1
                    float4 lightmapTexCoord1 = fragInputs.texCoord1;
                #else
                    float4 lightmapTexCoord1 = float4(0,0,0,0);
                #endif
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD2
                    float4 lightmapTexCoord2 = fragInputs.texCoord2;
                #else
                    float4 lightmapTexCoord2 = float4(0,0,0,0);
                #endif
        
                // Builtin Data
                // For back lighting we use the oposite vertex normal
                InitBuiltinData(posInput, surfaceDescription.Alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
        
                #else
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
        
                ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
                builtinData.opacity = surfaceDescription.Alpha;
        
                #if defined(DEBUG_DISPLAY)
                    // Light Layers are currently not used for the Unlit shader (because it is not lit)
                    // But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
                    // display in the light layers visualization mode, therefore we need the renderingLayers
                    builtinData.renderingLayers = GetMeshRenderingLightLayer();
                #endif
        
                #endif // SHADER_UNLIT
        
                #ifdef _ALPHATEST_ON
                    // Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
                    builtinData.alphaClipTreshold = alphaCutoff;
                #endif
        
                // override sampleBakedGI - not used by Unlit
        
                builtinData.emissiveColor = surfaceDescription.Emission;
        
                // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
                // We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
                // This is a limitation of the current MRT approach.
                #ifdef UNITY_VIRTUAL_TEXTURING
                #endif
        
                #if _DEPTHOFFSET_ON
                builtinData.depthOffset = surfaceDescription.DepthOffset;
                #endif
        
                // TODO: We should generate distortion / distortionBlur for non distortion pass
                #if (SHADERPASS == SHADERPASS_DISTORTION)
                builtinData.distortion = surfaceDescription.Distortion;
                builtinData.distortionBlur = surfaceDescription.DistortionBlur;
                #endif
        
                #ifndef SHADER_UNLIT
                // PostInitBuiltinData call ApplyDebugToBuiltinData
                PostInitBuiltinData(V, posInput, surfaceData, builtinData);
                #else
                ApplyDebugToBuiltinData(builtinData);
                #endif
        
                RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
            }
        
            // --------------------------------------------------
            // Main
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassConstant.hlsl"
        
            // --------------------------------------------------
            // Visual Effect Vertex Invocations
        
        	#ifdef HAVE_VFX_MODIFICATION
        	#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
        	#endif
        
            ENDHLSL
        }
    }
    SubShader
    {
        Tags
        {
            "RenderPipeline"="HDRenderPipeline"
            "RenderType"="HDLitShader"
            "Queue"="AlphaTest+25"
            "DisableBatching"="LODFading"
            "ShaderGraphShader"="true"
            "ShaderGraphTargetId"="HDLitSubTarget"
        }
        Pass
        {
            Name "IndirectDXR"
            Tags
            {
                "LightMode" = "IndirectDXR"
            }
        
            // Render State
            // RenderState: <None>
        
            // Debug
            // <None>
        
            // --------------------------------------------------
            // Pass
        
            HLSLPROGRAM
        
            // Pragmas
            #pragma target 5.0
        #pragma raytracing surface_shader
        #pragma only_renderers d3d11 xboxseries ps5
        
            // Keywords
            #pragma multi_compile _ MULTI_BOUNCE_INDIRECT
        #pragma shader_feature_local _ _ALPHATEST_ON
        #pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local _ _DOUBLESIDED_ON
        #pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
        #pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC
        #pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
        #pragma multi_compile _ DEBUG_DISPLAY
        #pragma shader_feature_local_fragment _ _DISABLE_DECALS
        #pragma shader_feature_local_raytracing _ _DISABLE_DECALS
        #pragma shader_feature_local_fragment _ _DISABLE_SSR
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR
        #pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
        #pragma multi_compile _ LIGHTMAP_ON
        #pragma multi_compile _ DIRLIGHTMAP_COMBINED
        #pragma multi_compile_fragment PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
        #pragma multi_compile_raytracing PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
        #pragma multi_compile _ DYNAMICLIGHTMAP_ON
        #pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
            // GraphKeywords: <None>
        
            // For custom interpolators to inject a substruct definition before FragInputs definition,
            // allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
            /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreInclude' */
        
        
            // TODO: Merge FragInputsVFX substruct with CustomInterpolators.
        	#ifdef HAVE_VFX_MODIFICATION
        	struct FragInputsVFX
            {
                /* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
            };
            #endif
        
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
            // Always include Shader Graph version
            // Always include last to avoid double macros
            #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
        
            // --------------------------------------------------
            // Defines
        
            // Attribute
            #define ATTRIBUTES_NEED_NORMAL
            #define ATTRIBUTES_NEED_TANGENT
            #define ATTRIBUTES_NEED_TEXCOORD0
            #define ATTRIBUTES_NEED_TEXCOORD1
            #define ATTRIBUTES_NEED_TEXCOORD2
            #define ATTRIBUTES_NEED_COLOR
            #define VARYINGS_NEED_POSITION_WS
            #define VARYINGS_NEED_TANGENT_TO_WORLD
            #define VARYINGS_NEED_TEXCOORD0
            #define VARYINGS_NEED_TEXCOORD1
            #define VARYINGS_NEED_TEXCOORD2
            #define VARYINGS_NEED_COLOR
        
        
            //Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
            //if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
            //Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
            #if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
            #define FRAG_INPUTS_ENABLE_STRIPPING
            #endif
            #define FRAG_INPUTS_USE_TEXCOORD0
            #define FRAG_INPUTS_USE_TEXCOORD1
            #define FRAG_INPUTS_USE_TEXCOORD2
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
        
        
        
            #define SHADERPASS SHADERPASS_RAYTRACING_INDIRECT
        #define SHADOW_LOW
        #define RAYTRACING_SHADER_GRAPH_RAYTRACED
        #define HAS_LIGHTLOOP 1
        
        
            // Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
            // The ShaderGraph don't support correctly migration of this node as it serialize all the node data
            // in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
            // to still allow us to rename the field and keyword of this node without breaking existing code.
            #ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
            #define RAYTRACING_SHADER_GRAPH_HIGH
            #endif
        
            #ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
            #define RAYTRACING_SHADER_GRAPH_LOW
            #endif
            // end
        
            #ifndef SHADER_UNLIT
            // We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
            // VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
            #if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
                #define VARYINGS_NEED_CULLFACE
            #endif
            #endif
        
            // Specific Material Define
        #define _AMBIENT_OCCLUSION 1
        #define _SPECULAR_OCCLUSION_FROM_AO 1
        #define _ENERGY_CONSERVING_SPECULAR 1
        
        // If we use subsurface scattering, enable output split lighting (for forward pass)
        #if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
            #define OUTPUT_SPLIT_LIGHTING
        #endif
        
        // This shader support recursive rendering for raytracing
        #define HAVE_RECURSIVE_RENDERING
        
        // In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
        #if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
            #undef  _REFRACTION_PLANE
            #undef  _REFRACTION_SPHERE
            #define _REFRACTION_THIN
        #endif
            // Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
        
            // To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
            // we should have a code like this:
            // if !defined(_DISABLE_SSR_TRANSPARENT)
            // pragma multi_compile _ WRITE_NORMAL_BUFFER
            // endif
            // i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
            // it based on if SSR transparent in frame settings and not (and stripper can strip it).
            // this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
            // so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
            // Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
            #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
            #if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
                #define WRITE_NORMAL_BUFFER
            #endif
            #endif
        
            #ifndef DEBUG_DISPLAY
                // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
                // Don't do it with debug display mode as it is possible there is no depth prepass in this case
                #if !defined(_SURFACE_TYPE_TRANSPARENT)
                    #if SHADERPASS == SHADERPASS_FORWARD
                    #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
                    #elif SHADERPASS == SHADERPASS_GBUFFER
                    #define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
                    #endif
                #endif
            #endif
        
            // Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
            #if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
                #define _DEFERRED_CAPABLE_MATERIAL
            #endif
        
            // Translate transparent motion vector define
            #if defined(_TRANSPARENT_WRITES_MOTION_VEC) && defined(_SURFACE_TYPE_TRANSPARENT)
                #define _WRITE_TRANSPARENT_MOTION_VECTOR
            #endif
        
            // -- Graph Properties
            CBUFFER_START(UnityPerMaterial)
        float _AlphaCutoff;
        float4 _BaseColor;
        float4 _BaseColorMap_TexelSize;
        float _BaseUsePlanarUV;
        float4 _BaseTilingOffset;
        float4 _BaseNormalMap_TexelSize;
        float _BaseNormalScale;
        float4 _BaseMaskMap_TexelSize;
        float _BaseMetallic;
        float _BaseAORemapMin;
        float _BaseAORemapMax;
        float _BaseSmoothnessRemapMin;
        float _BaseSmoothnessRemapMax;
        float _USEDYNAMICCOVERTSTATICMASKF;
        float4 _CoverMaskA_TexelSize;
        float _CoverMaskPower;
        float _Cover_Amount;
        float _Cover_Amount_Grow_Speed;
        float3 _CoverDirection;
        float _Cover_Max_Angle;
        float _Cover_Min_Height;
        float _Cover_Min_Height_Blending;
        float4 _CoverBaseColor;
        float4 _CoverBaseColorMap_TexelSize;
        float4 _CoverTilingOffset;
        float _CoverTriplanarThreshold;
        float4 _CoverNormalMap_TexelSize;
        float _CoverNormalScale;
        float _CoverNormalBlendHardness;
        float _CoverHardness;
        float _CoverHeightMapMin;
        float _CoverHeightMapMax;
        float _CoverHeightMapOffset;
        float4 _CoverMaskMap_TexelSize;
        float _CoverMetallic;
        float _CoverAORemapMin;
        float _CoverAORemapMax;
        float _CoverSmoothnessRemapMin;
        float _CoverSmoothnessRemapMax;
        float4 _DetailMap_TexelSize;
        float4 _DetailTilingOffset;
        float _DetailAlbedoScale;
        float _DetailNormalScale;
        float _DetailSmoothnessScale;
        float4 _WetColor;
        float _WetSmoothness;
        float4 _EmissionColor;
        float _UseShadowThreshold;
        float4 _DoubleSidedConstants;
        float _BlendMode;
        float _EnableBlendModePreserveSpecularLighting;
        float _RayTracing;
        float _RefractionModel;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        SAMPLER(SamplerState_Linear_Repeat_Aniso8);
        TEXTURE2D(_BaseColorMap);
        SAMPLER(sampler_BaseColorMap);
        TEXTURE2D(_BaseNormalMap);
        SAMPLER(sampler_BaseNormalMap);
        TEXTURE2D(_BaseMaskMap);
        SAMPLER(sampler_BaseMaskMap);
        TEXTURE2D(_CoverMaskA);
        SAMPLER(sampler_CoverMaskA);
        TEXTURE2D(_CoverBaseColorMap);
        SAMPLER(sampler_CoverBaseColorMap);
        TEXTURE2D(_CoverNormalMap);
        SAMPLER(sampler_CoverNormalMap);
        TEXTURE2D(_CoverMaskMap);
        SAMPLER(sampler_CoverMaskMap);
        TEXTURE2D(_DetailMap);
        SAMPLER(sampler_DetailMap);
        
            // -- Property used by ScenePickingPass
            #ifdef SCENEPICKINGPASS
            float4 _SelectionID;
            #endif
        
            // -- Properties used by SceneSelectionPass
            #ifdef SCENESELECTIONPASS
            int _ObjectId;
            int _PassValue;
            #endif
        
            // Includes
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingMacros.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracing.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracingLightLoop.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingIntersection.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Lighting.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoopDef.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitRaytracing.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingLightLoop.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingCommon.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
        	// GraphIncludes: <None>
        
            // --------------------------------------------------
            // Structs and Packing
        
            struct SurfaceDescriptionInputs
        {
             float3 WorldSpaceNormal;
             float3 TangentSpaceNormal;
             float3 WorldSpaceTangent;
             float3 WorldSpaceBiTangent;
             float3 AbsoluteWorldSpacePosition;
             float4 uv0;
             float4 uv2;
             float4 VertexColor;
        };
        
            //Interpolator Packs: <None>
        
            // --------------------------------------------------
            // Graph
        
        
            // Graph Functions
            
        void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
        {
            RGBA = float4(R, G, B, A);
            RGB = float3(R, G, B);
            RG = float2(R, G);
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
        Out = A * B;
        }
        
        void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
        {
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
        float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
        Unity_Divide_float(1, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
        float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
        float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
        Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
        float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
        float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
        float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
        float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
        Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
        UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        }
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_Absolute_float(float In, out float Out)
        {
            Out = abs(In);
        }
        
        void Unity_SquareRoot_float4(float4 In, out float4 Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Sign_float(float In, out float Out)
        {
            Out = sign(In);
        }
        
        void Unity_Ceiling_float(float In, out float Out)
        {
            Out = ceil(In);
        }
        
        void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
        {
        };
        
        void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
        {
        float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
        float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
        Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
        Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
        float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
        Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
        float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
        OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
        }
        
        void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A / B;
        }
        
        void Unity_Sign_float3(float3 In, out float3 Out)
        {
            Out = sign(In);
        }
        
        void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
        {
        Out = A * B;
        }
        
        void Unity_Absolute_float3(float3 In, out float3 Out)
        {
            Out = abs(In);
        }
        
        void Unity_Power_float3(float3 A, float3 B, out float3 Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
        Out = A * B;
        }
        
        void Unity_Add_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A + B;
        }
        
        struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
        {
        float3 WorldSpaceNormal;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
        float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
        float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
        float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
        float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
        float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, 1);
        float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
        UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
        Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
        float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, 1);
        float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, 1);
        float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
        float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
        Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
        float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
        Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
        XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
        XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_Add_float2(float2 A, float2 B, out float2 Out)
        {
            Out = A + B;
        }
        
        void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
        {
            Out = dot(A, B);
        }
        
        void Unity_OneMinus_float(float In, out float Out)
        {
            Out = 1 - In;
        }
        
        void Unity_SquareRoot_float(float In, out float Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Normalize_float3(float3 In, out float3 Out)
        {
            Out = normalize(In);
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
        {
        float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
        float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
        float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
        float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
        float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
        float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
        Unity_Divide_float(1, _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
        float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
        float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
        Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
        float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
        float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
        float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
        float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
        Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
        UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
        float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangent(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
        float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
        Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
        XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
        }
        
        void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
        {
            Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
        }
        
        void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
        {
            Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A / B;
        }
        
        struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
        UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
        float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
        Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
        float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, 1);
        float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
        _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
        float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
        float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
        Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
        float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
        float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
        float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
        float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
        float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, 1);
        float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
        _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
        float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
        float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
        float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
        Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
        float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
        float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
        float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
        Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
        float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
        Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
        Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
        float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
        XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
        XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
        YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
        XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Power_float(float A, float B, out float Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
        {
            Out = lerp(A, B, T);
        }
        
        void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
        {
            Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
        }
        
        void Unity_Branch_float(float Predicate, float True, float False, out float Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Lerp_float(float A, float B, float T, out float Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
        {
        };
        
        void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
        {
        float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
        SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        }
        
            // Graph Vertex
            // GraphVertex: <None>
        
            // Graph Pixel
            struct SurfaceDescription
        {
            float3 BaseColor;
            float3 Emission;
            float Alpha;
            float AlphaClipThreshold;
            float3 BentNormal;
            float Smoothness;
            float Occlusion;
            float3 NormalTS;
            float Metallic;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
            float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
            float _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean = _BaseUsePlanarUV;
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_41db1f1f529b6f8e9c51558bacdba727;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv0 = IN.uv0;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv2 = IN.uv2;
            float4 _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4);
            float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
            float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
            Unity_Multiply_float4_float4(_PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
            UnityTexture2D _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
            float4 _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4 = _DetailTilingOffset;
            float _Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[0];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[1];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[2];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[3];
            float2 _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float);
            float2 _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float);
            float2 _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2, _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2, _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2);
            float4 _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.tex, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.samplerstate, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2) );
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.r;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.g;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.b;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.a;
            float _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float, 2, _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float);
            float _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float;
            Unity_Add_float(_Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float, -1, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float);
            float _Property_605f29777330a58ba88ac032e905433b_Out_0_Float = _DetailAlbedoScale;
            float _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float;
            Unity_Multiply_float_float(_Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Property_605f29777330a58ba88ac032e905433b_Out_0_Float, _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float);
            float _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float;
            Unity_Saturate_float(_Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float, _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float);
            float _Absolute_8acef423205118879e75274a48969d34_Out_1_Float;
            Unity_Absolute_float(_Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float);
            Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185;
            float3 _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3;
            SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3);
            UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
            float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
            float4 _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4;
            Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4);
            float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4);
            float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
            float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
            Unity_Multiply_float4_float4(_TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
            float _Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
            UnityTexture2D _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
            float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
            float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.tex, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.samplerstate, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
            float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
            float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
            float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
            Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, 0, 1, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
            float3 _Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3 = _CoverDirection;
            float2 _Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2 = float2(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float, _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float);
            float2 _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2, float2(2, 2), _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2);
            float2 _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2;
            Unity_Add_float2(_Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2, float2(-1, -1), _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2);
            float _Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float = _DetailNormalScale;
            float2 _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2, (_Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float.xx), _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2);
            float _Split_c4822b8eaff9b185be7c059792345712_R_1_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[0];
            float _Split_c4822b8eaff9b185be7c059792345712_G_2_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[1];
            float _Split_c4822b8eaff9b185be7c059792345712_B_3_Float = 0;
            float _Split_c4822b8eaff9b185be7c059792345712_A_4_Float = 0;
            float _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float;
            Unity_DotProduct_float2(_Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float);
            float _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float;
            Unity_Saturate_float(_DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float, _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float);
            float _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float;
            Unity_OneMinus_float(_Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float, _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float);
            float _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float;
            Unity_SquareRoot_float(_OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            float3 _Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3 = float3(_Split_c4822b8eaff9b185be7c059792345712_R_1_Float, _Split_c4822b8eaff9b185be7c059792345712_G_2_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
            Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_e976eded9c94228090999d383a1bd95b;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceNormal = IN.WorldSpaceNormal;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceTangent = IN.WorldSpaceTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv0 = IN.uv0;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv2 = IN.uv2;
            float4 _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4;
            SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_e976eded9c94228090999d383a1bd95b, _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4);
            float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
            float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
            Unity_NormalStrength_float((_PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
            float3 _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3;
            Unity_NormalBlend_float(_Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3);
            UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
            Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceTangent = IN.WorldSpaceTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4;
            SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4);
            float _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float = _CoverNormalBlendHardness;
            float3 _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3);
            float3 _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3);
            float _Split_64630334a9c0058a848439df6d5afe71_R_1_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[0];
            float _Split_64630334a9c0058a848439df6d5afe71_G_2_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[1];
            float _Split_64630334a9c0058a848439df6d5afe71_B_3_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[2];
            float _Split_64630334a9c0058a848439df6d5afe71_A_4_Float = 0;
            float _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float;
            Unity_Add_float(_Split_64630334a9c0058a848439df6d5afe71_R_1_Float, _Split_64630334a9c0058a848439df6d5afe71_G_2_Float, _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float);
            float _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float;
            Unity_Add_float(_Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float, _Split_64630334a9c0058a848439df6d5afe71_B_3_Float, _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float);
            float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
            float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
            float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
            Unity_Subtract_float(4, _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
            float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
            Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
            float _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float;
            Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float);
            float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
            Unity_Power_float(_Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
            float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
            Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, 0, 2, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
            float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
            Unity_Multiply_float_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
            float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
            Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
            float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
            Unity_Clamp_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, 0, 0.9999, _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
            float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
            float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
            Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, 45, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
            float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
            Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
            float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
            Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
            float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
            Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, 0, 2, _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
            float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
            Unity_Divide_float(1, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
            float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
            float _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float;
            Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float);
            float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
            float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
            Unity_Power_float(_Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
            float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
            float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
            Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
            float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
            float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
            float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
            float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
            float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
            Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
            float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, 1, _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
            float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
            Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, 0, 1, _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
            float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
            float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
            float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
            Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
            float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
            Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
            float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
            Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, -0.5, _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
            float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
            Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, 0, 1, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
            float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
            Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
            float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
            Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, 0, 1, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
            float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
            Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
            float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
            Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
            float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
            float3 _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3;
            {
                float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
                _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
            }
            float3 _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3, _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3);
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[0];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[1];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[2];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_A_4_Float = 0;
            float _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float;
            Unity_Add_float(_Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float, _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float);
            float _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float;
            Unity_Add_float(_Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float, _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float);
            float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
            Unity_Multiply_float_float(_Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
            float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
            float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
            float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
            UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f8c96485552c638b8d38f34567da0e97;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f8c96485552c638b8d38f34567da0e97, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4);
            float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[0];
            float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[1];
            float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[2];
            float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[3];
            float _Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float = _CoverHeightMapMin;
            float _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float = _CoverHeightMapMax;
            float2 _Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2 = float2(_Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float, _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float);
            float _Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float = _CoverHeightMapOffset;
            float2 _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2;
            Unity_Add_float2(_Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2, (_Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float.xx), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2);
            float _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float);
            float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
            float _Split_8259ed9a9318f9848f486475aa132211_R_1_Float = IN.VertexColor[0];
            float _Split_8259ed9a9318f9848f486475aa132211_G_2_Float = IN.VertexColor[1];
            float _Split_8259ed9a9318f9848f486475aa132211_B_3_Float = IN.VertexColor[2];
            float _Split_8259ed9a9318f9848f486475aa132211_A_4_Float = IN.VertexColor[3];
            float _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_8259ed9a9318f9848f486475aa132211_G_2_Float, _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float);
            float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
            Unity_Saturate_float(_Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
            float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
            float _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float;
            Unity_Branch_float(_Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float);
            float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
            Unity_Lerp_float3(_BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
            float4 _Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4 = _WetColor;
            float3 _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3;
            Unity_Multiply_float3_float3((_Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3);
            float _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float;
            Unity_OneMinus_float(_Split_8259ed9a9318f9848f486475aa132211_R_1_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float);
            float3 _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3, (_OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float.xxx), _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3);
            float _Split_d9627fc463ca248fa5ce803295175e7f_R_1_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[0];
            float _Split_d9627fc463ca248fa5ce803295175e7f_G_2_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[1];
            float _Split_d9627fc463ca248fa5ce803295175e7f_B_3_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[2];
            float _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[3];
            float _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float = _AlphaCutoff;
            UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_9d0bc4ed86df988595f613acb6a8509f;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv0 = IN.uv0;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv2 = IN.uv2;
            float4 _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4);
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[0];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[1];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_B_3_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[2];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[3];
            float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
            float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
            Unity_Multiply_float_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
            float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
            float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
            float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
            float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
            float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
            float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
            float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
            float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
            float _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float, 2, _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float);
            float _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float;
            Unity_Add_float(_Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float, -1, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float);
            float _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float = _DetailSmoothnessScale;
            float _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float;
            Unity_Multiply_float_float(_Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float, _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float);
            float _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float;
            Unity_Saturate_float(_Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float, _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float);
            float _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float;
            Unity_Absolute_float(_Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float);
            Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43;
            float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float;
            SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float);
            float _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float;
            Unity_Saturate_float(_BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
            float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
            Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
            float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
            float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
            float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
            float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
            float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
            float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
            float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
            float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
            Unity_Lerp_float3(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
            float _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float = _WetSmoothness;
            float _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float, _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float);
            float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
            float3 _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3);
            float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
            surface.BaseColor = _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            surface.Emission = float3(0, 0, 0);
            surface.Alpha = _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float;
            surface.AlphaClipThreshold = _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float;
            surface.BentNormal = IN.TangentSpaceNormal;
            surface.Smoothness = _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
            surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float;
            return surface;
        }
        
            // --------------------------------------------------
            // Build Graph Inputs
            #ifdef HAVE_VFX_MODIFICATION
            #define VFX_SRP_ATTRIBUTES AttributesMesh
            #define VaryingsMeshType VaryingsMeshToPS
            #define VFX_SRP_VARYINGS VaryingsMeshType
            #define VFX_SRP_SURFACE_INPUTS FragInputs
            #endif
            SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
            output.WorldSpaceNormal =                           normalize(input.tangentToWorld[2].xyz);
            #if defined(SHADER_STAGE_RAY_TRACING)
            #else
            #endif
            output.TangentSpaceNormal =                         float3(0.0f, 0.0f, 1.0f);
            output.WorldSpaceTangent =                          input.tangentToWorld[0].xyz;
            output.WorldSpaceBiTangent =                        input.tangentToWorld[1].xyz;
            output.AbsoluteWorldSpacePosition =                 GetAbsolutePositionWS(input.positionRWS);
        
        #if UNITY_UV_STARTS_AT_TOP
        #else
        #endif
        
        
            output.uv0 =                                        input.texCoord0;
            output.uv2 =                                        input.texCoord2;
            output.VertexColor =                                input.color;
        
            // splice point to copy frag inputs custom interpolator pack into the SDI
            /* WARNING: $splice Could not find named fragment 'CustomInterpolatorCopyToSDI' */
        
            return output;
        }
        
            // --------------------------------------------------
            // Build Surface Data (Specific Material)
        
        void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
        
        void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
            inout SurfaceData surfaceData)
        {
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
        #ifdef DECAL_NORMAL_BLENDING
            // SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
            // the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
            float3 normalTS;
        
            normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
            fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
        
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        
            GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
        #else
            // normal delivered to master node
            GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                // Both uses and modifies 'surfaceData.normalWS'.
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        #endif
        }
        void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
        {
            ZERO_INITIALIZE(SurfaceData, surfaceData);
        
            // specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
            // however specularOcclusion can come from the graph, so need to be init here so it can be override.
            surfaceData.specularOcclusion = 1.0;
        
            surfaceData.baseColor =                 surfaceDescription.BaseColor;
            surfaceData.perceptualSmoothness =      surfaceDescription.Smoothness;
            surfaceData.ambientOcclusion =          surfaceDescription.Occlusion;
            surfaceData.metallic =                  surfaceDescription.Metallic;
        
            #if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
                if (_EnableSSRefraction)
                {
        
                    surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
                    surfaceDescription.Alpha = 1.0;
                }
                else
                {
                    surfaceData.ior = 1.0;
                    surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                    surfaceData.atDistance = 1.0;
                    surfaceData.transmittanceMask = 0.0;
                    surfaceDescription.Alpha = 1.0;
                }
            #else
                surfaceData.ior = 1.0;
                surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                surfaceData.atDistance = 1.0;
                surfaceData.transmittanceMask = 0.0;
            #endif
        
            // These static material feature allow compile time optimization
            surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
            #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
            #endif
        
            #ifdef _MATERIAL_FEATURE_TRANSMISSION
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
            #endif
        
            #ifdef _MATERIAL_FEATURE_ANISOTROPY
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
        
                // Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
                surfaceData.normalWS = float3(0, 1, 0);
            #endif
        
            #ifdef _MATERIAL_FEATURE_IRIDESCENCE
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
            #endif
        
            #ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
            #endif
        
            #ifdef _MATERIAL_FEATURE_CLEAR_COAT
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
            #endif
        
            #if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
                // Require to have setup baseColor
                // Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
                surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
            #endif
        
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
            ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
        
            surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
        
            surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz);    // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
        
        
            bentNormalWS = surfaceData.normalWS;
        
            surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
        
            #ifdef DEBUG_DISPLAY
                if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
                {
                    // TODO: need to update mip info
                    surfaceData.metallic = 0;
                }
        
                // We need to call ApplyDebugToSurfaceData after filling the surfarcedata and before filling builtinData
                // as it can modify attribute use for static lighting
                ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
            #endif
        
            // By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
            // If user provide bent normal then we process a better term
            #if defined(_SPECULAR_OCCLUSION_CUSTOM)
                // Just use the value passed through via the slot (not active otherwise)
            #elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
                // If we have bent normal and ambient occlusion, process a specular occlusion
                surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
            #elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
                surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
            #endif
        
            #if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
                surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
            #endif
        }
        
            // --------------------------------------------------
            // Get Surface And BuiltinData
        
            void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
            {
                // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
                #if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
                #ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
                LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
                #endif
                #endif
        
                #ifndef SHADER_UNLIT
                #ifdef _DOUBLESIDED_ON
                    float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
                #else
                    float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
                #endif
        
                ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
                #endif // SHADER_UNLIT
        
                SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
        
                #if defined(HAVE_VFX_MODIFICATION)
                GraphProperties properties;
                ZERO_INITIALIZE(GraphProperties, properties);
        
                GetElementPixelProperties(fragInputs, properties);
        
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
                #else
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
                #endif
        
                // Perform alpha test very early to save performance (a killed pixel will not sample textures)
                // TODO: split graph evaluation to grab just alpha dependencies first? tricky..
                #ifdef _ALPHATEST_ON
                    float alphaCutoff = surfaceDescription.AlphaClipThreshold;
                    #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
                    // The TransparentDepthPrepass is also used with SSR transparent.
                    // If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
                    // otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
                    #elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
                    // DepthPostpass always use its own alpha threshold
                    alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
                    #elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
                    // If use shadow threshold isn't enable we don't allow any test
                    #endif
        
                    GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
                #endif
        
                #if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
                ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
                #endif
        
                #ifndef SHADER_UNLIT
                float3 bentNormalWS;
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD1
                    float4 lightmapTexCoord1 = fragInputs.texCoord1;
                #else
                    float4 lightmapTexCoord1 = float4(0,0,0,0);
                #endif
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD2
                    float4 lightmapTexCoord2 = fragInputs.texCoord2;
                #else
                    float4 lightmapTexCoord2 = float4(0,0,0,0);
                #endif
        
                // Builtin Data
                // For back lighting we use the oposite vertex normal
                InitBuiltinData(posInput, surfaceDescription.Alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
        
                #else
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
        
                ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
                builtinData.opacity = surfaceDescription.Alpha;
        
                #if defined(DEBUG_DISPLAY)
                    // Light Layers are currently not used for the Unlit shader (because it is not lit)
                    // But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
                    // display in the light layers visualization mode, therefore we need the renderingLayers
                    builtinData.renderingLayers = GetMeshRenderingLightLayer();
                #endif
        
                #endif // SHADER_UNLIT
        
                #ifdef _ALPHATEST_ON
                    // Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
                    builtinData.alphaClipTreshold = alphaCutoff;
                #endif
        
                // override sampleBakedGI - not used by Unlit
        
                builtinData.emissiveColor = surfaceDescription.Emission;
        
                // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
                // We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
                // This is a limitation of the current MRT approach.
                #ifdef UNITY_VIRTUAL_TEXTURING
                #endif
        
                #if _DEPTHOFFSET_ON
                builtinData.depthOffset = surfaceDescription.DepthOffset;
                #endif
        
                // TODO: We should generate distortion / distortionBlur for non distortion pass
                #if (SHADERPASS == SHADERPASS_DISTORTION)
                builtinData.distortion = surfaceDescription.Distortion;
                builtinData.distortionBlur = surfaceDescription.DistortionBlur;
                #endif
        
                #ifndef SHADER_UNLIT
                // PostInitBuiltinData call ApplyDebugToBuiltinData
                PostInitBuiltinData(V, posInput, surfaceData, builtinData);
                #else
                ApplyDebugToBuiltinData(builtinData);
                #endif
        
                RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
            }
        
            // --------------------------------------------------
            // Main
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassRaytracingIndirect.hlsl"
        
            // --------------------------------------------------
            // Visual Effect Vertex Invocations
        
        	#ifdef HAVE_VFX_MODIFICATION
        	#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
        	#endif
        
            ENDHLSL
        }
        Pass
        {
            Name "VisibilityDXR"
            Tags
            {
                "LightMode" = "VisibilityDXR"
            }
        
            // Render State
            // RenderState: <None>
        
            // Debug
            // <None>
        
            // --------------------------------------------------
            // Pass
        
            HLSLPROGRAM
        
            // Pragmas
            #pragma target 5.0
        #pragma raytracing surface_shader
        #pragma only_renderers d3d11 xboxseries ps5
        
            // Keywords
            #pragma multi_compile _ TRANSPARENT_COLOR_SHADOW
        #pragma shader_feature_local _ _ALPHATEST_ON
        #pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local _ _DOUBLESIDED_ON
        #pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
        #pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC
        #pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
        #pragma shader_feature_local_fragment _ _DISABLE_DECALS
        #pragma shader_feature_local_raytracing _ _DISABLE_DECALS
        #pragma shader_feature_local_fragment _ _DISABLE_SSR
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR
        #pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
            // GraphKeywords: <None>
        
            // For custom interpolators to inject a substruct definition before FragInputs definition,
            // allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
            /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreInclude' */
        
        
            // TODO: Merge FragInputsVFX substruct with CustomInterpolators.
        	#ifdef HAVE_VFX_MODIFICATION
        	struct FragInputsVFX
            {
                /* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
            };
            #endif
        
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
            // Always include Shader Graph version
            // Always include last to avoid double macros
            #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
        
            // --------------------------------------------------
            // Defines
        
            // Attribute
            #define ATTRIBUTES_NEED_NORMAL
            #define ATTRIBUTES_NEED_TANGENT
            #define ATTRIBUTES_NEED_TEXCOORD0
            #define ATTRIBUTES_NEED_TEXCOORD2
            #define ATTRIBUTES_NEED_COLOR
            #define VARYINGS_NEED_POSITION_WS
            #define VARYINGS_NEED_TANGENT_TO_WORLD
            #define VARYINGS_NEED_TEXCOORD0
            #define VARYINGS_NEED_TEXCOORD2
            #define VARYINGS_NEED_COLOR
        
        
            //Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
            //if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
            //Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
            #if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
            #define FRAG_INPUTS_ENABLE_STRIPPING
            #endif
            #define FRAG_INPUTS_USE_TEXCOORD0
            #define FRAG_INPUTS_USE_TEXCOORD2
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
        
        
        
            #define SHADERPASS SHADERPASS_RAYTRACING_VISIBILITY
        #define RAYTRACING_SHADER_GRAPH_RAYTRACED
        
        
            // Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
            // The ShaderGraph don't support correctly migration of this node as it serialize all the node data
            // in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
            // to still allow us to rename the field and keyword of this node without breaking existing code.
            #ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
            #define RAYTRACING_SHADER_GRAPH_HIGH
            #endif
        
            #ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
            #define RAYTRACING_SHADER_GRAPH_LOW
            #endif
            // end
        
            #ifndef SHADER_UNLIT
            // We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
            // VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
            #if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
                #define VARYINGS_NEED_CULLFACE
            #endif
            #endif
        
            // Specific Material Define
        #define _AMBIENT_OCCLUSION 1
        #define _SPECULAR_OCCLUSION_FROM_AO 1
        #define _ENERGY_CONSERVING_SPECULAR 1
        
        // If we use subsurface scattering, enable output split lighting (for forward pass)
        #if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
            #define OUTPUT_SPLIT_LIGHTING
        #endif
        
        // This shader support recursive rendering for raytracing
        #define HAVE_RECURSIVE_RENDERING
        
        // In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
        #if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
            #undef  _REFRACTION_PLANE
            #undef  _REFRACTION_SPHERE
            #define _REFRACTION_THIN
        #endif
            // Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
        
            // To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
            // we should have a code like this:
            // if !defined(_DISABLE_SSR_TRANSPARENT)
            // pragma multi_compile _ WRITE_NORMAL_BUFFER
            // endif
            // i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
            // it based on if SSR transparent in frame settings and not (and stripper can strip it).
            // this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
            // so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
            // Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
            #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
            #if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
                #define WRITE_NORMAL_BUFFER
            #endif
            #endif
        
            #ifndef DEBUG_DISPLAY
                // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
                // Don't do it with debug display mode as it is possible there is no depth prepass in this case
                #if !defined(_SURFACE_TYPE_TRANSPARENT)
                    #if SHADERPASS == SHADERPASS_FORWARD
                    #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
                    #elif SHADERPASS == SHADERPASS_GBUFFER
                    #define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
                    #endif
                #endif
            #endif
        
            // Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
            #if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
                #define _DEFERRED_CAPABLE_MATERIAL
            #endif
        
            // Translate transparent motion vector define
            #if defined(_TRANSPARENT_WRITES_MOTION_VEC) && defined(_SURFACE_TYPE_TRANSPARENT)
                #define _WRITE_TRANSPARENT_MOTION_VECTOR
            #endif
        
            // -- Graph Properties
            CBUFFER_START(UnityPerMaterial)
        float _AlphaCutoff;
        float4 _BaseColor;
        float4 _BaseColorMap_TexelSize;
        float _BaseUsePlanarUV;
        float4 _BaseTilingOffset;
        float4 _BaseNormalMap_TexelSize;
        float _BaseNormalScale;
        float4 _BaseMaskMap_TexelSize;
        float _BaseMetallic;
        float _BaseAORemapMin;
        float _BaseAORemapMax;
        float _BaseSmoothnessRemapMin;
        float _BaseSmoothnessRemapMax;
        float _USEDYNAMICCOVERTSTATICMASKF;
        float4 _CoverMaskA_TexelSize;
        float _CoverMaskPower;
        float _Cover_Amount;
        float _Cover_Amount_Grow_Speed;
        float3 _CoverDirection;
        float _Cover_Max_Angle;
        float _Cover_Min_Height;
        float _Cover_Min_Height_Blending;
        float4 _CoverBaseColor;
        float4 _CoverBaseColorMap_TexelSize;
        float4 _CoverTilingOffset;
        float _CoverTriplanarThreshold;
        float4 _CoverNormalMap_TexelSize;
        float _CoverNormalScale;
        float _CoverNormalBlendHardness;
        float _CoverHardness;
        float _CoverHeightMapMin;
        float _CoverHeightMapMax;
        float _CoverHeightMapOffset;
        float4 _CoverMaskMap_TexelSize;
        float _CoverMetallic;
        float _CoverAORemapMin;
        float _CoverAORemapMax;
        float _CoverSmoothnessRemapMin;
        float _CoverSmoothnessRemapMax;
        float4 _DetailMap_TexelSize;
        float4 _DetailTilingOffset;
        float _DetailAlbedoScale;
        float _DetailNormalScale;
        float _DetailSmoothnessScale;
        float4 _WetColor;
        float _WetSmoothness;
        float4 _EmissionColor;
        float _UseShadowThreshold;
        float4 _DoubleSidedConstants;
        float _BlendMode;
        float _EnableBlendModePreserveSpecularLighting;
        float _RayTracing;
        float _RefractionModel;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        SAMPLER(SamplerState_Linear_Repeat_Aniso8);
        TEXTURE2D(_BaseColorMap);
        SAMPLER(sampler_BaseColorMap);
        TEXTURE2D(_BaseNormalMap);
        SAMPLER(sampler_BaseNormalMap);
        TEXTURE2D(_BaseMaskMap);
        SAMPLER(sampler_BaseMaskMap);
        TEXTURE2D(_CoverMaskA);
        SAMPLER(sampler_CoverMaskA);
        TEXTURE2D(_CoverBaseColorMap);
        SAMPLER(sampler_CoverBaseColorMap);
        TEXTURE2D(_CoverNormalMap);
        SAMPLER(sampler_CoverNormalMap);
        TEXTURE2D(_CoverMaskMap);
        SAMPLER(sampler_CoverMaskMap);
        TEXTURE2D(_DetailMap);
        SAMPLER(sampler_DetailMap);
        
            // -- Property used by ScenePickingPass
            #ifdef SCENEPICKINGPASS
            float4 _SelectionID;
            #endif
        
            // -- Properties used by SceneSelectionPass
            #ifdef SCENESELECTIONPASS
            int _ObjectId;
            int _PassValue;
            #endif
        
            // Includes
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingMacros.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracing.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracingLightLoop.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingIntersection.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitRaytracing.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingCommon.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
        	// GraphIncludes: <None>
        
            // --------------------------------------------------
            // Structs and Packing
        
            struct SurfaceDescriptionInputs
        {
             float3 WorldSpaceNormal;
             float3 TangentSpaceNormal;
             float3 WorldSpaceTangent;
             float3 WorldSpaceBiTangent;
             float3 AbsoluteWorldSpacePosition;
             float4 uv0;
             float4 uv2;
             float4 VertexColor;
        };
        
            //Interpolator Packs: <None>
        
            // --------------------------------------------------
            // Graph
        
        
            // Graph Functions
            
        void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
        {
            RGBA = float4(R, G, B, A);
            RGB = float3(R, G, B);
            RG = float2(R, G);
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
        Out = A * B;
        }
        
        void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
        {
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
        float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
        Unity_Divide_float(1, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
        float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
        float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
        Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
        float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
        float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
        float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
        float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
        Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
        UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        }
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_Absolute_float(float In, out float Out)
        {
            Out = abs(In);
        }
        
        void Unity_SquareRoot_float4(float4 In, out float4 Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Sign_float(float In, out float Out)
        {
            Out = sign(In);
        }
        
        void Unity_Ceiling_float(float In, out float Out)
        {
            Out = ceil(In);
        }
        
        void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
        {
        };
        
        void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
        {
        float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
        float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
        Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
        Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
        float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
        Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
        float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
        OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
        }
        
        void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A / B;
        }
        
        void Unity_Sign_float3(float3 In, out float3 Out)
        {
            Out = sign(In);
        }
        
        void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
        {
        Out = A * B;
        }
        
        void Unity_Absolute_float3(float3 In, out float3 Out)
        {
            Out = abs(In);
        }
        
        void Unity_Power_float3(float3 A, float3 B, out float3 Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
        Out = A * B;
        }
        
        void Unity_Add_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A + B;
        }
        
        struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
        {
        float3 WorldSpaceNormal;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
        float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
        float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
        float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
        float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
        float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, 1);
        float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
        UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
        Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
        float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, 1);
        float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, 1);
        float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
        float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
        Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
        float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
        Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
        XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
        XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_Add_float2(float2 A, float2 B, out float2 Out)
        {
            Out = A + B;
        }
        
        void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
        {
            Out = dot(A, B);
        }
        
        void Unity_OneMinus_float(float In, out float Out)
        {
            Out = 1 - In;
        }
        
        void Unity_SquareRoot_float(float In, out float Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Normalize_float3(float3 In, out float3 Out)
        {
            Out = normalize(In);
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
        {
        float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
        float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
        float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
        float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
        float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
        float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
        Unity_Divide_float(1, _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
        float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
        float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
        Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
        float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
        float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
        float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
        float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
        Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
        UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
        float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangent(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
        float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
        Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
        XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
        }
        
        void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
        {
            Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
        }
        
        void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
        {
            Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A / B;
        }
        
        struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
        UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
        float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
        Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
        float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, 1);
        float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
        _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
        float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
        float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
        Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
        float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
        float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
        float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
        float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
        float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, 1);
        float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
        _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
        float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
        float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
        float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
        Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
        float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
        float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
        float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
        Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
        float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
        Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
        Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
        float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
        XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
        XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
        YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
        XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Power_float(float A, float B, out float Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
        {
            Out = lerp(A, B, T);
        }
        
        void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
        {
            Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
        }
        
        void Unity_Branch_float(float Predicate, float True, float False, out float Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Lerp_float(float A, float B, float T, out float Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
        {
        };
        
        void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
        {
        float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
        SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        }
        
            // Graph Vertex
            // GraphVertex: <None>
        
            // Graph Pixel
            struct SurfaceDescription
        {
            float3 BaseColor;
            float3 Emission;
            float Alpha;
            float AlphaClipThreshold;
            float3 BentNormal;
            float Smoothness;
            float Occlusion;
            float3 NormalTS;
            float Metallic;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
            float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
            float _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean = _BaseUsePlanarUV;
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_41db1f1f529b6f8e9c51558bacdba727;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv0 = IN.uv0;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv2 = IN.uv2;
            float4 _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4);
            float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
            float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
            Unity_Multiply_float4_float4(_PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
            UnityTexture2D _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
            float4 _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4 = _DetailTilingOffset;
            float _Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[0];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[1];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[2];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[3];
            float2 _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float);
            float2 _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float);
            float2 _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2, _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2, _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2);
            float4 _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.tex, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.samplerstate, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2) );
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.r;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.g;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.b;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.a;
            float _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float, 2, _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float);
            float _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float;
            Unity_Add_float(_Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float, -1, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float);
            float _Property_605f29777330a58ba88ac032e905433b_Out_0_Float = _DetailAlbedoScale;
            float _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float;
            Unity_Multiply_float_float(_Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Property_605f29777330a58ba88ac032e905433b_Out_0_Float, _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float);
            float _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float;
            Unity_Saturate_float(_Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float, _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float);
            float _Absolute_8acef423205118879e75274a48969d34_Out_1_Float;
            Unity_Absolute_float(_Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float);
            Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185;
            float3 _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3;
            SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3);
            UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
            float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
            float4 _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4;
            Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4);
            float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4);
            float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
            float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
            Unity_Multiply_float4_float4(_TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
            float _Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
            UnityTexture2D _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
            float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
            float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.tex, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.samplerstate, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
            float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
            float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
            float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
            Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, 0, 1, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
            float3 _Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3 = _CoverDirection;
            float2 _Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2 = float2(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float, _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float);
            float2 _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2, float2(2, 2), _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2);
            float2 _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2;
            Unity_Add_float2(_Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2, float2(-1, -1), _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2);
            float _Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float = _DetailNormalScale;
            float2 _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2, (_Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float.xx), _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2);
            float _Split_c4822b8eaff9b185be7c059792345712_R_1_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[0];
            float _Split_c4822b8eaff9b185be7c059792345712_G_2_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[1];
            float _Split_c4822b8eaff9b185be7c059792345712_B_3_Float = 0;
            float _Split_c4822b8eaff9b185be7c059792345712_A_4_Float = 0;
            float _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float;
            Unity_DotProduct_float2(_Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float);
            float _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float;
            Unity_Saturate_float(_DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float, _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float);
            float _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float;
            Unity_OneMinus_float(_Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float, _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float);
            float _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float;
            Unity_SquareRoot_float(_OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            float3 _Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3 = float3(_Split_c4822b8eaff9b185be7c059792345712_R_1_Float, _Split_c4822b8eaff9b185be7c059792345712_G_2_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
            Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_e976eded9c94228090999d383a1bd95b;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceNormal = IN.WorldSpaceNormal;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceTangent = IN.WorldSpaceTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv0 = IN.uv0;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv2 = IN.uv2;
            float4 _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4;
            SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_e976eded9c94228090999d383a1bd95b, _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4);
            float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
            float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
            Unity_NormalStrength_float((_PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
            float3 _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3;
            Unity_NormalBlend_float(_Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3);
            UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
            Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceTangent = IN.WorldSpaceTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4;
            SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4);
            float _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float = _CoverNormalBlendHardness;
            float3 _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3);
            float3 _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3);
            float _Split_64630334a9c0058a848439df6d5afe71_R_1_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[0];
            float _Split_64630334a9c0058a848439df6d5afe71_G_2_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[1];
            float _Split_64630334a9c0058a848439df6d5afe71_B_3_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[2];
            float _Split_64630334a9c0058a848439df6d5afe71_A_4_Float = 0;
            float _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float;
            Unity_Add_float(_Split_64630334a9c0058a848439df6d5afe71_R_1_Float, _Split_64630334a9c0058a848439df6d5afe71_G_2_Float, _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float);
            float _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float;
            Unity_Add_float(_Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float, _Split_64630334a9c0058a848439df6d5afe71_B_3_Float, _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float);
            float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
            float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
            float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
            Unity_Subtract_float(4, _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
            float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
            Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
            float _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float;
            Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float);
            float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
            Unity_Power_float(_Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
            float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
            Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, 0, 2, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
            float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
            Unity_Multiply_float_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
            float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
            Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
            float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
            Unity_Clamp_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, 0, 0.9999, _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
            float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
            float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
            Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, 45, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
            float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
            Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
            float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
            Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
            float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
            Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, 0, 2, _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
            float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
            Unity_Divide_float(1, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
            float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
            float _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float;
            Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float);
            float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
            float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
            Unity_Power_float(_Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
            float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
            float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
            Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
            float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
            float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
            float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
            float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
            float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
            Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
            float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, 1, _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
            float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
            Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, 0, 1, _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
            float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
            float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
            float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
            Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
            float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
            Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
            float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
            Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, -0.5, _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
            float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
            Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, 0, 1, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
            float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
            Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
            float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
            Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, 0, 1, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
            float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
            Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
            float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
            Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
            float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
            float3 _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3;
            {
                float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
                _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
            }
            float3 _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3, _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3);
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[0];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[1];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[2];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_A_4_Float = 0;
            float _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float;
            Unity_Add_float(_Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float, _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float);
            float _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float;
            Unity_Add_float(_Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float, _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float);
            float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
            Unity_Multiply_float_float(_Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
            float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
            float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
            float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
            UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f8c96485552c638b8d38f34567da0e97;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f8c96485552c638b8d38f34567da0e97, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4);
            float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[0];
            float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[1];
            float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[2];
            float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[3];
            float _Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float = _CoverHeightMapMin;
            float _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float = _CoverHeightMapMax;
            float2 _Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2 = float2(_Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float, _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float);
            float _Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float = _CoverHeightMapOffset;
            float2 _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2;
            Unity_Add_float2(_Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2, (_Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float.xx), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2);
            float _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float);
            float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
            float _Split_8259ed9a9318f9848f486475aa132211_R_1_Float = IN.VertexColor[0];
            float _Split_8259ed9a9318f9848f486475aa132211_G_2_Float = IN.VertexColor[1];
            float _Split_8259ed9a9318f9848f486475aa132211_B_3_Float = IN.VertexColor[2];
            float _Split_8259ed9a9318f9848f486475aa132211_A_4_Float = IN.VertexColor[3];
            float _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_8259ed9a9318f9848f486475aa132211_G_2_Float, _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float);
            float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
            Unity_Saturate_float(_Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
            float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
            float _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float;
            Unity_Branch_float(_Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float);
            float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
            Unity_Lerp_float3(_BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
            float4 _Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4 = _WetColor;
            float3 _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3;
            Unity_Multiply_float3_float3((_Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3);
            float _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float;
            Unity_OneMinus_float(_Split_8259ed9a9318f9848f486475aa132211_R_1_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float);
            float3 _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3, (_OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float.xxx), _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3);
            float _Split_d9627fc463ca248fa5ce803295175e7f_R_1_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[0];
            float _Split_d9627fc463ca248fa5ce803295175e7f_G_2_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[1];
            float _Split_d9627fc463ca248fa5ce803295175e7f_B_3_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[2];
            float _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[3];
            float _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float = _AlphaCutoff;
            UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_9d0bc4ed86df988595f613acb6a8509f;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv0 = IN.uv0;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv2 = IN.uv2;
            float4 _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4);
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[0];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[1];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_B_3_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[2];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[3];
            float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
            float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
            Unity_Multiply_float_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
            float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
            float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
            float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
            float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
            float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
            float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
            float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
            float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
            float _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float, 2, _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float);
            float _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float;
            Unity_Add_float(_Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float, -1, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float);
            float _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float = _DetailSmoothnessScale;
            float _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float;
            Unity_Multiply_float_float(_Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float, _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float);
            float _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float;
            Unity_Saturate_float(_Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float, _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float);
            float _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float;
            Unity_Absolute_float(_Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float);
            Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43;
            float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float;
            SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float);
            float _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float;
            Unity_Saturate_float(_BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
            float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
            Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
            float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
            float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
            float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
            float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
            float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
            float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
            float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
            float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
            Unity_Lerp_float3(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
            float _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float = _WetSmoothness;
            float _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float, _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float);
            float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
            float3 _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3);
            float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
            surface.BaseColor = _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            surface.Emission = float3(0, 0, 0);
            surface.Alpha = _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float;
            surface.AlphaClipThreshold = _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float;
            surface.BentNormal = IN.TangentSpaceNormal;
            surface.Smoothness = _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
            surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float;
            return surface;
        }
        
            // --------------------------------------------------
            // Build Graph Inputs
            #ifdef HAVE_VFX_MODIFICATION
            #define VFX_SRP_ATTRIBUTES AttributesMesh
            #define VaryingsMeshType VaryingsMeshToPS
            #define VFX_SRP_VARYINGS VaryingsMeshType
            #define VFX_SRP_SURFACE_INPUTS FragInputs
            #endif
            SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
            output.WorldSpaceNormal =                           normalize(input.tangentToWorld[2].xyz);
            #if defined(SHADER_STAGE_RAY_TRACING)
            #else
            #endif
            output.TangentSpaceNormal =                         float3(0.0f, 0.0f, 1.0f);
            output.WorldSpaceTangent =                          input.tangentToWorld[0].xyz;
            output.WorldSpaceBiTangent =                        input.tangentToWorld[1].xyz;
            output.AbsoluteWorldSpacePosition =                 GetAbsolutePositionWS(input.positionRWS);
        
        #if UNITY_UV_STARTS_AT_TOP
        #else
        #endif
        
        
            output.uv0 =                                        input.texCoord0;
            output.uv2 =                                        input.texCoord2;
            output.VertexColor =                                input.color;
        
            // splice point to copy frag inputs custom interpolator pack into the SDI
            /* WARNING: $splice Could not find named fragment 'CustomInterpolatorCopyToSDI' */
        
            return output;
        }
        
            // --------------------------------------------------
            // Build Surface Data (Specific Material)
        
        void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
        
        void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
            inout SurfaceData surfaceData)
        {
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
        #ifdef DECAL_NORMAL_BLENDING
            // SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
            // the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
            float3 normalTS;
        
            normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
            fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
        
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        
            GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
        #else
            // normal delivered to master node
            GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                // Both uses and modifies 'surfaceData.normalWS'.
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        #endif
        }
        void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
        {
            ZERO_INITIALIZE(SurfaceData, surfaceData);
        
            // specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
            // however specularOcclusion can come from the graph, so need to be init here so it can be override.
            surfaceData.specularOcclusion = 1.0;
        
            surfaceData.baseColor =                 surfaceDescription.BaseColor;
            surfaceData.perceptualSmoothness =      surfaceDescription.Smoothness;
            surfaceData.ambientOcclusion =          surfaceDescription.Occlusion;
            surfaceData.metallic =                  surfaceDescription.Metallic;
        
            #if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
                if (_EnableSSRefraction)
                {
        
                    surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
                    surfaceDescription.Alpha = 1.0;
                }
                else
                {
                    surfaceData.ior = 1.0;
                    surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                    surfaceData.atDistance = 1.0;
                    surfaceData.transmittanceMask = 0.0;
                    surfaceDescription.Alpha = 1.0;
                }
            #else
                surfaceData.ior = 1.0;
                surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                surfaceData.atDistance = 1.0;
                surfaceData.transmittanceMask = 0.0;
            #endif
        
            // These static material feature allow compile time optimization
            surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
            #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
            #endif
        
            #ifdef _MATERIAL_FEATURE_TRANSMISSION
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
            #endif
        
            #ifdef _MATERIAL_FEATURE_ANISOTROPY
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
        
                // Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
                surfaceData.normalWS = float3(0, 1, 0);
            #endif
        
            #ifdef _MATERIAL_FEATURE_IRIDESCENCE
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
            #endif
        
            #ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
            #endif
        
            #ifdef _MATERIAL_FEATURE_CLEAR_COAT
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
            #endif
        
            #if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
                // Require to have setup baseColor
                // Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
                surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
            #endif
        
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
            ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
        
            surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
        
            surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz);    // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
        
        
            bentNormalWS = surfaceData.normalWS;
        
            surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
        
            #ifdef DEBUG_DISPLAY
                if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
                {
                    // TODO: need to update mip info
                    surfaceData.metallic = 0;
                }
        
                // We need to call ApplyDebugToSurfaceData after filling the surfarcedata and before filling builtinData
                // as it can modify attribute use for static lighting
                ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
            #endif
        
            // By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
            // If user provide bent normal then we process a better term
            #if defined(_SPECULAR_OCCLUSION_CUSTOM)
                // Just use the value passed through via the slot (not active otherwise)
            #elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
                // If we have bent normal and ambient occlusion, process a specular occlusion
                surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
            #elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
                surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
            #endif
        
            #if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
                surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
            #endif
        }
        
            // --------------------------------------------------
            // Get Surface And BuiltinData
        
            void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
            {
                // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
                #if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
                #ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
                LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
                #endif
                #endif
        
                #ifndef SHADER_UNLIT
                #ifdef _DOUBLESIDED_ON
                    float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
                #else
                    float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
                #endif
        
                ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
                #endif // SHADER_UNLIT
        
                SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
        
                #if defined(HAVE_VFX_MODIFICATION)
                GraphProperties properties;
                ZERO_INITIALIZE(GraphProperties, properties);
        
                GetElementPixelProperties(fragInputs, properties);
        
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
                #else
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
                #endif
        
                // Perform alpha test very early to save performance (a killed pixel will not sample textures)
                // TODO: split graph evaluation to grab just alpha dependencies first? tricky..
                #ifdef _ALPHATEST_ON
                    float alphaCutoff = surfaceDescription.AlphaClipThreshold;
                    #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
                    // The TransparentDepthPrepass is also used with SSR transparent.
                    // If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
                    // otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
                    #elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
                    // DepthPostpass always use its own alpha threshold
                    alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
                    #elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
                    // If use shadow threshold isn't enable we don't allow any test
                    #endif
        
                    GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
                #endif
        
                #if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
                ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
                #endif
        
                #ifndef SHADER_UNLIT
                float3 bentNormalWS;
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD1
                    float4 lightmapTexCoord1 = fragInputs.texCoord1;
                #else
                    float4 lightmapTexCoord1 = float4(0,0,0,0);
                #endif
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD2
                    float4 lightmapTexCoord2 = fragInputs.texCoord2;
                #else
                    float4 lightmapTexCoord2 = float4(0,0,0,0);
                #endif
        
                // Builtin Data
                // For back lighting we use the oposite vertex normal
                InitBuiltinData(posInput, surfaceDescription.Alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
        
                #else
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
        
                ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
                builtinData.opacity = surfaceDescription.Alpha;
        
                #if defined(DEBUG_DISPLAY)
                    // Light Layers are currently not used for the Unlit shader (because it is not lit)
                    // But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
                    // display in the light layers visualization mode, therefore we need the renderingLayers
                    builtinData.renderingLayers = GetMeshRenderingLightLayer();
                #endif
        
                #endif // SHADER_UNLIT
        
                #ifdef _ALPHATEST_ON
                    // Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
                    builtinData.alphaClipTreshold = alphaCutoff;
                #endif
        
                // override sampleBakedGI - not used by Unlit
        
                builtinData.emissiveColor = surfaceDescription.Emission;
        
                // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
                // We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
                // This is a limitation of the current MRT approach.
                #ifdef UNITY_VIRTUAL_TEXTURING
                #endif
        
                #if _DEPTHOFFSET_ON
                builtinData.depthOffset = surfaceDescription.DepthOffset;
                #endif
        
                // TODO: We should generate distortion / distortionBlur for non distortion pass
                #if (SHADERPASS == SHADERPASS_DISTORTION)
                builtinData.distortion = surfaceDescription.Distortion;
                builtinData.distortionBlur = surfaceDescription.DistortionBlur;
                #endif
        
                #ifndef SHADER_UNLIT
                // PostInitBuiltinData call ApplyDebugToBuiltinData
                PostInitBuiltinData(V, posInput, surfaceData, builtinData);
                #else
                ApplyDebugToBuiltinData(builtinData);
                #endif
        
                RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
            }
        
            // --------------------------------------------------
            // Main
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassRaytracingVisibility.hlsl"
        
            // --------------------------------------------------
            // Visual Effect Vertex Invocations
        
        	#ifdef HAVE_VFX_MODIFICATION
        	#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
        	#endif
        
            ENDHLSL
        }
        Pass
        {
            Name "ForwardDXR"
            Tags
            {
                "LightMode" = "ForwardDXR"
            }
        
            // Render State
            // RenderState: <None>
        
            // Debug
            // <None>
        
            // --------------------------------------------------
            // Pass
        
            HLSLPROGRAM
        
            // Pragmas
            #pragma target 5.0
        #pragma raytracing surface_shader
        #pragma only_renderers d3d11 xboxseries ps5
        
            // Keywords
            #pragma shader_feature_local _ _ALPHATEST_ON
        #pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local _ _DOUBLESIDED_ON
        #pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
        #pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC
        #pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
        #pragma multi_compile _ DEBUG_DISPLAY
        #pragma shader_feature_local_fragment _ _DISABLE_DECALS
        #pragma shader_feature_local_raytracing _ _DISABLE_DECALS
        #pragma shader_feature_local_fragment _ _DISABLE_SSR
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR
        #pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
        #pragma multi_compile _ LIGHTMAP_ON
        #pragma multi_compile _ DIRLIGHTMAP_COMBINED
        #pragma multi_compile_fragment PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
        #pragma multi_compile_raytracing PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
        #pragma multi_compile _ DYNAMICLIGHTMAP_ON
        #pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
            // GraphKeywords: <None>
        
            // For custom interpolators to inject a substruct definition before FragInputs definition,
            // allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
            /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreInclude' */
        
        
            // TODO: Merge FragInputsVFX substruct with CustomInterpolators.
        	#ifdef HAVE_VFX_MODIFICATION
        	struct FragInputsVFX
            {
                /* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
            };
            #endif
        
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
            // Always include Shader Graph version
            // Always include last to avoid double macros
            #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
        
            // --------------------------------------------------
            // Defines
        
            // Attribute
            #define ATTRIBUTES_NEED_NORMAL
            #define ATTRIBUTES_NEED_TANGENT
            #define ATTRIBUTES_NEED_TEXCOORD0
            #define ATTRIBUTES_NEED_TEXCOORD1
            #define ATTRIBUTES_NEED_TEXCOORD2
            #define ATTRIBUTES_NEED_COLOR
            #define VARYINGS_NEED_POSITION_WS
            #define VARYINGS_NEED_TANGENT_TO_WORLD
            #define VARYINGS_NEED_TEXCOORD0
            #define VARYINGS_NEED_TEXCOORD1
            #define VARYINGS_NEED_TEXCOORD2
            #define VARYINGS_NEED_COLOR
        
        
            //Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
            //if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
            //Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
            #if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
            #define FRAG_INPUTS_ENABLE_STRIPPING
            #endif
            #define FRAG_INPUTS_USE_TEXCOORD0
            #define FRAG_INPUTS_USE_TEXCOORD1
            #define FRAG_INPUTS_USE_TEXCOORD2
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
        
        
        
            #define SHADERPASS SHADERPASS_RAYTRACING_FORWARD
        #define SHADOW_LOW
        #define RAYTRACING_SHADER_GRAPH_RAYTRACED
        #define HAS_LIGHTLOOP 1
        
        
            // Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
            // The ShaderGraph don't support correctly migration of this node as it serialize all the node data
            // in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
            // to still allow us to rename the field and keyword of this node without breaking existing code.
            #ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
            #define RAYTRACING_SHADER_GRAPH_HIGH
            #endif
        
            #ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
            #define RAYTRACING_SHADER_GRAPH_LOW
            #endif
            // end
        
            #ifndef SHADER_UNLIT
            // We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
            // VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
            #if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
                #define VARYINGS_NEED_CULLFACE
            #endif
            #endif
        
            // Specific Material Define
        #define _AMBIENT_OCCLUSION 1
        #define _SPECULAR_OCCLUSION_FROM_AO 1
        #define _ENERGY_CONSERVING_SPECULAR 1
        
        // If we use subsurface scattering, enable output split lighting (for forward pass)
        #if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
            #define OUTPUT_SPLIT_LIGHTING
        #endif
        
        // This shader support recursive rendering for raytracing
        #define HAVE_RECURSIVE_RENDERING
        
        // In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
        #if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
            #undef  _REFRACTION_PLANE
            #undef  _REFRACTION_SPHERE
            #define _REFRACTION_THIN
        #endif
            // Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
        
            // To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
            // we should have a code like this:
            // if !defined(_DISABLE_SSR_TRANSPARENT)
            // pragma multi_compile _ WRITE_NORMAL_BUFFER
            // endif
            // i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
            // it based on if SSR transparent in frame settings and not (and stripper can strip it).
            // this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
            // so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
            // Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
            #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
            #if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
                #define WRITE_NORMAL_BUFFER
            #endif
            #endif
        
            #ifndef DEBUG_DISPLAY
                // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
                // Don't do it with debug display mode as it is possible there is no depth prepass in this case
                #if !defined(_SURFACE_TYPE_TRANSPARENT)
                    #if SHADERPASS == SHADERPASS_FORWARD
                    #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
                    #elif SHADERPASS == SHADERPASS_GBUFFER
                    #define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
                    #endif
                #endif
            #endif
        
            // Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
            #if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
                #define _DEFERRED_CAPABLE_MATERIAL
            #endif
        
            // Translate transparent motion vector define
            #if defined(_TRANSPARENT_WRITES_MOTION_VEC) && defined(_SURFACE_TYPE_TRANSPARENT)
                #define _WRITE_TRANSPARENT_MOTION_VECTOR
            #endif
        
            // -- Graph Properties
            CBUFFER_START(UnityPerMaterial)
        float _AlphaCutoff;
        float4 _BaseColor;
        float4 _BaseColorMap_TexelSize;
        float _BaseUsePlanarUV;
        float4 _BaseTilingOffset;
        float4 _BaseNormalMap_TexelSize;
        float _BaseNormalScale;
        float4 _BaseMaskMap_TexelSize;
        float _BaseMetallic;
        float _BaseAORemapMin;
        float _BaseAORemapMax;
        float _BaseSmoothnessRemapMin;
        float _BaseSmoothnessRemapMax;
        float _USEDYNAMICCOVERTSTATICMASKF;
        float4 _CoverMaskA_TexelSize;
        float _CoverMaskPower;
        float _Cover_Amount;
        float _Cover_Amount_Grow_Speed;
        float3 _CoverDirection;
        float _Cover_Max_Angle;
        float _Cover_Min_Height;
        float _Cover_Min_Height_Blending;
        float4 _CoverBaseColor;
        float4 _CoverBaseColorMap_TexelSize;
        float4 _CoverTilingOffset;
        float _CoverTriplanarThreshold;
        float4 _CoverNormalMap_TexelSize;
        float _CoverNormalScale;
        float _CoverNormalBlendHardness;
        float _CoverHardness;
        float _CoverHeightMapMin;
        float _CoverHeightMapMax;
        float _CoverHeightMapOffset;
        float4 _CoverMaskMap_TexelSize;
        float _CoverMetallic;
        float _CoverAORemapMin;
        float _CoverAORemapMax;
        float _CoverSmoothnessRemapMin;
        float _CoverSmoothnessRemapMax;
        float4 _DetailMap_TexelSize;
        float4 _DetailTilingOffset;
        float _DetailAlbedoScale;
        float _DetailNormalScale;
        float _DetailSmoothnessScale;
        float4 _WetColor;
        float _WetSmoothness;
        float4 _EmissionColor;
        float _UseShadowThreshold;
        float4 _DoubleSidedConstants;
        float _BlendMode;
        float _EnableBlendModePreserveSpecularLighting;
        float _RayTracing;
        float _RefractionModel;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        SAMPLER(SamplerState_Linear_Repeat_Aniso8);
        TEXTURE2D(_BaseColorMap);
        SAMPLER(sampler_BaseColorMap);
        TEXTURE2D(_BaseNormalMap);
        SAMPLER(sampler_BaseNormalMap);
        TEXTURE2D(_BaseMaskMap);
        SAMPLER(sampler_BaseMaskMap);
        TEXTURE2D(_CoverMaskA);
        SAMPLER(sampler_CoverMaskA);
        TEXTURE2D(_CoverBaseColorMap);
        SAMPLER(sampler_CoverBaseColorMap);
        TEXTURE2D(_CoverNormalMap);
        SAMPLER(sampler_CoverNormalMap);
        TEXTURE2D(_CoverMaskMap);
        SAMPLER(sampler_CoverMaskMap);
        TEXTURE2D(_DetailMap);
        SAMPLER(sampler_DetailMap);
        
            // -- Property used by ScenePickingPass
            #ifdef SCENEPICKINGPASS
            float4 _SelectionID;
            #endif
        
            // -- Properties used by SceneSelectionPass
            #ifdef SCENESELECTIONPASS
            int _ObjectId;
            int _PassValue;
            #endif
        
            // Includes
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingMacros.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracing.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracingLightLoop.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingIntersection.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Lighting.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoopDef.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitRaytracing.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingLightLoop.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingCommon.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
        	// GraphIncludes: <None>
        
            // --------------------------------------------------
            // Structs and Packing
        
            struct SurfaceDescriptionInputs
        {
             float3 WorldSpaceNormal;
             float3 TangentSpaceNormal;
             float3 WorldSpaceTangent;
             float3 WorldSpaceBiTangent;
             float3 AbsoluteWorldSpacePosition;
             float4 uv0;
             float4 uv2;
             float4 VertexColor;
        };
        
            //Interpolator Packs: <None>
        
            // --------------------------------------------------
            // Graph
        
        
            // Graph Functions
            
        void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
        {
            RGBA = float4(R, G, B, A);
            RGB = float3(R, G, B);
            RG = float2(R, G);
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
        Out = A * B;
        }
        
        void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
        {
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
        float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
        Unity_Divide_float(1, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
        float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
        float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
        Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
        float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
        float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
        float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
        float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
        Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
        UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        }
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_Absolute_float(float In, out float Out)
        {
            Out = abs(In);
        }
        
        void Unity_SquareRoot_float4(float4 In, out float4 Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Sign_float(float In, out float Out)
        {
            Out = sign(In);
        }
        
        void Unity_Ceiling_float(float In, out float Out)
        {
            Out = ceil(In);
        }
        
        void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
        {
        };
        
        void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
        {
        float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
        float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
        Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
        Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
        float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
        Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
        float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
        OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
        }
        
        void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A / B;
        }
        
        void Unity_Sign_float3(float3 In, out float3 Out)
        {
            Out = sign(In);
        }
        
        void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
        {
        Out = A * B;
        }
        
        void Unity_Absolute_float3(float3 In, out float3 Out)
        {
            Out = abs(In);
        }
        
        void Unity_Power_float3(float3 A, float3 B, out float3 Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
        Out = A * B;
        }
        
        void Unity_Add_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A + B;
        }
        
        struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
        {
        float3 WorldSpaceNormal;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
        float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
        float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
        float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
        float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
        float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, 1);
        float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
        UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
        Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
        float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, 1);
        float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, 1);
        float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
        float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
        Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
        float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
        Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
        XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
        XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_Add_float2(float2 A, float2 B, out float2 Out)
        {
            Out = A + B;
        }
        
        void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
        {
            Out = dot(A, B);
        }
        
        void Unity_OneMinus_float(float In, out float Out)
        {
            Out = 1 - In;
        }
        
        void Unity_SquareRoot_float(float In, out float Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Normalize_float3(float3 In, out float3 Out)
        {
            Out = normalize(In);
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
        {
        float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
        float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
        float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
        float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
        float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
        float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
        Unity_Divide_float(1, _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
        float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
        float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
        Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
        float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
        float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
        float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
        float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
        Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
        UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
        float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangent(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
        float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
        Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
        XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
        }
        
        void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
        {
            Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
        }
        
        void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
        {
            Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A / B;
        }
        
        struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
        UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
        float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
        Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
        float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, 1);
        float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
        _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
        float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
        float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
        Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
        float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
        float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
        float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
        float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
        float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, 1);
        float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
        _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
        float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
        float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
        float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
        Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
        float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
        float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
        float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
        Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
        float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
        Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
        Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
        float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
        XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
        XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
        YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
        XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Power_float(float A, float B, out float Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
        {
            Out = lerp(A, B, T);
        }
        
        void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
        {
            Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
        }
        
        void Unity_Branch_float(float Predicate, float True, float False, out float Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Lerp_float(float A, float B, float T, out float Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
        {
        };
        
        void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
        {
        float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
        SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        }
        
            // Graph Vertex
            // GraphVertex: <None>
        
            // Graph Pixel
            struct SurfaceDescription
        {
            float3 BaseColor;
            float3 Emission;
            float Alpha;
            float AlphaClipThreshold;
            float3 BentNormal;
            float Smoothness;
            float Occlusion;
            float3 NormalTS;
            float Metallic;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
            float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
            float _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean = _BaseUsePlanarUV;
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_41db1f1f529b6f8e9c51558bacdba727;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv0 = IN.uv0;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv2 = IN.uv2;
            float4 _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4);
            float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
            float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
            Unity_Multiply_float4_float4(_PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
            UnityTexture2D _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
            float4 _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4 = _DetailTilingOffset;
            float _Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[0];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[1];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[2];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[3];
            float2 _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float);
            float2 _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float);
            float2 _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2, _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2, _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2);
            float4 _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.tex, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.samplerstate, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2) );
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.r;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.g;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.b;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.a;
            float _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float, 2, _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float);
            float _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float;
            Unity_Add_float(_Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float, -1, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float);
            float _Property_605f29777330a58ba88ac032e905433b_Out_0_Float = _DetailAlbedoScale;
            float _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float;
            Unity_Multiply_float_float(_Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Property_605f29777330a58ba88ac032e905433b_Out_0_Float, _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float);
            float _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float;
            Unity_Saturate_float(_Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float, _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float);
            float _Absolute_8acef423205118879e75274a48969d34_Out_1_Float;
            Unity_Absolute_float(_Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float);
            Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185;
            float3 _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3;
            SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3);
            UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
            float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
            float4 _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4;
            Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4);
            float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4);
            float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
            float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
            Unity_Multiply_float4_float4(_TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
            float _Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
            UnityTexture2D _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
            float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
            float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.tex, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.samplerstate, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
            float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
            float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
            float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
            Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, 0, 1, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
            float3 _Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3 = _CoverDirection;
            float2 _Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2 = float2(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float, _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float);
            float2 _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2, float2(2, 2), _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2);
            float2 _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2;
            Unity_Add_float2(_Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2, float2(-1, -1), _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2);
            float _Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float = _DetailNormalScale;
            float2 _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2, (_Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float.xx), _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2);
            float _Split_c4822b8eaff9b185be7c059792345712_R_1_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[0];
            float _Split_c4822b8eaff9b185be7c059792345712_G_2_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[1];
            float _Split_c4822b8eaff9b185be7c059792345712_B_3_Float = 0;
            float _Split_c4822b8eaff9b185be7c059792345712_A_4_Float = 0;
            float _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float;
            Unity_DotProduct_float2(_Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float);
            float _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float;
            Unity_Saturate_float(_DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float, _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float);
            float _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float;
            Unity_OneMinus_float(_Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float, _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float);
            float _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float;
            Unity_SquareRoot_float(_OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            float3 _Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3 = float3(_Split_c4822b8eaff9b185be7c059792345712_R_1_Float, _Split_c4822b8eaff9b185be7c059792345712_G_2_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
            Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_e976eded9c94228090999d383a1bd95b;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceNormal = IN.WorldSpaceNormal;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceTangent = IN.WorldSpaceTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv0 = IN.uv0;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv2 = IN.uv2;
            float4 _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4;
            SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_e976eded9c94228090999d383a1bd95b, _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4);
            float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
            float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
            Unity_NormalStrength_float((_PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
            float3 _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3;
            Unity_NormalBlend_float(_Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3);
            UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
            Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceTangent = IN.WorldSpaceTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4;
            SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4);
            float _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float = _CoverNormalBlendHardness;
            float3 _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3);
            float3 _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3);
            float _Split_64630334a9c0058a848439df6d5afe71_R_1_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[0];
            float _Split_64630334a9c0058a848439df6d5afe71_G_2_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[1];
            float _Split_64630334a9c0058a848439df6d5afe71_B_3_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[2];
            float _Split_64630334a9c0058a848439df6d5afe71_A_4_Float = 0;
            float _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float;
            Unity_Add_float(_Split_64630334a9c0058a848439df6d5afe71_R_1_Float, _Split_64630334a9c0058a848439df6d5afe71_G_2_Float, _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float);
            float _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float;
            Unity_Add_float(_Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float, _Split_64630334a9c0058a848439df6d5afe71_B_3_Float, _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float);
            float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
            float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
            float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
            Unity_Subtract_float(4, _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
            float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
            Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
            float _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float;
            Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float);
            float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
            Unity_Power_float(_Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
            float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
            Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, 0, 2, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
            float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
            Unity_Multiply_float_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
            float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
            Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
            float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
            Unity_Clamp_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, 0, 0.9999, _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
            float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
            float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
            Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, 45, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
            float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
            Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
            float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
            Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
            float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
            Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, 0, 2, _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
            float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
            Unity_Divide_float(1, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
            float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
            float _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float;
            Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float);
            float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
            float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
            Unity_Power_float(_Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
            float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
            float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
            Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
            float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
            float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
            float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
            float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
            float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
            Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
            float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, 1, _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
            float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
            Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, 0, 1, _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
            float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
            float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
            float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
            Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
            float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
            Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
            float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
            Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, -0.5, _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
            float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
            Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, 0, 1, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
            float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
            Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
            float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
            Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, 0, 1, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
            float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
            Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
            float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
            Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
            float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
            float3 _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3;
            {
                float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
                _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
            }
            float3 _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3, _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3);
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[0];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[1];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[2];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_A_4_Float = 0;
            float _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float;
            Unity_Add_float(_Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float, _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float);
            float _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float;
            Unity_Add_float(_Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float, _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float);
            float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
            Unity_Multiply_float_float(_Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
            float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
            float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
            float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
            UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f8c96485552c638b8d38f34567da0e97;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f8c96485552c638b8d38f34567da0e97, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4);
            float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[0];
            float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[1];
            float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[2];
            float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[3];
            float _Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float = _CoverHeightMapMin;
            float _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float = _CoverHeightMapMax;
            float2 _Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2 = float2(_Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float, _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float);
            float _Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float = _CoverHeightMapOffset;
            float2 _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2;
            Unity_Add_float2(_Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2, (_Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float.xx), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2);
            float _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float);
            float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
            float _Split_8259ed9a9318f9848f486475aa132211_R_1_Float = IN.VertexColor[0];
            float _Split_8259ed9a9318f9848f486475aa132211_G_2_Float = IN.VertexColor[1];
            float _Split_8259ed9a9318f9848f486475aa132211_B_3_Float = IN.VertexColor[2];
            float _Split_8259ed9a9318f9848f486475aa132211_A_4_Float = IN.VertexColor[3];
            float _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_8259ed9a9318f9848f486475aa132211_G_2_Float, _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float);
            float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
            Unity_Saturate_float(_Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
            float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
            float _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float;
            Unity_Branch_float(_Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float);
            float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
            Unity_Lerp_float3(_BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
            float4 _Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4 = _WetColor;
            float3 _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3;
            Unity_Multiply_float3_float3((_Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3);
            float _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float;
            Unity_OneMinus_float(_Split_8259ed9a9318f9848f486475aa132211_R_1_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float);
            float3 _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3, (_OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float.xxx), _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3);
            float _Split_d9627fc463ca248fa5ce803295175e7f_R_1_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[0];
            float _Split_d9627fc463ca248fa5ce803295175e7f_G_2_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[1];
            float _Split_d9627fc463ca248fa5ce803295175e7f_B_3_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[2];
            float _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[3];
            float _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float = _AlphaCutoff;
            UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_9d0bc4ed86df988595f613acb6a8509f;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv0 = IN.uv0;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv2 = IN.uv2;
            float4 _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4);
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[0];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[1];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_B_3_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[2];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[3];
            float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
            float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
            Unity_Multiply_float_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
            float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
            float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
            float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
            float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
            float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
            float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
            float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
            float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
            float _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float, 2, _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float);
            float _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float;
            Unity_Add_float(_Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float, -1, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float);
            float _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float = _DetailSmoothnessScale;
            float _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float;
            Unity_Multiply_float_float(_Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float, _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float);
            float _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float;
            Unity_Saturate_float(_Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float, _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float);
            float _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float;
            Unity_Absolute_float(_Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float);
            Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43;
            float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float;
            SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float);
            float _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float;
            Unity_Saturate_float(_BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
            float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
            Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
            float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
            float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
            float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
            float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
            float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
            float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
            float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
            float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
            Unity_Lerp_float3(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
            float _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float = _WetSmoothness;
            float _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float, _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float);
            float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
            float3 _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3);
            float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
            surface.BaseColor = _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            surface.Emission = float3(0, 0, 0);
            surface.Alpha = _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float;
            surface.AlphaClipThreshold = _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float;
            surface.BentNormal = IN.TangentSpaceNormal;
            surface.Smoothness = _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
            surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float;
            return surface;
        }
        
            // --------------------------------------------------
            // Build Graph Inputs
            #ifdef HAVE_VFX_MODIFICATION
            #define VFX_SRP_ATTRIBUTES AttributesMesh
            #define VaryingsMeshType VaryingsMeshToPS
            #define VFX_SRP_VARYINGS VaryingsMeshType
            #define VFX_SRP_SURFACE_INPUTS FragInputs
            #endif
            SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
            output.WorldSpaceNormal =                           normalize(input.tangentToWorld[2].xyz);
            #if defined(SHADER_STAGE_RAY_TRACING)
            #else
            #endif
            output.TangentSpaceNormal =                         float3(0.0f, 0.0f, 1.0f);
            output.WorldSpaceTangent =                          input.tangentToWorld[0].xyz;
            output.WorldSpaceBiTangent =                        input.tangentToWorld[1].xyz;
            output.AbsoluteWorldSpacePosition =                 GetAbsolutePositionWS(input.positionRWS);
        
        #if UNITY_UV_STARTS_AT_TOP
        #else
        #endif
        
        
            output.uv0 =                                        input.texCoord0;
            output.uv2 =                                        input.texCoord2;
            output.VertexColor =                                input.color;
        
            // splice point to copy frag inputs custom interpolator pack into the SDI
            /* WARNING: $splice Could not find named fragment 'CustomInterpolatorCopyToSDI' */
        
            return output;
        }
        
            // --------------------------------------------------
            // Build Surface Data (Specific Material)
        
        void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
        
        void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
            inout SurfaceData surfaceData)
        {
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
        #ifdef DECAL_NORMAL_BLENDING
            // SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
            // the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
            float3 normalTS;
        
            normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
            fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
        
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        
            GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
        #else
            // normal delivered to master node
            GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                // Both uses and modifies 'surfaceData.normalWS'.
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        #endif
        }
        void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
        {
            ZERO_INITIALIZE(SurfaceData, surfaceData);
        
            // specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
            // however specularOcclusion can come from the graph, so need to be init here so it can be override.
            surfaceData.specularOcclusion = 1.0;
        
            surfaceData.baseColor =                 surfaceDescription.BaseColor;
            surfaceData.perceptualSmoothness =      surfaceDescription.Smoothness;
            surfaceData.ambientOcclusion =          surfaceDescription.Occlusion;
            surfaceData.metallic =                  surfaceDescription.Metallic;
        
            #if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
                if (_EnableSSRefraction)
                {
        
                    surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
                    surfaceDescription.Alpha = 1.0;
                }
                else
                {
                    surfaceData.ior = 1.0;
                    surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                    surfaceData.atDistance = 1.0;
                    surfaceData.transmittanceMask = 0.0;
                    surfaceDescription.Alpha = 1.0;
                }
            #else
                surfaceData.ior = 1.0;
                surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                surfaceData.atDistance = 1.0;
                surfaceData.transmittanceMask = 0.0;
            #endif
        
            // These static material feature allow compile time optimization
            surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
            #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
            #endif
        
            #ifdef _MATERIAL_FEATURE_TRANSMISSION
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
            #endif
        
            #ifdef _MATERIAL_FEATURE_ANISOTROPY
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
        
                // Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
                surfaceData.normalWS = float3(0, 1, 0);
            #endif
        
            #ifdef _MATERIAL_FEATURE_IRIDESCENCE
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
            #endif
        
            #ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
            #endif
        
            #ifdef _MATERIAL_FEATURE_CLEAR_COAT
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
            #endif
        
            #if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
                // Require to have setup baseColor
                // Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
                surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
            #endif
        
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
            ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
        
            surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
        
            surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz);    // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
        
        
            bentNormalWS = surfaceData.normalWS;
        
            surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
        
            #ifdef DEBUG_DISPLAY
                if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
                {
                    // TODO: need to update mip info
                    surfaceData.metallic = 0;
                }
        
                // We need to call ApplyDebugToSurfaceData after filling the surfarcedata and before filling builtinData
                // as it can modify attribute use for static lighting
                ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
            #endif
        
            // By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
            // If user provide bent normal then we process a better term
            #if defined(_SPECULAR_OCCLUSION_CUSTOM)
                // Just use the value passed through via the slot (not active otherwise)
            #elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
                // If we have bent normal and ambient occlusion, process a specular occlusion
                surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
            #elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
                surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
            #endif
        
            #if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
                surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
            #endif
        }
        
            // --------------------------------------------------
            // Get Surface And BuiltinData
        
            void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
            {
                // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
                #if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
                #ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
                LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
                #endif
                #endif
        
                #ifndef SHADER_UNLIT
                #ifdef _DOUBLESIDED_ON
                    float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
                #else
                    float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
                #endif
        
                ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
                #endif // SHADER_UNLIT
        
                SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
        
                #if defined(HAVE_VFX_MODIFICATION)
                GraphProperties properties;
                ZERO_INITIALIZE(GraphProperties, properties);
        
                GetElementPixelProperties(fragInputs, properties);
        
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
                #else
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
                #endif
        
                // Perform alpha test very early to save performance (a killed pixel will not sample textures)
                // TODO: split graph evaluation to grab just alpha dependencies first? tricky..
                #ifdef _ALPHATEST_ON
                    float alphaCutoff = surfaceDescription.AlphaClipThreshold;
                    #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
                    // The TransparentDepthPrepass is also used with SSR transparent.
                    // If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
                    // otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
                    #elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
                    // DepthPostpass always use its own alpha threshold
                    alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
                    #elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
                    // If use shadow threshold isn't enable we don't allow any test
                    #endif
        
                    GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
                #endif
        
                #if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
                ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
                #endif
        
                #ifndef SHADER_UNLIT
                float3 bentNormalWS;
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD1
                    float4 lightmapTexCoord1 = fragInputs.texCoord1;
                #else
                    float4 lightmapTexCoord1 = float4(0,0,0,0);
                #endif
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD2
                    float4 lightmapTexCoord2 = fragInputs.texCoord2;
                #else
                    float4 lightmapTexCoord2 = float4(0,0,0,0);
                #endif
        
                // Builtin Data
                // For back lighting we use the oposite vertex normal
                InitBuiltinData(posInput, surfaceDescription.Alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
        
                #else
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
        
                ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
                builtinData.opacity = surfaceDescription.Alpha;
        
                #if defined(DEBUG_DISPLAY)
                    // Light Layers are currently not used for the Unlit shader (because it is not lit)
                    // But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
                    // display in the light layers visualization mode, therefore we need the renderingLayers
                    builtinData.renderingLayers = GetMeshRenderingLightLayer();
                #endif
        
                #endif // SHADER_UNLIT
        
                #ifdef _ALPHATEST_ON
                    // Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
                    builtinData.alphaClipTreshold = alphaCutoff;
                #endif
        
                // override sampleBakedGI - not used by Unlit
        
                builtinData.emissiveColor = surfaceDescription.Emission;
        
                // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
                // We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
                // This is a limitation of the current MRT approach.
                #ifdef UNITY_VIRTUAL_TEXTURING
                #endif
        
                #if _DEPTHOFFSET_ON
                builtinData.depthOffset = surfaceDescription.DepthOffset;
                #endif
        
                // TODO: We should generate distortion / distortionBlur for non distortion pass
                #if (SHADERPASS == SHADERPASS_DISTORTION)
                builtinData.distortion = surfaceDescription.Distortion;
                builtinData.distortionBlur = surfaceDescription.DistortionBlur;
                #endif
        
                #ifndef SHADER_UNLIT
                // PostInitBuiltinData call ApplyDebugToBuiltinData
                PostInitBuiltinData(V, posInput, surfaceData, builtinData);
                #else
                ApplyDebugToBuiltinData(builtinData);
                #endif
        
                RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
            }
        
            // --------------------------------------------------
            // Main
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassRaytracingForward.hlsl"
        
            // --------------------------------------------------
            // Visual Effect Vertex Invocations
        
        	#ifdef HAVE_VFX_MODIFICATION
        	#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
        	#endif
        
            ENDHLSL
        }
        Pass
        {
            Name "GBufferDXR"
            Tags
            {
                "LightMode" = "GBufferDXR"
            }
        
            // Render State
            // RenderState: <None>
        
            // Debug
            // <None>
        
            // --------------------------------------------------
            // Pass
        
            HLSLPROGRAM
        
            // Pragmas
            #pragma target 5.0
        #pragma raytracing surface_shader
        #pragma only_renderers d3d11 xboxseries ps5
        
            // Keywords
            #pragma multi_compile _ MINIMAL_GBUFFER
        #pragma shader_feature_local _ _ALPHATEST_ON
        #pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local _ _DOUBLESIDED_ON
        #pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
        #pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC
        #pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
        #pragma multi_compile _ DEBUG_DISPLAY
        #pragma shader_feature_local_fragment _ _DISABLE_DECALS
        #pragma shader_feature_local_raytracing _ _DISABLE_DECALS
        #pragma shader_feature_local_fragment _ _DISABLE_SSR
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR
        #pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
        #pragma multi_compile _ LIGHTMAP_ON
        #pragma multi_compile _ DIRLIGHTMAP_COMBINED
        #pragma multi_compile_fragment PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
        #pragma multi_compile_raytracing PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
        #pragma multi_compile _ DYNAMICLIGHTMAP_ON
        #pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
            // GraphKeywords: <None>
        
            // For custom interpolators to inject a substruct definition before FragInputs definition,
            // allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
            /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreInclude' */
        
        
            // TODO: Merge FragInputsVFX substruct with CustomInterpolators.
        	#ifdef HAVE_VFX_MODIFICATION
        	struct FragInputsVFX
            {
                /* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
            };
            #endif
        
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
            // Always include Shader Graph version
            // Always include last to avoid double macros
            #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
        
            // --------------------------------------------------
            // Defines
        
            // Attribute
            #define ATTRIBUTES_NEED_NORMAL
            #define ATTRIBUTES_NEED_TANGENT
            #define ATTRIBUTES_NEED_TEXCOORD0
            #define ATTRIBUTES_NEED_TEXCOORD1
            #define ATTRIBUTES_NEED_TEXCOORD2
            #define ATTRIBUTES_NEED_COLOR
            #define VARYINGS_NEED_POSITION_WS
            #define VARYINGS_NEED_TANGENT_TO_WORLD
            #define VARYINGS_NEED_TEXCOORD0
            #define VARYINGS_NEED_TEXCOORD1
            #define VARYINGS_NEED_TEXCOORD2
            #define VARYINGS_NEED_COLOR
        
        
            //Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
            //if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
            //Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
            #if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
            #define FRAG_INPUTS_ENABLE_STRIPPING
            #endif
            #define FRAG_INPUTS_USE_TEXCOORD0
            #define FRAG_INPUTS_USE_TEXCOORD1
            #define FRAG_INPUTS_USE_TEXCOORD2
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
        
        
        
            #define SHADERPASS SHADERPASS_RAYTRACING_GBUFFER
        #define SHADOW_LOW
        #define RAYTRACING_SHADER_GRAPH_RAYTRACED
        
        
            // Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
            // The ShaderGraph don't support correctly migration of this node as it serialize all the node data
            // in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
            // to still allow us to rename the field and keyword of this node without breaking existing code.
            #ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
            #define RAYTRACING_SHADER_GRAPH_HIGH
            #endif
        
            #ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
            #define RAYTRACING_SHADER_GRAPH_LOW
            #endif
            // end
        
            #ifndef SHADER_UNLIT
            // We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
            // VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
            #if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
                #define VARYINGS_NEED_CULLFACE
            #endif
            #endif
        
            // Specific Material Define
        #define _AMBIENT_OCCLUSION 1
        #define _SPECULAR_OCCLUSION_FROM_AO 1
        #define _ENERGY_CONSERVING_SPECULAR 1
        
        // If we use subsurface scattering, enable output split lighting (for forward pass)
        #if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
            #define OUTPUT_SPLIT_LIGHTING
        #endif
        
        // This shader support recursive rendering for raytracing
        #define HAVE_RECURSIVE_RENDERING
        
        // In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
        #if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
            #undef  _REFRACTION_PLANE
            #undef  _REFRACTION_SPHERE
            #define _REFRACTION_THIN
        #endif
            // Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
        
            // To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
            // we should have a code like this:
            // if !defined(_DISABLE_SSR_TRANSPARENT)
            // pragma multi_compile _ WRITE_NORMAL_BUFFER
            // endif
            // i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
            // it based on if SSR transparent in frame settings and not (and stripper can strip it).
            // this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
            // so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
            // Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
            #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
            #if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
                #define WRITE_NORMAL_BUFFER
            #endif
            #endif
        
            #ifndef DEBUG_DISPLAY
                // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
                // Don't do it with debug display mode as it is possible there is no depth prepass in this case
                #if !defined(_SURFACE_TYPE_TRANSPARENT)
                    #if SHADERPASS == SHADERPASS_FORWARD
                    #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
                    #elif SHADERPASS == SHADERPASS_GBUFFER
                    #define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
                    #endif
                #endif
            #endif
        
            // Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
            #if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
                #define _DEFERRED_CAPABLE_MATERIAL
            #endif
        
            // Translate transparent motion vector define
            #if defined(_TRANSPARENT_WRITES_MOTION_VEC) && defined(_SURFACE_TYPE_TRANSPARENT)
                #define _WRITE_TRANSPARENT_MOTION_VECTOR
            #endif
        
            // -- Graph Properties
            CBUFFER_START(UnityPerMaterial)
        float _AlphaCutoff;
        float4 _BaseColor;
        float4 _BaseColorMap_TexelSize;
        float _BaseUsePlanarUV;
        float4 _BaseTilingOffset;
        float4 _BaseNormalMap_TexelSize;
        float _BaseNormalScale;
        float4 _BaseMaskMap_TexelSize;
        float _BaseMetallic;
        float _BaseAORemapMin;
        float _BaseAORemapMax;
        float _BaseSmoothnessRemapMin;
        float _BaseSmoothnessRemapMax;
        float _USEDYNAMICCOVERTSTATICMASKF;
        float4 _CoverMaskA_TexelSize;
        float _CoverMaskPower;
        float _Cover_Amount;
        float _Cover_Amount_Grow_Speed;
        float3 _CoverDirection;
        float _Cover_Max_Angle;
        float _Cover_Min_Height;
        float _Cover_Min_Height_Blending;
        float4 _CoverBaseColor;
        float4 _CoverBaseColorMap_TexelSize;
        float4 _CoverTilingOffset;
        float _CoverTriplanarThreshold;
        float4 _CoverNormalMap_TexelSize;
        float _CoverNormalScale;
        float _CoverNormalBlendHardness;
        float _CoverHardness;
        float _CoverHeightMapMin;
        float _CoverHeightMapMax;
        float _CoverHeightMapOffset;
        float4 _CoverMaskMap_TexelSize;
        float _CoverMetallic;
        float _CoverAORemapMin;
        float _CoverAORemapMax;
        float _CoverSmoothnessRemapMin;
        float _CoverSmoothnessRemapMax;
        float4 _DetailMap_TexelSize;
        float4 _DetailTilingOffset;
        float _DetailAlbedoScale;
        float _DetailNormalScale;
        float _DetailSmoothnessScale;
        float4 _WetColor;
        float _WetSmoothness;
        float4 _EmissionColor;
        float _UseShadowThreshold;
        float4 _DoubleSidedConstants;
        float _BlendMode;
        float _EnableBlendModePreserveSpecularLighting;
        float _RayTracing;
        float _RefractionModel;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        SAMPLER(SamplerState_Linear_Repeat_Aniso8);
        TEXTURE2D(_BaseColorMap);
        SAMPLER(sampler_BaseColorMap);
        TEXTURE2D(_BaseNormalMap);
        SAMPLER(sampler_BaseNormalMap);
        TEXTURE2D(_BaseMaskMap);
        SAMPLER(sampler_BaseMaskMap);
        TEXTURE2D(_CoverMaskA);
        SAMPLER(sampler_CoverMaskA);
        TEXTURE2D(_CoverBaseColorMap);
        SAMPLER(sampler_CoverBaseColorMap);
        TEXTURE2D(_CoverNormalMap);
        SAMPLER(sampler_CoverNormalMap);
        TEXTURE2D(_CoverMaskMap);
        SAMPLER(sampler_CoverMaskMap);
        TEXTURE2D(_DetailMap);
        SAMPLER(sampler_DetailMap);
        
            // -- Property used by ScenePickingPass
            #ifdef SCENEPICKINGPASS
            float4 _SelectionID;
            #endif
        
            // -- Properties used by SceneSelectionPass
            #ifdef SCENESELECTIONPASS
            int _ObjectId;
            int _PassValue;
            #endif
        
            // Includes
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingMacros.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracing.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracingLightLoop.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/Deferred/RaytracingIntersectonGBuffer.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/StandardLit/StandardLit.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitRaytracing.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingCommon.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
        	// GraphIncludes: <None>
        
            // --------------------------------------------------
            // Structs and Packing
        
            struct SurfaceDescriptionInputs
        {
             float3 WorldSpaceNormal;
             float3 TangentSpaceNormal;
             float3 WorldSpaceTangent;
             float3 WorldSpaceBiTangent;
             float3 AbsoluteWorldSpacePosition;
             float4 uv0;
             float4 uv2;
             float4 VertexColor;
        };
        
            //Interpolator Packs: <None>
        
            // --------------------------------------------------
            // Graph
        
        
            // Graph Functions
            
        void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
        {
            RGBA = float4(R, G, B, A);
            RGB = float3(R, G, B);
            RG = float2(R, G);
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
        Out = A * B;
        }
        
        void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
        {
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
        float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
        Unity_Divide_float(1, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
        float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
        float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
        Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
        float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
        float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
        float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
        float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
        Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
        UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        }
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_Absolute_float(float In, out float Out)
        {
            Out = abs(In);
        }
        
        void Unity_SquareRoot_float4(float4 In, out float4 Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Sign_float(float In, out float Out)
        {
            Out = sign(In);
        }
        
        void Unity_Ceiling_float(float In, out float Out)
        {
            Out = ceil(In);
        }
        
        void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
        {
        };
        
        void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
        {
        float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
        float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
        Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
        Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
        float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
        Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
        float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
        OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
        }
        
        void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A / B;
        }
        
        void Unity_Sign_float3(float3 In, out float3 Out)
        {
            Out = sign(In);
        }
        
        void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
        {
        Out = A * B;
        }
        
        void Unity_Absolute_float3(float3 In, out float3 Out)
        {
            Out = abs(In);
        }
        
        void Unity_Power_float3(float3 A, float3 B, out float3 Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
        Out = A * B;
        }
        
        void Unity_Add_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A + B;
        }
        
        struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
        {
        float3 WorldSpaceNormal;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
        float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
        float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
        float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
        float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
        float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, 1);
        float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
        UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
        Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
        float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, 1);
        float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, 1);
        float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
        float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
        Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
        float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
        Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
        XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
        XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_Add_float2(float2 A, float2 B, out float2 Out)
        {
            Out = A + B;
        }
        
        void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
        {
            Out = dot(A, B);
        }
        
        void Unity_OneMinus_float(float In, out float Out)
        {
            Out = 1 - In;
        }
        
        void Unity_SquareRoot_float(float In, out float Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Normalize_float3(float3 In, out float3 Out)
        {
            Out = normalize(In);
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
        {
        float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
        float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
        float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
        float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
        float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
        float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
        Unity_Divide_float(1, _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
        float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
        float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
        Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
        float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
        float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
        float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
        float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
        Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
        UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
        float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangent(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
        float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
        Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
        XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
        }
        
        void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
        {
            Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
        }
        
        void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
        {
            Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A / B;
        }
        
        struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
        UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
        float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
        Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
        float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, 1);
        float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
        _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
        float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
        float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
        Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
        float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
        float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
        float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
        float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
        float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, 1);
        float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
        _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
        float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
        float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
        float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
        Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
        float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
        float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
        float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
        Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
        float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
        Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
        Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
        float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
        XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
        XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
        YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
        XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Power_float(float A, float B, out float Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
        {
            Out = lerp(A, B, T);
        }
        
        void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
        {
            Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
        }
        
        void Unity_Branch_float(float Predicate, float True, float False, out float Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Lerp_float(float A, float B, float T, out float Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
        {
        };
        
        void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
        {
        float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
        SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        }
        
            // Graph Vertex
            // GraphVertex: <None>
        
            // Graph Pixel
            struct SurfaceDescription
        {
            float3 BaseColor;
            float3 Emission;
            float Alpha;
            float AlphaClipThreshold;
            float3 BentNormal;
            float Smoothness;
            float Occlusion;
            float3 NormalTS;
            float Metallic;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
            float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
            float _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean = _BaseUsePlanarUV;
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_41db1f1f529b6f8e9c51558bacdba727;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv0 = IN.uv0;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv2 = IN.uv2;
            float4 _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4);
            float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
            float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
            Unity_Multiply_float4_float4(_PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
            UnityTexture2D _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
            float4 _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4 = _DetailTilingOffset;
            float _Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[0];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[1];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[2];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[3];
            float2 _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float);
            float2 _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float);
            float2 _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2, _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2, _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2);
            float4 _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.tex, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.samplerstate, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2) );
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.r;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.g;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.b;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.a;
            float _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float, 2, _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float);
            float _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float;
            Unity_Add_float(_Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float, -1, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float);
            float _Property_605f29777330a58ba88ac032e905433b_Out_0_Float = _DetailAlbedoScale;
            float _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float;
            Unity_Multiply_float_float(_Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Property_605f29777330a58ba88ac032e905433b_Out_0_Float, _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float);
            float _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float;
            Unity_Saturate_float(_Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float, _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float);
            float _Absolute_8acef423205118879e75274a48969d34_Out_1_Float;
            Unity_Absolute_float(_Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float);
            Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185;
            float3 _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3;
            SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3);
            UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
            float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
            float4 _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4;
            Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4);
            float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4);
            float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
            float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
            Unity_Multiply_float4_float4(_TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
            float _Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
            UnityTexture2D _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
            float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
            float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.tex, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.samplerstate, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
            float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
            float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
            float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
            Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, 0, 1, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
            float3 _Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3 = _CoverDirection;
            float2 _Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2 = float2(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float, _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float);
            float2 _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2, float2(2, 2), _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2);
            float2 _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2;
            Unity_Add_float2(_Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2, float2(-1, -1), _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2);
            float _Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float = _DetailNormalScale;
            float2 _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2, (_Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float.xx), _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2);
            float _Split_c4822b8eaff9b185be7c059792345712_R_1_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[0];
            float _Split_c4822b8eaff9b185be7c059792345712_G_2_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[1];
            float _Split_c4822b8eaff9b185be7c059792345712_B_3_Float = 0;
            float _Split_c4822b8eaff9b185be7c059792345712_A_4_Float = 0;
            float _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float;
            Unity_DotProduct_float2(_Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float);
            float _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float;
            Unity_Saturate_float(_DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float, _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float);
            float _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float;
            Unity_OneMinus_float(_Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float, _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float);
            float _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float;
            Unity_SquareRoot_float(_OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            float3 _Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3 = float3(_Split_c4822b8eaff9b185be7c059792345712_R_1_Float, _Split_c4822b8eaff9b185be7c059792345712_G_2_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
            Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_e976eded9c94228090999d383a1bd95b;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceNormal = IN.WorldSpaceNormal;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceTangent = IN.WorldSpaceTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv0 = IN.uv0;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv2 = IN.uv2;
            float4 _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4;
            SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_e976eded9c94228090999d383a1bd95b, _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4);
            float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
            float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
            Unity_NormalStrength_float((_PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
            float3 _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3;
            Unity_NormalBlend_float(_Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3);
            UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
            Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceTangent = IN.WorldSpaceTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4;
            SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4);
            float _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float = _CoverNormalBlendHardness;
            float3 _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3);
            float3 _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3);
            float _Split_64630334a9c0058a848439df6d5afe71_R_1_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[0];
            float _Split_64630334a9c0058a848439df6d5afe71_G_2_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[1];
            float _Split_64630334a9c0058a848439df6d5afe71_B_3_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[2];
            float _Split_64630334a9c0058a848439df6d5afe71_A_4_Float = 0;
            float _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float;
            Unity_Add_float(_Split_64630334a9c0058a848439df6d5afe71_R_1_Float, _Split_64630334a9c0058a848439df6d5afe71_G_2_Float, _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float);
            float _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float;
            Unity_Add_float(_Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float, _Split_64630334a9c0058a848439df6d5afe71_B_3_Float, _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float);
            float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
            float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
            float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
            Unity_Subtract_float(4, _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
            float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
            Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
            float _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float;
            Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float);
            float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
            Unity_Power_float(_Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
            float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
            Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, 0, 2, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
            float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
            Unity_Multiply_float_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
            float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
            Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
            float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
            Unity_Clamp_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, 0, 0.9999, _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
            float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
            float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
            Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, 45, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
            float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
            Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
            float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
            Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
            float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
            Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, 0, 2, _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
            float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
            Unity_Divide_float(1, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
            float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
            float _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float;
            Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float);
            float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
            float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
            Unity_Power_float(_Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
            float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
            float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
            Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
            float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
            float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
            float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
            float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
            float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
            Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
            float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, 1, _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
            float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
            Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, 0, 1, _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
            float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
            float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
            float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
            Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
            float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
            Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
            float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
            Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, -0.5, _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
            float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
            Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, 0, 1, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
            float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
            Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
            float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
            Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, 0, 1, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
            float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
            Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
            float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
            Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
            float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
            float3 _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3;
            {
                float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
                _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
            }
            float3 _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3, _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3);
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[0];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[1];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[2];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_A_4_Float = 0;
            float _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float;
            Unity_Add_float(_Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float, _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float);
            float _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float;
            Unity_Add_float(_Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float, _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float);
            float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
            Unity_Multiply_float_float(_Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
            float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
            float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
            float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
            UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f8c96485552c638b8d38f34567da0e97;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f8c96485552c638b8d38f34567da0e97, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4);
            float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[0];
            float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[1];
            float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[2];
            float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[3];
            float _Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float = _CoverHeightMapMin;
            float _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float = _CoverHeightMapMax;
            float2 _Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2 = float2(_Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float, _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float);
            float _Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float = _CoverHeightMapOffset;
            float2 _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2;
            Unity_Add_float2(_Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2, (_Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float.xx), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2);
            float _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float);
            float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
            float _Split_8259ed9a9318f9848f486475aa132211_R_1_Float = IN.VertexColor[0];
            float _Split_8259ed9a9318f9848f486475aa132211_G_2_Float = IN.VertexColor[1];
            float _Split_8259ed9a9318f9848f486475aa132211_B_3_Float = IN.VertexColor[2];
            float _Split_8259ed9a9318f9848f486475aa132211_A_4_Float = IN.VertexColor[3];
            float _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_8259ed9a9318f9848f486475aa132211_G_2_Float, _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float);
            float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
            Unity_Saturate_float(_Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
            float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
            float _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float;
            Unity_Branch_float(_Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float);
            float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
            Unity_Lerp_float3(_BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
            float4 _Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4 = _WetColor;
            float3 _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3;
            Unity_Multiply_float3_float3((_Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3);
            float _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float;
            Unity_OneMinus_float(_Split_8259ed9a9318f9848f486475aa132211_R_1_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float);
            float3 _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3, (_OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float.xxx), _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3);
            float _Split_d9627fc463ca248fa5ce803295175e7f_R_1_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[0];
            float _Split_d9627fc463ca248fa5ce803295175e7f_G_2_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[1];
            float _Split_d9627fc463ca248fa5ce803295175e7f_B_3_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[2];
            float _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[3];
            float _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float = _AlphaCutoff;
            UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_9d0bc4ed86df988595f613acb6a8509f;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv0 = IN.uv0;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv2 = IN.uv2;
            float4 _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4);
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[0];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[1];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_B_3_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[2];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[3];
            float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
            float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
            Unity_Multiply_float_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
            float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
            float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
            float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
            float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
            float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
            float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
            float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
            float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
            float _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float, 2, _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float);
            float _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float;
            Unity_Add_float(_Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float, -1, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float);
            float _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float = _DetailSmoothnessScale;
            float _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float;
            Unity_Multiply_float_float(_Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float, _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float);
            float _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float;
            Unity_Saturate_float(_Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float, _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float);
            float _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float;
            Unity_Absolute_float(_Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float);
            Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43;
            float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float;
            SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float);
            float _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float;
            Unity_Saturate_float(_BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
            float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
            Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
            float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
            float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
            float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
            float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
            float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
            float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
            float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
            float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
            Unity_Lerp_float3(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
            float _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float = _WetSmoothness;
            float _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float, _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float);
            float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
            float3 _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3);
            float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
            surface.BaseColor = _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            surface.Emission = float3(0, 0, 0);
            surface.Alpha = _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float;
            surface.AlphaClipThreshold = _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float;
            surface.BentNormal = IN.TangentSpaceNormal;
            surface.Smoothness = _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
            surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float;
            return surface;
        }
        
            // --------------------------------------------------
            // Build Graph Inputs
            #ifdef HAVE_VFX_MODIFICATION
            #define VFX_SRP_ATTRIBUTES AttributesMesh
            #define VaryingsMeshType VaryingsMeshToPS
            #define VFX_SRP_VARYINGS VaryingsMeshType
            #define VFX_SRP_SURFACE_INPUTS FragInputs
            #endif
            SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
            output.WorldSpaceNormal =                           normalize(input.tangentToWorld[2].xyz);
            #if defined(SHADER_STAGE_RAY_TRACING)
            #else
            #endif
            output.TangentSpaceNormal =                         float3(0.0f, 0.0f, 1.0f);
            output.WorldSpaceTangent =                          input.tangentToWorld[0].xyz;
            output.WorldSpaceBiTangent =                        input.tangentToWorld[1].xyz;
            output.AbsoluteWorldSpacePosition =                 GetAbsolutePositionWS(input.positionRWS);
        
        #if UNITY_UV_STARTS_AT_TOP
        #else
        #endif
        
        
            output.uv0 =                                        input.texCoord0;
            output.uv2 =                                        input.texCoord2;
            output.VertexColor =                                input.color;
        
            // splice point to copy frag inputs custom interpolator pack into the SDI
            /* WARNING: $splice Could not find named fragment 'CustomInterpolatorCopyToSDI' */
        
            return output;
        }
        
            // --------------------------------------------------
            // Build Surface Data (Specific Material)
        
        void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
        
        void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
            inout SurfaceData surfaceData)
        {
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
        #ifdef DECAL_NORMAL_BLENDING
            // SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
            // the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
            float3 normalTS;
        
            normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
            fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
        
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        
            GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
        #else
            // normal delivered to master node
            GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                // Both uses and modifies 'surfaceData.normalWS'.
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        #endif
        }
        void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
        {
            ZERO_INITIALIZE(SurfaceData, surfaceData);
        
            // specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
            // however specularOcclusion can come from the graph, so need to be init here so it can be override.
            surfaceData.specularOcclusion = 1.0;
        
            surfaceData.baseColor =                 surfaceDescription.BaseColor;
            surfaceData.perceptualSmoothness =      surfaceDescription.Smoothness;
            surfaceData.ambientOcclusion =          surfaceDescription.Occlusion;
            surfaceData.metallic =                  surfaceDescription.Metallic;
        
            #if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
                if (_EnableSSRefraction)
                {
        
                    surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
                    surfaceDescription.Alpha = 1.0;
                }
                else
                {
                    surfaceData.ior = 1.0;
                    surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                    surfaceData.atDistance = 1.0;
                    surfaceData.transmittanceMask = 0.0;
                    surfaceDescription.Alpha = 1.0;
                }
            #else
                surfaceData.ior = 1.0;
                surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                surfaceData.atDistance = 1.0;
                surfaceData.transmittanceMask = 0.0;
            #endif
        
            // These static material feature allow compile time optimization
            surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
            #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
            #endif
        
            #ifdef _MATERIAL_FEATURE_TRANSMISSION
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
            #endif
        
            #ifdef _MATERIAL_FEATURE_ANISOTROPY
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
        
                // Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
                surfaceData.normalWS = float3(0, 1, 0);
            #endif
        
            #ifdef _MATERIAL_FEATURE_IRIDESCENCE
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
            #endif
        
            #ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
            #endif
        
            #ifdef _MATERIAL_FEATURE_CLEAR_COAT
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
            #endif
        
            #if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
                // Require to have setup baseColor
                // Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
                surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
            #endif
        
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
            ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
        
            surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
        
            surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz);    // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
        
        
            bentNormalWS = surfaceData.normalWS;
        
            surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
        
            #ifdef DEBUG_DISPLAY
                if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
                {
                    // TODO: need to update mip info
                    surfaceData.metallic = 0;
                }
        
                // We need to call ApplyDebugToSurfaceData after filling the surfarcedata and before filling builtinData
                // as it can modify attribute use for static lighting
                ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
            #endif
        
            // By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
            // If user provide bent normal then we process a better term
            #if defined(_SPECULAR_OCCLUSION_CUSTOM)
                // Just use the value passed through via the slot (not active otherwise)
            #elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
                // If we have bent normal and ambient occlusion, process a specular occlusion
                surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
            #elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
                surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
            #endif
        
            #if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
                surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
            #endif
        }
        
            // --------------------------------------------------
            // Get Surface And BuiltinData
        
            void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
            {
                // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
                #if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
                #ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
                LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
                #endif
                #endif
        
                #ifndef SHADER_UNLIT
                #ifdef _DOUBLESIDED_ON
                    float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
                #else
                    float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
                #endif
        
                ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
                #endif // SHADER_UNLIT
        
                SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
        
                #if defined(HAVE_VFX_MODIFICATION)
                GraphProperties properties;
                ZERO_INITIALIZE(GraphProperties, properties);
        
                GetElementPixelProperties(fragInputs, properties);
        
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
                #else
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
                #endif
        
                // Perform alpha test very early to save performance (a killed pixel will not sample textures)
                // TODO: split graph evaluation to grab just alpha dependencies first? tricky..
                #ifdef _ALPHATEST_ON
                    float alphaCutoff = surfaceDescription.AlphaClipThreshold;
                    #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
                    // The TransparentDepthPrepass is also used with SSR transparent.
                    // If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
                    // otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
                    #elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
                    // DepthPostpass always use its own alpha threshold
                    alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
                    #elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
                    // If use shadow threshold isn't enable we don't allow any test
                    #endif
        
                    GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
                #endif
        
                #if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
                ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
                #endif
        
                #ifndef SHADER_UNLIT
                float3 bentNormalWS;
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD1
                    float4 lightmapTexCoord1 = fragInputs.texCoord1;
                #else
                    float4 lightmapTexCoord1 = float4(0,0,0,0);
                #endif
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD2
                    float4 lightmapTexCoord2 = fragInputs.texCoord2;
                #else
                    float4 lightmapTexCoord2 = float4(0,0,0,0);
                #endif
        
                // Builtin Data
                // For back lighting we use the oposite vertex normal
                InitBuiltinData(posInput, surfaceDescription.Alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
        
                #else
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
        
                ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
                builtinData.opacity = surfaceDescription.Alpha;
        
                #if defined(DEBUG_DISPLAY)
                    // Light Layers are currently not used for the Unlit shader (because it is not lit)
                    // But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
                    // display in the light layers visualization mode, therefore we need the renderingLayers
                    builtinData.renderingLayers = GetMeshRenderingLightLayer();
                #endif
        
                #endif // SHADER_UNLIT
        
                #ifdef _ALPHATEST_ON
                    // Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
                    builtinData.alphaClipTreshold = alphaCutoff;
                #endif
        
                // override sampleBakedGI - not used by Unlit
        
                builtinData.emissiveColor = surfaceDescription.Emission;
        
                // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
                // We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
                // This is a limitation of the current MRT approach.
                #ifdef UNITY_VIRTUAL_TEXTURING
                #endif
        
                #if _DEPTHOFFSET_ON
                builtinData.depthOffset = surfaceDescription.DepthOffset;
                #endif
        
                // TODO: We should generate distortion / distortionBlur for non distortion pass
                #if (SHADERPASS == SHADERPASS_DISTORTION)
                builtinData.distortion = surfaceDescription.Distortion;
                builtinData.distortionBlur = surfaceDescription.DistortionBlur;
                #endif
        
                #ifndef SHADER_UNLIT
                // PostInitBuiltinData call ApplyDebugToBuiltinData
                PostInitBuiltinData(V, posInput, surfaceData, builtinData);
                #else
                ApplyDebugToBuiltinData(builtinData);
                #endif
        
                RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
            }
        
            // --------------------------------------------------
            // Main
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassRaytracingGBuffer.hlsl"
        
            // --------------------------------------------------
            // Visual Effect Vertex Invocations
        
        	#ifdef HAVE_VFX_MODIFICATION
        	#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
        	#endif
        
            ENDHLSL
        }
        Pass
        {
            Name "DebugDXR"
            Tags
            {
                "LightMode" = "DebugDXR"
            }
        
            // Debug
            // <None>
        
            // --------------------------------------------------
            // Pass
        
            HLSLPROGRAM
        
            // Pragmas
            #pragma target 5.0
        #pragma raytracing surface_shader
        #pragma only_renderers d3d11 xboxseries ps5
        
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
        
            // Includes
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingMacros.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracing.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingIntersection.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingCommon.hlsl"
        	// GraphIncludes: <None>
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassRayTracingDebug.hlsl"
        
            ENDHLSL
        }
        Pass
        {
            Name "PathTracingDXR"
            Tags
            {
                "LightMode" = "PathTracingDXR"
            }
        
            // Render State
            // RenderState: <None>
        
            // Debug
            // <None>
        
            // --------------------------------------------------
            // Pass
        
            HLSLPROGRAM
        
            // Pragmas
            #pragma target 5.0
        #pragma raytracing surface_shader
        #pragma only_renderers d3d11 xboxseries ps5
        
            // Keywords
            #pragma shader_feature_local _ _ALPHATEST_ON
        #pragma shader_feature _ _SURFACE_TYPE_TRANSPARENT
        #pragma shader_feature_local _ _DOUBLESIDED_ON
        #pragma shader_feature_local _ _ADD_PRECOMPUTED_VELOCITY
        #pragma shader_feature_local _ _TRANSPARENT_WRITES_MOTION_VEC
        #pragma shader_feature_local_fragment _ _ENABLE_FOG_ON_TRANSPARENT
        #pragma shader_feature_local_fragment _ _DISABLE_DECALS
        #pragma shader_feature_local_raytracing _ _DISABLE_DECALS
        #pragma shader_feature_local_fragment _ _DISABLE_SSR
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR
        #pragma shader_feature_local_fragment _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local_raytracing _ _DISABLE_SSR_TRANSPARENT
        #pragma shader_feature_local _ _REFRACTION_PLANE _REFRACTION_SPHERE _REFRACTION_THIN
            // GraphKeywords: <None>
        
            // For custom interpolators to inject a substruct definition before FragInputs definition,
            // allowing for FragInputs to capture CI's intended for ShaderGraph's SDI.
            /* WARNING: $splice Could not find named fragment 'CustomInterpolatorPreInclude' */
        
        
            // TODO: Merge FragInputsVFX substruct with CustomInterpolators.
        	#ifdef HAVE_VFX_MODIFICATION
        	struct FragInputsVFX
            {
                /* WARNING: $splice Could not find named fragment 'FragInputsVFX' */
            };
            #endif
        
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" // Required by Tessellation.hlsl
        	#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Tessellation.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl"
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl"
            #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" // Required to be include before we include properties as it define DECLARE_STACK_CB
            // Always include Shader Graph version
            // Always include last to avoid double macros
            #include "Packages/com.unity.shadergraph/ShaderGraphLibrary/Functions.hlsl" // Need to be here for Gradient struct definition
        
            // --------------------------------------------------
            // Defines
        
            // Attribute
            #define ATTRIBUTES_NEED_NORMAL
            #define ATTRIBUTES_NEED_TANGENT
            #define ATTRIBUTES_NEED_TEXCOORD0
            #define ATTRIBUTES_NEED_TEXCOORD1
            #define ATTRIBUTES_NEED_TEXCOORD2
            #define ATTRIBUTES_NEED_COLOR
            #define VARYINGS_NEED_POSITION_WS
            #define VARYINGS_NEED_TANGENT_TO_WORLD
            #define VARYINGS_NEED_TEXCOORD0
            #define VARYINGS_NEED_TEXCOORD1
            #define VARYINGS_NEED_TEXCOORD2
            #define VARYINGS_NEED_COLOR
        
        
            //Strip down the FragInputs.hlsl (on graphics), so we can only optimize the interpolators we use.
            //if by accident something requests contents of FragInputs.hlsl, it will be caught as a compiler error
            //Frag inputs stripping is only enabled when FRAG_INPUTS_ENABLE_STRIPPING is set
            #if !defined(SHADER_STAGE_RAY_TRACING) && SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER && SHADERPASS != SHADERPASS_FULL_SCREEN_DEBUG
            #define FRAG_INPUTS_ENABLE_STRIPPING
            #endif
            #define FRAG_INPUTS_USE_TEXCOORD0
            #define FRAG_INPUTS_USE_TEXCOORD1
            #define FRAG_INPUTS_USE_TEXCOORD2
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/FragInputs.hlsl"
        
        
        
            #define SHADERPASS SHADERPASS_PATH_TRACING
        #define SHADOW_LOW
        #define RAYTRACING_SHADER_GRAPH_DEFAULT
        #define HAS_LIGHTLOOP 1
        
        
            // Following two define are a workaround introduce in 10.1.x for RaytracingQualityNode
            // The ShaderGraph don't support correctly migration of this node as it serialize all the node data
            // in the json file making it impossible to uprgrade. Until we get a fix, we do a workaround here
            // to still allow us to rename the field and keyword of this node without breaking existing code.
            #ifdef RAYTRACING_SHADER_GRAPH_DEFAULT
            #define RAYTRACING_SHADER_GRAPH_HIGH
            #endif
        
            #ifdef RAYTRACING_SHADER_GRAPH_RAYTRACED
            #define RAYTRACING_SHADER_GRAPH_LOW
            #endif
            // end
        
            #ifndef SHADER_UNLIT
            // We need isFrontFace when using double sided - it is not required for unlit as in case of unlit double sided only drive the cullmode
            // VARYINGS_NEED_CULLFACE can be define by VaryingsMeshToPS.FaceSign input if a IsFrontFace Node is included in the shader graph.
            #if defined(_DOUBLESIDED_ON) && !defined(VARYINGS_NEED_CULLFACE)
                #define VARYINGS_NEED_CULLFACE
            #endif
            #endif
        
            // Specific Material Define
        #define _AMBIENT_OCCLUSION 1
        #define _SPECULAR_OCCLUSION_FROM_AO 1
        #define _ENERGY_CONSERVING_SPECULAR 1
        
        // If we use subsurface scattering, enable output split lighting (for forward pass)
        #if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
            #define OUTPUT_SPLIT_LIGHTING
        #endif
        
        // This shader support recursive rendering for raytracing
        #define HAVE_RECURSIVE_RENDERING
        
        // In Path Tracing, For all single-sided, refractive materials, we want to force a thin refraction model
        #if (SHADERPASS == SHADERPASS_PATH_TRACING) && !defined(_DOUBLESIDED_ON) && (defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE))
            #undef  _REFRACTION_PLANE
            #undef  _REFRACTION_SPHERE
            #define _REFRACTION_THIN
        #endif
            // Caution: we can use the define SHADER_UNLIT onlit after the above Material include as it is the Unlit template who define it
        
            // To handle SSR on transparent correctly with a possibility to enable/disable it per framesettings
            // we should have a code like this:
            // if !defined(_DISABLE_SSR_TRANSPARENT)
            // pragma multi_compile _ WRITE_NORMAL_BUFFER
            // endif
            // i.e we enable the multicompile only if we can receive SSR or not, and then C# code drive
            // it based on if SSR transparent in frame settings and not (and stripper can strip it).
            // this is currently not possible with our current preprocessor as _DISABLE_SSR_TRANSPARENT is a keyword not a define
            // so instead we used this and chose to pay the extra cost of normal write even if SSR transaprent is disabled.
            // Ideally the shader graph generator should handle it but condition below can't be handle correctly for now.
            #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
            #if !defined(_DISABLE_SSR_TRANSPARENT) && !defined(SHADER_UNLIT)
                #define WRITE_NORMAL_BUFFER
            #endif
            #endif
        
            #ifndef DEBUG_DISPLAY
                // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
                // Don't do it with debug display mode as it is possible there is no depth prepass in this case
                #if !defined(_SURFACE_TYPE_TRANSPARENT)
                    #if SHADERPASS == SHADERPASS_FORWARD
                    #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
                    #elif SHADERPASS == SHADERPASS_GBUFFER
                    #define SHADERPASS_GBUFFER_BYPASS_ALPHA_TEST
                    #endif
                #endif
            #endif
        
            // Define _DEFERRED_CAPABLE_MATERIAL for shader capable to run in deferred pass
            #if defined(SHADER_LIT) && !defined(_SURFACE_TYPE_TRANSPARENT)
                #define _DEFERRED_CAPABLE_MATERIAL
            #endif
        
            // Translate transparent motion vector define
            #if defined(_TRANSPARENT_WRITES_MOTION_VEC) && defined(_SURFACE_TYPE_TRANSPARENT)
                #define _WRITE_TRANSPARENT_MOTION_VECTOR
            #endif
        
            // -- Graph Properties
            CBUFFER_START(UnityPerMaterial)
        float _AlphaCutoff;
        float4 _BaseColor;
        float4 _BaseColorMap_TexelSize;
        float _BaseUsePlanarUV;
        float4 _BaseTilingOffset;
        float4 _BaseNormalMap_TexelSize;
        float _BaseNormalScale;
        float4 _BaseMaskMap_TexelSize;
        float _BaseMetallic;
        float _BaseAORemapMin;
        float _BaseAORemapMax;
        float _BaseSmoothnessRemapMin;
        float _BaseSmoothnessRemapMax;
        float _USEDYNAMICCOVERTSTATICMASKF;
        float4 _CoverMaskA_TexelSize;
        float _CoverMaskPower;
        float _Cover_Amount;
        float _Cover_Amount_Grow_Speed;
        float3 _CoverDirection;
        float _Cover_Max_Angle;
        float _Cover_Min_Height;
        float _Cover_Min_Height_Blending;
        float4 _CoverBaseColor;
        float4 _CoverBaseColorMap_TexelSize;
        float4 _CoverTilingOffset;
        float _CoverTriplanarThreshold;
        float4 _CoverNormalMap_TexelSize;
        float _CoverNormalScale;
        float _CoverNormalBlendHardness;
        float _CoverHardness;
        float _CoverHeightMapMin;
        float _CoverHeightMapMax;
        float _CoverHeightMapOffset;
        float4 _CoverMaskMap_TexelSize;
        float _CoverMetallic;
        float _CoverAORemapMin;
        float _CoverAORemapMax;
        float _CoverSmoothnessRemapMin;
        float _CoverSmoothnessRemapMax;
        float4 _DetailMap_TexelSize;
        float4 _DetailTilingOffset;
        float _DetailAlbedoScale;
        float _DetailNormalScale;
        float _DetailSmoothnessScale;
        float4 _WetColor;
        float _WetSmoothness;
        float4 _EmissionColor;
        float _UseShadowThreshold;
        float4 _DoubleSidedConstants;
        float _BlendMode;
        float _EnableBlendModePreserveSpecularLighting;
        float _RayTracing;
        float _RefractionModel;
        CBUFFER_END
        
        
        // Object and Global properties
        SAMPLER(SamplerState_Linear_Repeat);
        SAMPLER(SamplerState_Linear_Repeat_Aniso8);
        TEXTURE2D(_BaseColorMap);
        SAMPLER(sampler_BaseColorMap);
        TEXTURE2D(_BaseNormalMap);
        SAMPLER(sampler_BaseNormalMap);
        TEXTURE2D(_BaseMaskMap);
        SAMPLER(sampler_BaseMaskMap);
        TEXTURE2D(_CoverMaskA);
        SAMPLER(sampler_CoverMaskA);
        TEXTURE2D(_CoverBaseColorMap);
        SAMPLER(sampler_CoverBaseColorMap);
        TEXTURE2D(_CoverNormalMap);
        SAMPLER(sampler_CoverNormalMap);
        TEXTURE2D(_CoverMaskMap);
        SAMPLER(sampler_CoverMaskMap);
        TEXTURE2D(_DetailMap);
        SAMPLER(sampler_DetailMap);
        
            // -- Property used by ScenePickingPass
            #ifdef SCENEPICKINGPASS
            float4 _SelectionID;
            #endif
        
            // -- Properties used by SceneSelectionPass
            #ifdef SCENESELECTIONPASS
            int _ObjectId;
            int _PassValue;
            #endif
        
            // Includes
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingMacros.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracing.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracingLightLoop.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingIntersection.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Lighting.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoopDef.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitPathTracing.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialUtilities.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingCommon.hlsl"
        #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderGraphFunctions.hlsl"
        	// GraphIncludes: <None>
        
            // --------------------------------------------------
            // Structs and Packing
        
            struct SurfaceDescriptionInputs
        {
             float3 WorldSpaceNormal;
             float3 TangentSpaceNormal;
             float3 WorldSpaceTangent;
             float3 WorldSpaceBiTangent;
             float3 AbsoluteWorldSpacePosition;
             float4 uv0;
             float4 uv2;
             float4 VertexColor;
        };
        
            //Interpolator Packs: <None>
        
            // --------------------------------------------------
            // Graph
        
        
            // Graph Functions
            
        void Unity_Combine_float(float R, float G, float B, float A, out float4 RGBA, out float3 RGB, out float2 RG)
        {
            RGBA = float4(R, G, B, A);
            RGB = float3(R, G, B);
            RG = float2(R, G);
        }
        
        void Unity_Divide_float(float A, float B, out float Out)
        {
            Out = A / B;
        }
        
        void Unity_Multiply_float4_float4(float4 A, float4 B, out float4 Out)
        {
        Out = A * B;
        }
        
        void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_TilingAndOffset_float(float2 UV, float2 Tiling, float2 Offset, out float2 Out)
        {
            Out = UV * Tiling + Offset;
        }
        
        void Unity_Branch_float2(float Predicate, float2 True, float2 False, out float2 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float
        {
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_2EBA7A3B, float Boolean_7ABB9909, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float IN, out float4 XZ_2)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Property_30834f691775a0898a45b1c868520436_Out_0_Boolean = Boolean_7ABB9909;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4 = Vector4_2EBA7A3B;
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[0];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[1];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[2];
        float _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float = _Property_8a66888ec47d0687ab1cb2f8abdc9da8_Out_0_Vector4[3];
        float _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float;
        Unity_Divide_float(1, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_e64179199923c58289b6aa94ea6c9178_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4 = IN.uv0;
        float4 _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4 = IN.uv2;
        float4 _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4;
        Unity_Branch_float4(_Property_f17c7bf877e64b6abdd66b1fe9f5accc_Out_0_Boolean, _UV_029e8e8198564838b9389b902a09fb22_Out_0_Vector4, _UV_7a6209af1506424fb75c81e87e42035a_Out_0_Vector4, _Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4);
        float2 _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_R_1_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_G_2_Float);
        float2 _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2 = float2(_Split_2f0f52f6ef8c0e81af0da6476402bc1f_B_3_Float, _Split_2f0f52f6ef8c0e81af0da6476402bc1f_A_4_Float);
        float2 _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_fc37bb4bf641457cbbc6e290603056ff_Out_3_Vector4.xy), _Vector2_16c15d3bbdd14b85bd48e3a6cb318af7_Out_0_Vector2, _Vector2_f8d75f54e7705083bbec539a60185577_Out_0_Vector2, _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2);
        float2 _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2;
        Unity_Branch_float2(_Property_30834f691775a0898a45b1c868520436_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_d91e2d25acd34686b562b7fe7e9d1d27_Out_3_Vector2, _Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2);
        UnitySamplerState _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_e8746b9475c94530ba35ba8019ad2ae0_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_8e5a4e8f4d52fc8aadd1f46485afc933_Out_3_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        }
        
        void Unity_Multiply_float_float(float A, float B, out float Out)
        {
            Out = A * B;
        }
        
        void Unity_Add_float(float A, float B, out float Out)
        {
            Out = A + B;
        }
        
        void Unity_Saturate_float(float In, out float Out)
        {
            Out = saturate(In);
        }
        
        void Unity_Absolute_float(float In, out float Out)
        {
            Out = abs(In);
        }
        
        void Unity_SquareRoot_float4(float4 In, out float4 Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Sign_float(float In, out float Out)
        {
            Out = sign(In);
        }
        
        void Unity_Ceiling_float(float In, out float Out)
        {
            Out = ceil(In);
        }
        
        void Unity_Lerp_float4(float4 A, float4 B, float4 T, out float4 Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float
        {
        };
        
        void SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(float4 Color_9AA111D3, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float IN, out float3 OutVector4_1)
        {
        float4 _Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4 = Color_9AA111D3;
        float4 _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4;
        Unity_SquareRoot_float4(_Property_012510d774fb7f8b860f5270dca4500f_Out_0_Vector4, _SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4);
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float;
        Unity_Multiply_float_float(_Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float);
        float4 _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4;
        Unity_Lerp_float4(_SquareRoot_c2c57d0223a9538aa9240890c3cacb0c_Out_1_Vector4, (_Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float.xxxx), (_Multiply_9564ecda5193bc8286d9ff771c9226cd_Out_2_Float.xxxx), _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4);
        float4 _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Vector4, _Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4);
        OutVector4_1 = (_Multiply_39d1daff98488f8ea2cd794ad4f20926_Out_2_Vector4.xyz);
        }
        
        void Unity_Divide_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A / B;
        }
        
        void Unity_Sign_float3(float3 In, out float3 Out)
        {
            Out = sign(In);
        }
        
        void Unity_Multiply_float2_float2(float2 A, float2 B, out float2 Out)
        {
        Out = A * B;
        }
        
        void Unity_Absolute_float3(float3 In, out float3 Out)
        {
            Out = abs(In);
        }
        
        void Unity_Power_float3(float3 A, float3 B, out float3 Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Multiply_float3_float3(float3 A, float3 B, out float3 Out)
        {
        Out = A * B;
        }
        
        void Unity_Add_float4(float4 A, float4 B, out float4 Out)
        {
            Out = A + B;
        }
        
        struct Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float
        {
        float3 WorldSpaceNormal;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3);
        float _Split_742547a7039de986a646d04c157ae549_R_1_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[0];
        float _Split_742547a7039de986a646d04c157ae549_G_2_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[1];
        float _Split_742547a7039de986a646d04c157ae549_B_3_Float = _Sign_b826e0ff2d95ec8cb2b2cbbd7ea2eab6_Out_1_Vector3[2];
        float _Split_742547a7039de986a646d04c157ae549_A_4_Float = 0;
        float2 _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_G_2_Float, 1);
        float2 _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_40a8919e571ec18499de72022c155b38_Out_0_Vector2, _Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2);
        UnitySamplerState _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_5fa32af59cdca88389832336b2268bd5_Out_2_Vector2) );
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float4 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float;
        Unity_Multiply_float_float(_Split_742547a7039de986a646d04c157ae549_B_3_Float, -1, _Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float);
        float2 _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2 = float2(_Multiply_014402ded5a3988a8c18ba07636ea5a7_Out_2_Float, 1);
        float2 _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_caa25d55d456a58982bdfc39b1b43f3f_Out_0_Vector2, _Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a67201b6e1a0a28c98cd9d06e8b09543_Out_2_Vector2) );
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float4 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2 = float2(_Split_742547a7039de986a646d04c157ae549_R_1_Float, 1);
        float2 _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_54dfd40df2fc78809955dd272f2cf0c3_Out_0_Vector2, _Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_544c7fa9dfe54e30a0df9d605340a374_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_addbd5fcede95f80bbb806c94e49ef63_Out_2_Vector2) );
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float4 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4;
        Unity_Multiply_float4_float4(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4);
        float4 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4;
        Unity_Add_float4(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector4, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4);
        float4 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4;
        Unity_Add_float4(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector4, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector4, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float4 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        Unity_Divide_float4(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector4, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4);
        XYZ_1 = _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector4;
        XZ_2 = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4;
        YZ_3 = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4;
        XY_4 = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4;
        }
        
        void Unity_Clamp_float(float In, float Min, float Max, out float Out)
        {
            Out = clamp(In, Min, Max);
        }
        
        void Unity_Add_float2(float2 A, float2 B, out float2 Out)
        {
            Out = A + B;
        }
        
        void Unity_DotProduct_float2(float2 A, float2 B, out float Out)
        {
            Out = dot(A, B);
        }
        
        void Unity_OneMinus_float(float In, out float Out)
        {
            Out = 1 - In;
        }
        
        void Unity_SquareRoot_float(float In, out float Out)
        {
            Out = sqrt(In);
        }
        
        void Unity_Normalize_float3(float3 In, out float3 Out)
        {
            Out = normalize(In);
        }
        
        void Unity_Branch_float3(float Predicate, float3 True, float3 False, out float3 Out)
        {
            Out = Predicate ? True : False;
        }
        
        struct Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        half4 uv0;
        half4 uv2;
        };
        
        void SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(UnityTexture2D Texture2D_80A3D28F, float4 Vector4_82674548, float Boolean_9FF42DF6, UnitySamplerState _SamplerState, float Boolean_5ddfe6daabcc4715a44b5f34fc19becb, Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float IN, out float4 XZ_2)
        {
        float _Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean = Boolean_9FF42DF6;
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float4 _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4 = Vector4_82674548;
        float _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[0];
        float _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[1];
        float _Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[2];
        float _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float = _Property_3fa1d6f912feb481ba60f2e55e62e746_Out_0_Vector4[3];
        float _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float;
        Unity_Divide_float(1, _Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float);
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Divide_c36b770dfaa0bb8f85ab27da5fd794f0_Out_2_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float _Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean = Boolean_5ddfe6daabcc4715a44b5f34fc19becb;
        float4 _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4 = IN.uv0;
        float4 _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4 = IN.uv2;
        float4 _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4;
        Unity_Branch_float4(_Property_058f4fba88c3437288219f1929444bf2_Out_0_Boolean, _UV_43d85b3291324c848dfbeec6adac2a71_Out_0_Vector4, _UV_36881dcaab9040168fc5215dcd00f352_Out_0_Vector4, _Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4);
        float2 _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_R_1_Float, _Split_a2e12fa5931da084b2949343a539dfd8_G_2_Float);
        float2 _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2 = float2(_Split_a2e12fa5931da084b2949343a539dfd8_B_3_Float, _Split_a2e12fa5931da084b2949343a539dfd8_A_4_Float);
        float2 _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2;
        Unity_TilingAndOffset_float((_Branch_8054d58a73be4ce1b22d48a84389ae07_Out_3_Vector4.xy), _Vector2_6845d21872714d889783b0cb707df3e9_Out_0_Vector2, _Vector2_e2e2263627c6098e96a5b5d29350ad03_Out_0_Vector2, _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2);
        float2 _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2;
        Unity_Branch_float2(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, (_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _TilingAndOffset_17582d056c0b8a8dab1017d37497fe59_Out_3_Vector2, _Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2);
        UnitySamplerState _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_69f1ed7efd1b494e91f626b88ab2363c_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Branch_1e152f3aac57448f8518bf2852c000c3_Out_3_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float);
        float3 _Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_ab12aea87465a78eaf7fc66c2598d266_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3 = TransformWorldToTangent(_Vector3_433840b555db308b97e9b14b6a957195_Out_0_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_c7914cc45a011c89b3f53c55afb51673_Out_1_Vector3, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3);
        float3 _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3;
        Unity_Branch_float3(_Property_1ef12cf3201a938993fe6a7951b0e754_Out_0_Boolean, _Normalize_09bf8a2bd0a4d38e8b97d5c674f79b44_Out_1_Vector3, (_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.xyz), _Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3);
        XZ_2 = (float4(_Branch_9eadf909a90f2f80880f8c56ecc2a91f_Out_3_Vector3, 1.0));
        }
        
        void Unity_NormalStrength_float(float3 In, float Strength, out float3 Out)
        {
            Out = float3(In.rg * Strength, lerp(1, In.b, saturate(Strength)));
        }
        
        void Unity_NormalBlend_float(float3 A, float3 B, out float3 Out)
        {
            Out = SafeNormalize(float3(A.rg + B.rg, A.b * B.b));
        }
        
        void Unity_Add_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A + B;
        }
        
        void Unity_Divide_float3(float3 A, float3 B, out float3 Out)
        {
            Out = A / B;
        }
        
        struct Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float
        {
        float3 WorldSpaceNormal;
        float3 WorldSpaceTangent;
        float3 WorldSpaceBiTangent;
        float3 AbsoluteWorldSpacePosition;
        };
        
        void SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(UnityTexture2D Texture2D_80A3D28F, float Vector1_41461AC9, float Vector1_E4D1C13A, UnitySamplerState _SamplerState, Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float IN, out float4 XYZ_1, out float4 XZ_2, out float4 YZ_3, out float4 XY_4)
        {
        UnityTexture2D _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D = Texture2D_80A3D28F;
        float _Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
        float _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
        float _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
        float _Split_89ed63cb625cb3878c183d0b71c03400_A_4_Float = 0;
        float4 _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4;
        float3 _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3;
        float2 _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, 0, 0, _Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, _Combine_cf2d04ff119ad88493f6460431765cbb_RGB_5_Vector3, _Combine_cf2d04ff119ad88493f6460431765cbb_RG_6_Vector2);
        float _Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float = Vector1_41461AC9;
        float4 _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_cf2d04ff119ad88493f6460431765cbb_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4);
        float3 _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3;
        Unity_Sign_float3(IN.WorldSpaceNormal, _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3);
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[0];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[1];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float = _Sign_3a6ebf59931cf08cb0482e0144ddac24_Out_1_Vector3[2];
        float _Split_6299d4ddcc4c74828aea40a46fdb896e_A_4_Float = 0;
        float2 _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_G_2_Float, 1);
        float2 _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_14cec4902d0a00829e4555071a1b8ad1_Out_2_Vector4.xy), _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2);
        UnitySamplerState _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState = _SamplerState;
        float4 _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_a87753ad90594382bf3a3a95abbadbc8_Out_2_Vector2) );
        _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4);
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.r;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.g;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.b;
        float _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_A_7_Float = _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_RGBA_0_Vector4.a;
        float2 _Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2 = float2(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_R_4_Float, _SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_G_5_Float);
        float2 _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_ad6bd100e273d78fa409a30a77bfa2cc_Out_0_Vector2, _Vector2_b76cb1842101e58b9e636d49b075c612_Out_0_Vector2, _Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2);
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float = IN.WorldSpaceNormal[0];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float = IN.WorldSpaceNormal[1];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float = IN.WorldSpaceNormal[2];
        float _Split_5ed44bf2eca0868f81eb18100f49d1fa_A_4_Float = 0;
        float2 _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float);
        float2 _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2;
        Unity_Add_float2(_Multiply_31e8db88ee20c985a9850d1a58f3282b_Out_2_Vector2, _Vector2_70e5837843f28b8b9d64cada3697bd5a_Out_0_Vector2, _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2);
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[0];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float = _Add_1145b2f896593d80aa864a34e6702562_Out_2_Vector2[1];
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_B_3_Float = 0;
        float _Split_2bc77ca2d17bd78cb2383770ce50b179_A_4_Float = 0;
        float _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_35ddc0da4b30e48b83ca2d39af2aba2c_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float);
        float3 _Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3 = float3(_Split_2bc77ca2d17bd78cb2383770ce50b179_R_1_Float, _Multiply_e4fe778b81456d819c52bb414cd95968_Out_2_Float, _Split_2bc77ca2d17bd78cb2383770ce50b179_G_2_Float);
        float3 _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3;
        Unity_Absolute_float3(IN.WorldSpaceNormal, _Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3);
        float _Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float = Vector1_E4D1C13A;
        float3 _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3;
        Unity_Power_float3(_Absolute_644b798714827680b39bf5d34f70385f_Out_1_Vector3, (_Property_adc4c59482221c8aad681c6558728ac9_Out_0_Float.xxx), _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3);
        float3 _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Power_ee478822a04529849ae8df1636c29fe2_Out_2_Vector3, _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3);
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[0];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[1];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float = _Multiply_b386a937554d73828e437d126d69608b_Out_2_Vector3[2];
        float _Split_ae83014fcbd9f7879a0b91fa66dc9718_A_4_Float = 0;
        float3 _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float.xxx), _Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3);
        float4 _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4;
        float3 _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3;
        float2 _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_R_1_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, _Combine_192c2c4a69be588b90ca005a32e22552_RGB_5_Vector3, _Combine_192c2c4a69be588b90ca005a32e22552_RG_6_Vector2);
        float4 _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_192c2c4a69be588b90ca005a32e22552_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4);
        float _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float;
        Unity_Multiply_float_float(_Split_6299d4ddcc4c74828aea40a46fdb896e_B_3_Float, -1, _Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float);
        float2 _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2 = float2(_Multiply_de711f4a4614bd89a463b53374cf4036_Out_2_Float, 1);
        float2 _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_138240d0d4846e87b0febabec0d6891b_Out_2_Vector4.xy), _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2);
        float4 _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_2af6058cc6ccb88caefd2799bb5941e8_Out_2_Vector2) );
        _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4);
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.r;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.g;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.b;
        float _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_A_7_Float = _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_RGBA_0_Vector4.a;
        float2 _Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2 = float2(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_R_4_Float, _SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_G_5_Float);
        float2 _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_fe9aedd4528c7486ada4abdca0b0944e_Out_0_Vector2, _Vector2_4ed33f0c73b2698fa6f3c1b77fe76808_Out_0_Vector2, _Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2);
        float2 _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2;
        Unity_Add_float2(_Multiply_02b9b4665ad9918d8721bcaddc82f06f_Out_2_Vector2, _Vector2_a74a85274da15181abb63cc5e8df0de1_Out_0_Vector2, _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2);
        float _Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[0];
        float _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float = _Add_b227c84042055e8faa1a9fdc69529707_Out_2_Vector2[1];
        float _Split_2cfb9eacd8762483941459cdf28bda97_B_3_Float = 0;
        float _Split_2cfb9eacd8762483941459cdf28bda97_A_4_Float = 0;
        float _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_ba083a478bc22280af2e2cc93ffd5027_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3 = float3(_Split_2cfb9eacd8762483941459cdf28bda97_R_1_Float, _Split_2cfb9eacd8762483941459cdf28bda97_G_2_Float, _Multiply_1d65ce08ce672087879125f2e13c4004_Out_2_Float);
        float3 _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float.xxx), _Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3);
        float4 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4;
        float3 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3;
        float2 _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2;
        Unity_Combine_float(_Split_89ed63cb625cb3878c183d0b71c03400_B_3_Float, _Split_89ed63cb625cb3878c183d0b71c03400_G_2_Float, 0, 0, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGB_5_Vector3, _Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RG_6_Vector2);
        float4 _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4;
        Unity_Multiply_float4_float4(_Combine_1e9ffdba42d6918fb7a4b185f1585d2a_RGBA_4_Vector4, (_Property_47988ec10c0c18879d461e00bed806e7_Out_0_Float.xxxx), _Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4);
        float2 _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2 = float2(_Split_6299d4ddcc4c74828aea40a46fdb896e_R_1_Float, 1);
        float2 _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2;
        Unity_Multiply_float2_float2((_Multiply_2c0864423b014f8b8af8523f68cbb63c_Out_2_Vector4.xy), _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2);
        float4 _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.tex, _Property_8a2b8589cd3a42a1879a29c28e4f711f_Out_0_SamplerState.samplerstate, _Property_3e01b4d2fc68d48ba3acbba9d5881e59_Out_0_Texture2D.GetTransformedUV(_Multiply_862402885a49f18cb87278ab53bc6744_Out_2_Vector2) );
        _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.rgb = UnpackNormal(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4);
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.r;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.g;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.b;
        float _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_A_7_Float = _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_RGBA_0_Vector4.a;
        float _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float;
        Unity_Multiply_float_float(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_B_6_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_R_1_Float, _Multiply_4649b768be76d784a3284bacde795359_Out_2_Float);
        float2 _Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2 = float2(_SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_R_4_Float, _SampleTexture2D_30c5fd692044ae87b9c4029fa46973fa_G_5_Float);
        float2 _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2;
        Unity_Multiply_float2_float2(_Vector2_819fcd5eb484438eacad1987576d7d67_Out_0_Vector2, _Vector2_a1e23e0f921b6484818f009a2b12a5ba_Out_0_Vector2, _Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2);
        float2 _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2 = float2(_Split_5ed44bf2eca0868f81eb18100f49d1fa_B_3_Float, _Split_5ed44bf2eca0868f81eb18100f49d1fa_G_2_Float);
        float2 _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2;
        Unity_Add_float2(_Multiply_58530ebb3c6d798b93686a76247bf505_Out_2_Vector2, _Vector2_e293c112b2f49e88a5fe46dfb1fbeb40_Out_0_Vector2, _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2);
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[0];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float = _Add_cf00fb232c6e2b8e973ab2f84453f55e_Out_2_Vector2[1];
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_B_3_Float = 0;
        float _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_A_4_Float = 0;
        float3 _Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3 = float3(_Multiply_4649b768be76d784a3284bacde795359_Out_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_G_2_Float, _Split_3ea3e61d32bdd78f82c686b75ff3fd9b_R_1_Float);
        float3 _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3;
        Unity_Multiply_float3_float3(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, (_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float.xxx), _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3);
        float3 _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3;
        Unity_Add_float3(_Multiply_7bb4009c92b108849ac6ca92bc1442f2_Out_2_Vector3, _Multiply_77818c22e359fc8cbb7dd20216a8db72_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3);
        float3 _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3;
        Unity_Add_float3(_Multiply_2e1040ca9c98d085ace76ee93f094039_Out_2_Vector3, _Add_769d9ee909c9238dbbf72d2800a2f268_Out_2_Vector3, _Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3);
        float _Add_e59af300bba2498db32eac1412123447_Out_2_Float;
        Unity_Add_float(_Split_ae83014fcbd9f7879a0b91fa66dc9718_R_1_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_G_2_Float, _Add_e59af300bba2498db32eac1412123447_Out_2_Float);
        float _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float;
        Unity_Add_float(_Add_e59af300bba2498db32eac1412123447_Out_2_Float, _Split_ae83014fcbd9f7879a0b91fa66dc9718_B_3_Float, _Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float);
        float3 _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3;
        Unity_Divide_float3(_Add_14295f72880e4b87a1baf1ced943ac40_Out_2_Vector3, (_Add_e855069f047fae8ea9027d56acb61e56_Out_2_Float.xxx), _Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3);
        float3 _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3;
        {
        float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
        _Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3 = TransformWorldToTangent(_Divide_91ae4b94f1d9b78e99d0472293b8098c_Out_2_Vector3.xyz, tangentTransform, true);
        }
        float3 _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3;
        Unity_Normalize_float3(_Transform_73eecc0c3689d184a34c8d0f28a58adf_Out_1_Vector3, _Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3);
        XYZ_1 = (float4(_Normalize_15ef346824db0a8797631ed8b998e673_Out_1_Vector3, 1.0));
        XZ_2 = (float4(_Vector3_08f62c5c01619e849f1a7d85a44531ac_Out_0_Vector3, 1.0));
        YZ_3 = (float4(_Vector3_ba6cfb4671e8c58f9b41ea1dc23102ca_Out_0_Vector3, 1.0));
        XY_4 = (float4(_Vector3_13a08d5940172a84a78ee3d9b8766833_Out_0_Vector3, 1.0));
        }
        
        void Unity_Subtract_float(float A, float B, out float Out)
        {
            Out = A - B;
        }
        
        void Unity_Power_float(float A, float B, out float Out)
        {
            Out = pow(A, B);
        }
        
        void Unity_Lerp_float3(float3 A, float3 B, float3 T, out float3 Out)
        {
            Out = lerp(A, B, T);
        }
        
        void Unity_Remap_float(float In, float2 InMinMax, float2 OutMinMax, out float Out)
        {
            Out = OutMinMax.x + (In - InMinMax.x) * (OutMinMax.y - OutMinMax.x) / (InMinMax.y - InMinMax.x);
        }
        
        void Unity_Branch_float(float Predicate, float True, float False, out float Out)
        {
            Out = Predicate ? True : False;
        }
        
        void Unity_Lerp_float(float A, float B, float T, out float Out)
        {
            Out = lerp(A, B, T);
        }
        
        struct Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float
        {
        };
        
        void SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(float Vector1_32317166, float Vector1_FBE622A2, float Vector1_8C15C351, Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float IN, out float SmoothnessOverlay_1)
        {
        float _Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float = Vector1_32317166;
        float _Property_a00e29241d12f983b30177515b367ec9_Out_0_Float = Vector1_FBE622A2;
        float _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float;
        Unity_Sign_float(_Property_a00e29241d12f983b30177515b367ec9_Out_0_Float, _Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float);
        float _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float;
        Unity_Add_float(_Sign_343a45ede7349283a681c6bd9998fd8e_Out_1_Float, 1, _Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float);
        float _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float;
        Unity_Multiply_float_float(_Add_681019b8f5d3d68bb482d419c9fc61a9_Out_2_Float, 0.5, _Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float);
        float _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float;
        Unity_Ceiling_float(_Multiply_e8f4cb722712a880ac0db6c7461427f7_Out_2_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float);
        float _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float = Vector1_8C15C351;
        float _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        Unity_Lerp_float(_Property_728cc50521e9e988ac9cbff4872d5139_Out_0_Float, _Ceiling_95ad15988aa9b98184875fa754feae01_Out_1_Float, _Property_2db1c747a05ee284a8b00076062f91a4_Out_0_Float, _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float);
        SmoothnessOverlay_1 = _Lerp_b3cdb01fc3c5b988ac9b184943bf7c01_Out_3_Float;
        }
        
            // Graph Vertex
            // GraphVertex: <None>
        
            // Graph Pixel
            struct SurfaceDescription
        {
            float3 BaseColor;
            float3 Emission;
            float Alpha;
            float AlphaClipThreshold;
            float3 BentNormal;
            float Smoothness;
            float Occlusion;
            float3 NormalTS;
            float Metallic;
        };
        
        SurfaceDescription SurfaceDescriptionFunction(SurfaceDescriptionInputs IN)
        {
            SurfaceDescription surface = (SurfaceDescription)0;
            UnityTexture2D _Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseColorMap);
            float4 _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4 = _BaseTilingOffset;
            float _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean = _BaseUsePlanarUV;
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_41db1f1f529b6f8e9c51558bacdba727;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv0 = IN.uv0;
            _PlanarNM_41db1f1f529b6f8e9c51558bacdba727.uv2 = IN.uv2;
            float4 _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_821e07b38fd0a08d85c4dd6e5b6bbac9_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727, _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4);
            float4 _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4 = _BaseColor;
            float4 _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4;
            Unity_Multiply_float4_float4(_PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4, _Property_41859d117584758eb8002ecc938f9bce_Out_0_Vector4, _Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4);
            UnityTexture2D _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_DetailMap);
            float4 _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4 = _DetailTilingOffset;
            float _Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[0];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[1];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[2];
            float _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float = _Property_256e5676e1089881ae3214634430b140_Out_0_Vector4[3];
            float2 _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_R_1_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_G_2_Float);
            float2 _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2 = float2(_Split_257d0b6ea953418d97fd7daa8128bf35_B_3_Float, _Split_257d0b6ea953418d97fd7daa8128bf35_A_4_Float);
            float2 _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2;
            Unity_TilingAndOffset_float(IN.uv0.xy, _Vector2_98295494172421878c7a16cb2baddf9a_Out_0_Vector2, _Vector2_130e8faa59837a81a7506636fcb30b8a_Out_0_Vector2, _TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2);
            float4 _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.tex, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.samplerstate, _Property_50403cc6b1e3998a82afc21c6a6332ae_Out_0_Texture2D.GetTransformedUV(_TilingAndOffset_1dfb2b4859ec3680ad3a74cf8f1bc17b_Out_3_Vector2) );
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.r;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.g;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.b;
            float _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float = _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_RGBA_0_Vector4.a;
            float _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_R_4_Float, 2, _Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float);
            float _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float;
            Unity_Add_float(_Multiply_52f8b5b58fa8038aa7f5e6bd44a5987b_Out_2_Float, -1, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float);
            float _Property_605f29777330a58ba88ac032e905433b_Out_0_Float = _DetailAlbedoScale;
            float _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float;
            Unity_Multiply_float_float(_Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Property_605f29777330a58ba88ac032e905433b_Out_0_Float, _Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float);
            float _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float;
            Unity_Saturate_float(_Multiply_e2f43f3d32aa118aa7a6ae4764d42b26_Out_2_Float, _Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float);
            float _Absolute_8acef423205118879e75274a48969d34_Out_1_Float;
            Unity_Absolute_float(_Saturate_7c8334fd3d10d0819f8e616286670f68_Out_1_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float);
            Bindings_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185;
            float3 _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3;
            SG_BlendOverlayBaseColor_acdb3dfca72bd6b42bbc35f4613331a2_float(_Multiply_4d0f82599060228a9092027fd43912c8_Out_2_Vector4, _Add_fd3efcae64779e848ef39919335cd44d_Out_2_Float, _Absolute_8acef423205118879e75274a48969d34_Out_1_Float, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185, _BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3);
            UnityTexture2D _Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverBaseColorMap);
            float4 _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4 = _CoverTilingOffset;
            float4 _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4;
            Unity_Divide_float4(float4(1, 1, 0, 0), _Property_256beda96caf2d8aa05d3de41fc08d3d_Out_0_Vector4, _Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4);
            float _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float = _CoverTriplanarThreshold;
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4;
            float4 _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_a155ddc33ed90685a5ab0edcf158a343_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XZ_2_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_YZ_3_Vector4, _TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XY_4_Vector4);
            float4 _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4 = _CoverBaseColor;
            float4 _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4;
            Unity_Multiply_float4_float4(_TriplanarNM_e4f98034dd28018286e29e3d0cb56bda_XYZ_1_Vector4, _Property_c3be5593fd661b8dafbd04f26b8ec9ac_Out_0_Vector4, _Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4);
            float _Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean = _USEDYNAMICCOVERTSTATICMASKF;
            UnityTexture2D _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskA);
            float4 _UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4 = IN.uv0;
            float4 _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4 = SAMPLE_TEXTURE2D(_Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.tex, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.samplerstate, _Property_7bea2d9dd5651a8bbbd61ecde71faa54_Out_0_Texture2D.GetTransformedUV((_UV_429c95affe88aa8694076115c99a0769_Out_0_Vector4.xy)) );
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_R_4_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.r;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_G_5_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.g;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_B_6_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.b;
            float _SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float = _SampleTexture2D_2723da80b8a2528381ef199c0415beae_RGBA_0_Vector4.a;
            float _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float = _CoverMaskPower;
            float _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_2723da80b8a2528381ef199c0415beae_A_7_Float, _Property_4598a5959afa5685b13cb10bef3e3b8d_Out_0_Float, _Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float);
            float _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float;
            Unity_Clamp_float(_Multiply_5448c38b13b40c89bd8699ceebd8a170_Out_2_Float, 0, 1, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float);
            float3 _Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3 = _CoverDirection;
            float2 _Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2 = float2(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_A_7_Float, _SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_G_5_Float);
            float2 _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Vector2_0d28074858599a88940dfc8b57b9a60f_Out_0_Vector2, float2(2, 2), _Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2);
            float2 _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2;
            Unity_Add_float2(_Multiply_fac8d94f82a53486bc0142a1e64b3d32_Out_2_Vector2, float2(-1, -1), _Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2);
            float _Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float = _DetailNormalScale;
            float2 _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2;
            Unity_Multiply_float2_float2(_Add_f0e6e847d8d8798ab3ca8c4d878bafc0_Out_2_Vector2, (_Property_d0e8d8f7fd10f0829e8fd86c278c8226_Out_0_Float.xx), _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2);
            float _Split_c4822b8eaff9b185be7c059792345712_R_1_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[0];
            float _Split_c4822b8eaff9b185be7c059792345712_G_2_Float = _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2[1];
            float _Split_c4822b8eaff9b185be7c059792345712_B_3_Float = 0;
            float _Split_c4822b8eaff9b185be7c059792345712_A_4_Float = 0;
            float _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float;
            Unity_DotProduct_float2(_Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _Multiply_11f3dfc5283ea188ad9c83e552cf7e0f_Out_2_Vector2, _DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float);
            float _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float;
            Unity_Saturate_float(_DotProduct_1a01939a143c548c8ccd7e8a04fe680d_Out_2_Float, _Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float);
            float _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float;
            Unity_OneMinus_float(_Saturate_bf3d57899db77f86a1689105ce6a373a_Out_1_Float, _OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float);
            float _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float;
            Unity_SquareRoot_float(_OneMinus_052960238cc4a18cb83109d2bcae6d09_Out_1_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            float3 _Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3 = float3(_Split_c4822b8eaff9b185be7c059792345712_R_1_Float, _Split_c4822b8eaff9b185be7c059792345712_G_2_Float, _SquareRoot_d4f67288e4dbf5898bea492a70b89ab9_Out_1_Float);
            UnityTexture2D _Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseNormalMap);
            Bindings_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float _PlanarNMn_e976eded9c94228090999d383a1bd95b;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceNormal = IN.WorldSpaceNormal;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceTangent = IN.WorldSpaceTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv0 = IN.uv0;
            _PlanarNMn_e976eded9c94228090999d383a1bd95b.uv2 = IN.uv2;
            float4 _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4;
            SG_PlanarNMn_1b93a87456f9d4c419321d0cd92bd6c8_float(_Property_147b07430832c98eb0a470557ee61c5e_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNMn_e976eded9c94228090999d383a1bd95b, _PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4);
            float _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float = _BaseNormalScale;
            float3 _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3;
            Unity_NormalStrength_float((_PlanarNMn_e976eded9c94228090999d383a1bd95b_XZ_2_Vector4.xyz), _Property_72e436a108ad64868e46d548c585c5f3_Out_0_Float, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3);
            float3 _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3;
            Unity_NormalBlend_float(_Vector3_1e56146bdd567884bb8d5ae769df4d29_Out_0_Vector3, _NormalStrength_366affc5c8b42482a633d201ef52b9d6_Out_2_Vector3, _NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3);
            UnityTexture2D _Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverNormalMap);
            Bindings_TriplanarNMn_059da9746584140498cd018db3c76047_float _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceTangent = IN.WorldSpaceTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.WorldSpaceBiTangent = IN.WorldSpaceBiTangent;
            _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4;
            float4 _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4;
            SG_TriplanarNMn_059da9746584140498cd018db3c76047_float(_Property_d7e9139e0ac6718b89c610009c28a25a_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XZ_2_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_YZ_3_Vector4, _TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XY_4_Vector4);
            float _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float = _CoverNormalBlendHardness;
            float3 _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_2c8da1907144858c9ca6a3383afb6b8e_Out_0_Float, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3);
            float3 _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, IN.WorldSpaceNormal, _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3);
            float _Split_64630334a9c0058a848439df6d5afe71_R_1_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[0];
            float _Split_64630334a9c0058a848439df6d5afe71_G_2_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[1];
            float _Split_64630334a9c0058a848439df6d5afe71_B_3_Float = _Multiply_b3757ddd9ecbec8392109453effd18f1_Out_2_Vector3[2];
            float _Split_64630334a9c0058a848439df6d5afe71_A_4_Float = 0;
            float _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float;
            Unity_Add_float(_Split_64630334a9c0058a848439df6d5afe71_R_1_Float, _Split_64630334a9c0058a848439df6d5afe71_G_2_Float, _Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float);
            float _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float;
            Unity_Add_float(_Add_e2660cb18013a482b3e990fe23f40b9b_Out_2_Float, _Split_64630334a9c0058a848439df6d5afe71_B_3_Float, _Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float);
            float _Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float = _Cover_Amount;
            float _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float = _Cover_Amount_Grow_Speed;
            float _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float;
            Unity_Subtract_float(4, _Property_7749c0d5b28c14869ab3ba35d226788b_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float);
            float _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float;
            Unity_Divide_float(_Property_28052b023ac35c8e9a95b30327681cc5_Out_0_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float);
            float _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float;
            Unity_Absolute_float(_Divide_c77b003bf1ce13828c94a705676e2b30_Out_2_Float, _Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float);
            float _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float;
            Unity_Power_float(_Absolute_9c91e35f3b5b348c80ec526cba909344_Out_1_Float, _Subtract_e5dc2afce7ff588fa1d4c91f78de7575_Out_2_Float, _Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float);
            float _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float;
            Unity_Clamp_float(_Power_a9431dbce44a528f9ee7095adfa10556_Out_2_Float, 0, 2, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float);
            float _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float;
            Unity_Multiply_float_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float);
            float _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float;
            Unity_Saturate_float(_Multiply_143da4886728ff868f10e9cfa6940ea0_Out_2_Float, _Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float);
            float _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float;
            Unity_Clamp_float(_Add_f6bcadb6b211a08b9ed188f70c8678de_Out_2_Float, 0, 0.9999, _Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float);
            float _Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float = _Cover_Max_Angle;
            float _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float;
            Unity_Divide_float(_Property_58f42b34c7f0728f8c98e00a3e3a5726_Out_0_Float, 45, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float);
            float _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float;
            Unity_OneMinus_float(_Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float);
            float _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float;
            Unity_Subtract_float(_Clamp_9c0a88ffc7be288cbe97d3e13a014fe8_Out_3_Float, _OneMinus_8e6f5b1570dc8c8b8afb036328281675_Out_1_Float, _Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float);
            float _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float;
            Unity_Clamp_float(_Subtract_5348fb3702fea78d9ee10dbf81ede29c_Out_2_Float, 0, 2, _Clamp_2b888688983edd82ac250226d9378893_Out_3_Float);
            float _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float;
            Unity_Divide_float(1, _Divide_b785767ecc1928889893fa60eac4e5fb_Out_2_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float);
            float _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_2b888688983edd82ac250226d9378893_Out_3_Float, _Divide_5615f16c20214d888a2e727ff7c5f5ff_Out_2_Float, _Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float);
            float _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float;
            Unity_Absolute_float(_Multiply_89aeffc0ad067981a18e6a77948b2b49_Out_2_Float, _Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float);
            float _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float = _CoverHardness;
            float _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float;
            Unity_Power_float(_Absolute_9466a57476da1f8d979d9eff074b402c_Out_1_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float);
            float _Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float = _Cover_Min_Height;
            float _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float;
            Unity_OneMinus_float(_Property_b66201e787ab7b83a55abc6ddd3fe1fd_Out_0_Float, _OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float);
            float _Split_ae16de7cacf9d0878aba1467f193d681_R_1_Float = IN.AbsoluteWorldSpacePosition[0];
            float _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float = IN.AbsoluteWorldSpacePosition[1];
            float _Split_ae16de7cacf9d0878aba1467f193d681_B_3_Float = IN.AbsoluteWorldSpacePosition[2];
            float _Split_ae16de7cacf9d0878aba1467f193d681_A_4_Float = 0;
            float _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float;
            Unity_Add_float(_OneMinus_87c740d245de388db4fe5f4958de0668_Out_1_Float, _Split_ae16de7cacf9d0878aba1467f193d681_G_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float);
            float _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, 1, _Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float);
            float _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float;
            Unity_Clamp_float(_Add_448f30a2cd792b868416a253a1c502bb_Out_2_Float, 0, 1, _Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float);
            float _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float = _Cover_Min_Height_Blending;
            float _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float;
            Unity_Add_float(_Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Property_98b8c0fc7e8f9b88b8d7d9dd28ed8aca_Out_0_Float, _Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float);
            float _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float;
            Unity_Divide_float(_Add_0edbe9f424de6d8089b453804bc6ec74_Out_2_Float, _Add_9d6e1dd03919c88bb01e77a9a2b6b59c_Out_2_Float, _Divide_bacd243000beaa86b28174bd47716791_Out_2_Float);
            float _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float;
            Unity_OneMinus_float(_Divide_bacd243000beaa86b28174bd47716791_Out_2_Float, _OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float);
            float _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float;
            Unity_Add_float(_OneMinus_dd51a0c56dbb9b8b8882c6d36bfadd50_Out_1_Float, -0.5, _Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float);
            float _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float;
            Unity_Clamp_float(_Add_58dd4a9dfd5655818255c74dd17921da_Out_2_Float, 0, 1, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float);
            float _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float;
            Unity_Add_float(_Clamp_53d91568d0627d8a9cac8deecdd003a8_Out_3_Float, _Clamp_5b36f07b81ef6f87a93aefa8fcb815b4_Out_3_Float, _Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float);
            float _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float;
            Unity_Clamp_float(_Add_5ef49a57de2cdf85b0e894bfa07f6f14_Out_2_Float, 0, 1, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float);
            float _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float;
            Unity_Multiply_float_float(_Power_ca1f1906c90fb785bfe520b7faefc3cd_Out_2_Float, _Clamp_130844801cc2148bb64804d2328686eb_Out_3_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float);
            float _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float;
            Unity_Multiply_float_float(_Saturate_04686ab19029f68c8fb9e7a115b207b1_Out_1_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float);
            float3 _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_4e4b24f1f4d68189a8f19be814961934_Out_2_Vector3, (_Multiply_edc44afd10069b8e80460ceee1cba8f0_Out_2_Float.xxx), _Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3);
            float3 _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3;
            {
                float3x3 tangentTransform = float3x3(IN.WorldSpaceTangent, IN.WorldSpaceBiTangent, IN.WorldSpaceNormal);
                _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3 = TransformTangentToWorldDir(_Lerp_05179f1a9a06b084b2d83e8bce908cce_Out_3_Vector3.xyz, tangentTransform, false).xyz;
            }
            float3 _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3;
            Unity_Multiply_float3_float3(_Property_5c3c7930325df28d96e2e3b9d266d628_Out_0_Vector3, _Transform_cb64bbc81c27b888b230dc655585c657_Out_1_Vector3, _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3);
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[0];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[1];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float = _Multiply_84ed0b16af908f8f8ed8626dd77310b5_Out_2_Vector3[2];
            float _Split_d8cdaa8906125881a7d5fffe838ff68f_A_4_Float = 0;
            float _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float;
            Unity_Add_float(_Split_d8cdaa8906125881a7d5fffe838ff68f_R_1_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_G_2_Float, _Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float);
            float _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float;
            Unity_Add_float(_Add_54c489ac0895f5829a0e6672b3c46a8b_Out_2_Float, _Split_d8cdaa8906125881a7d5fffe838ff68f_B_3_Float, _Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float);
            float _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float;
            Unity_Multiply_float_float(_Add_63c15121f2151e8ba2009c73e509fe1e_Out_2_Float, _Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float);
            float _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_815ffdd53cc1c889aa00f73784cb71e7_Out_3_Float, _Property_4879e96694aee98c9d4ecd329a571123_Out_0_Float, _Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float);
            float _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_1e7ca8eeb2afb68a96897072c537d835_Out_2_Float, _Multiply_4a38c41b77a2458085ff4ae52ba3c21c_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float);
            float _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_61fc6a92f0e952858b5d99f2caeb09a3_Out_2_Float, _Multiply_a16d49a3ef8d76899c86b7d84d20ef1f_Out_2_Float, _Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float);
            UnityTexture2D _Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_CoverMaskMap);
            Bindings_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float _TriplanarNM_f8c96485552c638b8d38f34567da0e97;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.WorldSpaceNormal = IN.WorldSpaceNormal;
            _TriplanarNM_f8c96485552c638b8d38f34567da0e97.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4;
            float4 _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4;
            SG_TriplanarNM_bc609ed95f52591469ab35dbfe0efcea_float(_Property_3702de305e11e085a40d7731b582d541_Out_0_Texture2D, (_Divide_76439058ecc3028289580125a072dfb1_Out_2_Vector4).x, _Property_3b585fd7816cd88eb3c5b7bb7ba13a20_Out_0_Float, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), _TriplanarNM_f8c96485552c638b8d38f34567da0e97, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XZ_2_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_YZ_3_Vector4, _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XY_4_Vector4);
            float _Split_c94fbcea53b2b18aab20200f50444119_R_1_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[0];
            float _Split_c94fbcea53b2b18aab20200f50444119_G_2_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[1];
            float _Split_c94fbcea53b2b18aab20200f50444119_B_3_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[2];
            float _Split_c94fbcea53b2b18aab20200f50444119_A_4_Float = _TriplanarNM_f8c96485552c638b8d38f34567da0e97_XYZ_1_Vector4[3];
            float _Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float = _CoverHeightMapMin;
            float _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float = _CoverHeightMapMax;
            float2 _Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2 = float2(_Property_05f6c39f3348488387173b7da95f6b2c_Out_0_Float, _Property_033dbb75c2297c89a66de2d043f3867a_Out_0_Float);
            float _Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float = _CoverHeightMapOffset;
            float2 _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2;
            Unity_Add_float2(_Vector2_8d4328e66207da8c8005479965b914ce_Out_0_Vector2, (_Property_b36d04993dc9ee808f1ef3005c3b5f9d_Out_0_Float.xx), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2);
            float _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_B_3_Float, float2 (0, 1), _Add_7a1b2f2d28af75899cf9d0f035f6d11d_Out_2_Vector2, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float);
            float _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_dd6ce40548593687a3441a83047275eb_Out_2_Float, _Remap_752ddffc20079d8fa90a6ef6d5857236_Out_3_Float, _Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float);
            float _Split_8259ed9a9318f9848f486475aa132211_R_1_Float = IN.VertexColor[0];
            float _Split_8259ed9a9318f9848f486475aa132211_G_2_Float = IN.VertexColor[1];
            float _Split_8259ed9a9318f9848f486475aa132211_B_3_Float = IN.VertexColor[2];
            float _Split_8259ed9a9318f9848f486475aa132211_A_4_Float = IN.VertexColor[3];
            float _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float;
            Unity_Multiply_float_float(_Multiply_435f6b8a2f35bc809d29f45620bebb21_Out_2_Float, _Split_8259ed9a9318f9848f486475aa132211_G_2_Float, _Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float);
            float _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float;
            Unity_Saturate_float(_Multiply_a3183706c6e358879bd419b0007999fd_Out_2_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float);
            float _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float;
            Unity_Multiply_float_float(_Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Saturate_269cfab86e2abe83819a3afa7b3eeda2_Out_1_Float, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float);
            float _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float;
            Unity_Branch_float(_Property_9d0e486e8149638481f0c9f698f42507_Out_0_Boolean, _Multiply_c1b6707e1b5d0482a9a356293cec8e5e_Out_2_Float, _Clamp_1e6fa04cc341fd81a68153ee61690d70_Out_3_Float, _Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float);
            float3 _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3;
            Unity_Lerp_float3(_BlendOverlayBaseColor_66b5af480b0a3288ba91497f7c750185_OutVector4_1_Vector3, (_Multiply_b08794693505bd8e8c04b9ba1610d394_Out_2_Vector4.xyz), (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3);
            float4 _Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4 = _WetColor;
            float3 _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3;
            Unity_Multiply_float3_float3((_Property_03a641ab7df3268692b76743c67b5611_Out_0_Vector4.xyz), _Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3);
            float _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float;
            Unity_OneMinus_float(_Split_8259ed9a9318f9848f486475aa132211_R_1_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float);
            float3 _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            Unity_Lerp_float3(_Lerp_562b79f1df34b88e9a8a7431d434b435_Out_3_Vector3, _Multiply_442d9446ddea3684bd5385cc36ba385c_Out_2_Vector3, (_OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float.xxx), _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3);
            float _Split_d9627fc463ca248fa5ce803295175e7f_R_1_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[0];
            float _Split_d9627fc463ca248fa5ce803295175e7f_G_2_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[1];
            float _Split_d9627fc463ca248fa5ce803295175e7f_B_3_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[2];
            float _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float = _PlanarNM_41db1f1f529b6f8e9c51558bacdba727_XZ_2_Vector4[3];
            float _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float = _AlphaCutoff;
            UnityTexture2D _Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D = UnityBuildTexture2DStructNoScale(_BaseMaskMap);
            Bindings_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float _PlanarNM_9d0bc4ed86df988595f613acb6a8509f;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.AbsoluteWorldSpacePosition = IN.AbsoluteWorldSpacePosition;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv0 = IN.uv0;
            _PlanarNM_9d0bc4ed86df988595f613acb6a8509f.uv2 = IN.uv2;
            float4 _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4;
            SG_PlanarNM_c0f081da9c567704ea36e7dd38cedcf6_float(_Property_bb9b47702e64ec8c8d8ad011fd521576_Out_0_Texture2D, _Property_8ec0d512145619859d288abab740e3bf_Out_0_Vector4, _Property_939713ac488af980be4a2a6146abed8a_Out_0_Boolean, UnityBuildSamplerStateStruct(SamplerState_Linear_Repeat_Aniso8), 1, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f, _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4);
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[0];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[1];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_B_3_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[2];
            float _Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float = _PlanarNM_9d0bc4ed86df988595f613acb6a8509f_XZ_2_Vector4[3];
            float _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float = _BaseMetallic;
            float _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float;
            Unity_Multiply_float_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_R_1_Float, _Property_bbb7f63dc018f9828732f80495a95444_Out_0_Float, _Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float);
            float _Property_8142f12b781ad08680220297dab56f14_Out_0_Float = _BaseAORemapMin;
            float _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float = _BaseAORemapMax;
            float2 _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2 = float2(_Property_8142f12b781ad08680220297dab56f14_Out_0_Float, _Property_48e1c5285b48c78e8af19e38f4bd77f9_Out_0_Float);
            float _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_G_2_Float, float2 (0, 1), _Vector2_344526038e228b85ad9c2d33f000c5ea_Out_0_Vector2, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float);
            float _Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float = _BaseSmoothnessRemapMin;
            float _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float = _BaseSmoothnessRemapMax;
            float2 _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2 = float2(_Property_0682b9e13137ec8f8de23962e6db211c_Out_0_Float, _Property_0edea7916ed7a189a62b0faf2c274601_Out_0_Float);
            float _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float;
            Unity_Remap_float(_Split_efd4d517cef0bc80a3e907bca5c4608f_A_4_Float, float2 (0, 1), _Vector2_8d45bee64b64f087b44fb9b02317dfdd_Out_0_Vector2, _Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float);
            float _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float;
            Unity_Multiply_float_float(_SampleTexture2D_d8eb0186b9a0cd819cde65431b4ea5ea_B_6_Float, 2, _Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float);
            float _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float;
            Unity_Add_float(_Multiply_0248fa77a8136c81b6e9a6bbf4b8ae44_Out_2_Float, -1, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float);
            float _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float = _DetailSmoothnessScale;
            float _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float;
            Unity_Multiply_float_float(_Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Property_cea4e47b293a988a83643b43f76c92ba_Out_0_Float, _Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float);
            float _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float;
            Unity_Saturate_float(_Multiply_2008466558f0e4819e60b3c41d94487c_Out_2_Float, _Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float);
            float _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float;
            Unity_Absolute_float(_Saturate_3d70f31d57bf638291bde1017f7f7782_Out_1_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float);
            Bindings_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43;
            float _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float;
            SG_BlendOverlayDetailSmoothness_06e12138dc89c0040b45a57abe520a1a_float(_Remap_857d26677c8e8a809704b89dbca71045_Out_3_Float, _Add_c58fd9db8613298bb7c10a8054cbe39a_Out_2_Float, _Absolute_9df346239512598fa5a33dfdc91746c0_Out_1_Float, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43, _BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float);
            float _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float;
            Unity_Saturate_float(_BlendOverlayDetailSmoothness_bf930d30c7c40486b65597615e35de43_SmoothnessOverlay_1_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float3 _Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3 = float3(_Multiply_ee089bb3595c0c8da7ca2ff054def6d5_Out_2_Float, _Remap_f4684fae31257d82aa14c39233760e21_Out_3_Float, _Saturate_52f6692b8656668b837aebcf2f45f921_Out_1_Float);
            float _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float = _CoverMetallic;
            float _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float;
            Unity_Multiply_float_float(_Split_c94fbcea53b2b18aab20200f50444119_R_1_Float, _Property_0187ddd5583a3d86a3c4c2444b45e777_Out_0_Float, _Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float);
            float _Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float = _CoverAORemapMin;
            float _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float = _CoverAORemapMax;
            float2 _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2 = float2(_Property_5cc07bc49e1bf582b5c1b52606eec56f_Out_0_Float, _Property_506cf024c6db098fbc150277952a7bee_Out_0_Float);
            float _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_G_2_Float, float2 (0, 1), _Vector2_ffa116a725445282a83acc70377ff4e1_Out_0_Vector2, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float);
            float _Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float = _CoverSmoothnessRemapMin;
            float _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float = _CoverSmoothnessRemapMax;
            float2 _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2 = float2(_Property_36782180ac25b489baf611efb6d0d9ed_Out_0_Float, _Property_6c0666df4add418b8e32b0e4275b1c27_Out_0_Float);
            float _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float;
            Unity_Remap_float(_Split_c94fbcea53b2b18aab20200f50444119_A_4_Float, float2 (0, 1), _Vector2_b0c047c56338e78abcd740717a8d6900_Out_0_Vector2, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3 = float3(_Multiply_0248a4a17e4abe868ff7c5ec2a5c8d2f_Out_2_Float, _Remap_02e4c7480ddeca88aa886be18ce15353_Out_3_Float, _Remap_1f96cc6fc648098f8cb49680f75d5a1e_Out_3_Float);
            float3 _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3;
            Unity_Lerp_float3(_Vector3_1f83d62db7392b81beeecb62c44f56c5_Out_0_Vector3, _Vector3_48cf085b9f7fd28e89fe4361decf0fec_Out_0_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3);
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[0];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[1];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float = _Lerp_48cc6a544b837c85a967cc83aab4e3fb_Out_3_Vector3[2];
            float _Split_645358fc1f0e278fbfc2ccb5594c95e3_A_4_Float = 0;
            float _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float = _WetSmoothness;
            float _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            Unity_Lerp_float(_Split_645358fc1f0e278fbfc2ccb5594c95e3_B_3_Float, _Property_a4275a47f1dc4b8d9782e58a0c88a5da_Out_0_Float, _OneMinus_239226aa69ec548590309e93c8264613_Out_1_Float, _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float);
            float _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float = _CoverNormalScale;
            float3 _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3;
            Unity_NormalStrength_float((_TriplanarNMn_96dff5d4e6be2881a83bce008e810a22_XYZ_1_Vector4.xyz), _Property_16c4ac023c82618b9a5117de14716c25_Out_0_Float, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3);
            float3 _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            Unity_Lerp_float3(_NormalBlend_cd2bd18e9271c48baca9ab4b046529b9_Out_2_Vector3, _NormalStrength_dfbd93dbc99d5780a6162fb9799b0608_Out_2_Vector3, (_Branch_2b2098d6a073b680b51a22cf2d5ebc37_Out_3_Float.xxx), _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3);
            surface.BaseColor = _Lerp_0bc9b9a08a130c8391f727c729576fcf_Out_3_Vector3;
            surface.Emission = float3(0, 0, 0);
            surface.Alpha = _Split_d9627fc463ca248fa5ce803295175e7f_A_4_Float;
            surface.AlphaClipThreshold = _Property_b0d0f13e6edbe48f95ce888ff4d4b65d_Out_0_Float;
            surface.BentNormal = IN.TangentSpaceNormal;
            surface.Smoothness = _Lerp_a7ea372525ab9187a6eb457ec09f0df3_Out_3_Float;
            surface.Occlusion = _Split_645358fc1f0e278fbfc2ccb5594c95e3_G_2_Float;
            surface.NormalTS = _Lerp_337d63ad6393ae88af4c89b066722a45_Out_3_Vector3;
            surface.Metallic = _Split_645358fc1f0e278fbfc2ccb5594c95e3_R_1_Float;
            return surface;
        }
        
            // --------------------------------------------------
            // Build Graph Inputs
            #ifdef HAVE_VFX_MODIFICATION
            #define VFX_SRP_ATTRIBUTES AttributesMesh
            #define VaryingsMeshType VaryingsMeshToPS
            #define VFX_SRP_VARYINGS VaryingsMeshType
            #define VFX_SRP_SURFACE_INPUTS FragInputs
            #endif
            SurfaceDescriptionInputs FragInputsToSurfaceDescriptionInputs(FragInputs input, float3 viewWS)
        {
            SurfaceDescriptionInputs output;
            ZERO_INITIALIZE(SurfaceDescriptionInputs, output);
        
            output.WorldSpaceNormal =                           normalize(input.tangentToWorld[2].xyz);
            #if defined(SHADER_STAGE_RAY_TRACING)
            #else
            #endif
            output.TangentSpaceNormal =                         float3(0.0f, 0.0f, 1.0f);
            output.WorldSpaceTangent =                          input.tangentToWorld[0].xyz;
            output.WorldSpaceBiTangent =                        input.tangentToWorld[1].xyz;
            output.AbsoluteWorldSpacePosition =                 GetAbsolutePositionWS(input.positionRWS);
        
        #if UNITY_UV_STARTS_AT_TOP
        #else
        #endif
        
        
            output.uv0 =                                        input.texCoord0;
            output.uv2 =                                        input.texCoord2;
            output.VertexColor =                                input.color;
        
            // splice point to copy frag inputs custom interpolator pack into the SDI
            /* WARNING: $splice Could not find named fragment 'CustomInterpolatorCopyToSDI' */
        
            return output;
        }
        
            // --------------------------------------------------
            // Build Surface Data (Specific Material)
        
        void ApplyDecalToSurfaceDataNoNormal(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData);
        
        void ApplyDecalAndGetNormal(FragInputs fragInputs, PositionInputs posInput, SurfaceDescription surfaceDescription,
            inout SurfaceData surfaceData)
        {
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
        #ifdef DECAL_NORMAL_BLENDING
            // SG nodes don't ouptut surface gradients, so if decals require surf grad blending, we have to convert
            // the normal to gradient before applying the decal. We then have to resolve the gradient back to world space
            float3 normalTS;
        
            normalTS = SurfaceGradientFromTangentSpaceNormalAndFromTBN(surfaceDescription.NormalTS,
            fragInputs.tangentToWorld[0], fragInputs.tangentToWorld[1]);
        
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, fragInputs.tangentToWorld[2], normalTS);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        
            GetNormalWS_SG(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants);
        #else
            // normal delivered to master node
            GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants);
        
            #if HAVE_DECALS
            if (_EnableDecals)
            {
                float alpha = 1.0;
                alpha = surfaceDescription.Alpha;
        
                // Both uses and modifies 'surfaceData.normalWS'.
                DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha);
                ApplyDecalToSurfaceNormal(decalSurfaceData, surfaceData.normalWS.xyz);
                ApplyDecalToSurfaceDataNoNormal(decalSurfaceData, surfaceData);
            }
            #endif
        #endif
        }
        void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
        {
            ZERO_INITIALIZE(SurfaceData, surfaceData);
        
            // specularOcclusion need to be init ahead of decal to quiet the compiler that modify the SurfaceData struct
            // however specularOcclusion can come from the graph, so need to be init here so it can be override.
            surfaceData.specularOcclusion = 1.0;
        
            surfaceData.baseColor =                 surfaceDescription.BaseColor;
            surfaceData.perceptualSmoothness =      surfaceDescription.Smoothness;
            surfaceData.ambientOcclusion =          surfaceDescription.Occlusion;
            surfaceData.metallic =                  surfaceDescription.Metallic;
        
            #if defined(_REFRACTION_PLANE) || defined(_REFRACTION_SPHERE) || defined(_REFRACTION_THIN)
                if (_EnableSSRefraction)
                {
        
                    surfaceData.transmittanceMask = (1.0 - surfaceDescription.Alpha);
                    surfaceDescription.Alpha = 1.0;
                }
                else
                {
                    surfaceData.ior = 1.0;
                    surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                    surfaceData.atDistance = 1.0;
                    surfaceData.transmittanceMask = 0.0;
                    surfaceDescription.Alpha = 1.0;
                }
            #else
                surfaceData.ior = 1.0;
                surfaceData.transmittanceColor = float3(1.0, 1.0, 1.0);
                surfaceData.atDistance = 1.0;
                surfaceData.transmittanceMask = 0.0;
            #endif
        
            // These static material feature allow compile time optimization
            surfaceData.materialFeatures = MATERIALFEATUREFLAGS_LIT_STANDARD;
            #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING;
            #endif
        
            #ifdef _MATERIAL_FEATURE_TRANSMISSION
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_TRANSMISSION;
            #endif
        
            #ifdef _MATERIAL_FEATURE_ANISOTROPY
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_ANISOTROPY;
        
                // Initialize the normal to something non-zero to avoid a div-zero warning for anisotropy.
                surfaceData.normalWS = float3(0, 1, 0);
            #endif
        
            #ifdef _MATERIAL_FEATURE_IRIDESCENCE
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_IRIDESCENCE;
            #endif
        
            #ifdef _MATERIAL_FEATURE_SPECULAR_COLOR
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_SPECULAR_COLOR;
            #endif
        
            #ifdef _MATERIAL_FEATURE_CLEAR_COAT
                surfaceData.materialFeatures |= MATERIALFEATUREFLAGS_LIT_CLEAR_COAT;
            #endif
        
            #if defined (_MATERIAL_FEATURE_SPECULAR_COLOR) && defined (_ENERGY_CONSERVING_SPECULAR)
                // Require to have setup baseColor
                // Reproduce the energy conservation done in legacy Unity. Not ideal but better for compatibility and users can unchek it
                surfaceData.baseColor *= (1.0 - Max3(surfaceData.specularColor.r, surfaceData.specularColor.g, surfaceData.specularColor.b));
            #endif
        
            float3 doubleSidedConstants = GetDoubleSidedConstants();
        
            ApplyDecalAndGetNormal(fragInputs, posInput, surfaceDescription, surfaceData);
        
            surfaceData.geomNormalWS = fragInputs.tangentToWorld[2];
        
            surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz);    // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT
        
        
            bentNormalWS = surfaceData.normalWS;
        
            surfaceData.tangentWS = Orthonormalize(surfaceData.tangentWS, surfaceData.normalWS);
        
            #ifdef DEBUG_DISPLAY
                if (_DebugMipMapMode != DEBUGMIPMAPMODE_NONE)
                {
                    // TODO: need to update mip info
                    surfaceData.metallic = 0;
                }
        
                // We need to call ApplyDebugToSurfaceData after filling the surfarcedata and before filling builtinData
                // as it can modify attribute use for static lighting
                ApplyDebugToSurfaceData(fragInputs.tangentToWorld, surfaceData);
            #endif
        
            // By default we use the ambient occlusion with Tri-ace trick (apply outside) for specular occlusion.
            // If user provide bent normal then we process a better term
            #if defined(_SPECULAR_OCCLUSION_CUSTOM)
                // Just use the value passed through via the slot (not active otherwise)
            #elif defined(_SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL)
                // If we have bent normal and ambient occlusion, process a specular occlusion
                surfaceData.specularOcclusion = GetSpecularOcclusionFromBentAO(V, bentNormalWS, surfaceData.normalWS, surfaceData.ambientOcclusion, PerceptualSmoothnessToPerceptualRoughness(surfaceData.perceptualSmoothness));
            #elif defined(_AMBIENT_OCCLUSION) && defined(_SPECULAR_OCCLUSION_FROM_AO)
                surfaceData.specularOcclusion = GetSpecularOcclusionFromAmbientOcclusion(ClampNdotV(dot(surfaceData.normalWS, V)), surfaceData.ambientOcclusion, PerceptualSmoothnessToRoughness(surfaceData.perceptualSmoothness));
            #endif
        
            #if defined(_ENABLE_GEOMETRIC_SPECULAR_AA) && !defined(SHADER_STAGE_RAY_TRACING)
                surfaceData.perceptualSmoothness = GeometricNormalFiltering(surfaceData.perceptualSmoothness, fragInputs.tangentToWorld[2], surfaceDescription.SpecularAAScreenSpaceVariance, surfaceDescription.SpecularAAThreshold);
            #endif
        }
        
            // --------------------------------------------------
            // Get Surface And BuiltinData
        
            void GetSurfaceAndBuiltinData(FragInputs fragInputs, float3 V, inout PositionInputs posInput, out SurfaceData surfaceData, out BuiltinData builtinData RAY_TRACING_OPTIONAL_PARAMETERS)
            {
                // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD)
                #if !defined(SHADER_STAGE_RAY_TRACING) && !defined(_TESSELLATION_DISPLACEMENT)
                #ifdef LOD_FADE_CROSSFADE // enable dithering LOD transition if user select CrossFade transition in LOD group
                LODDitheringTransition(ComputeFadeMaskSeed(V, posInput.positionSS), unity_LODFade.x);
                #endif
                #endif
        
                #ifndef SHADER_UNLIT
                #ifdef _DOUBLESIDED_ON
                    float3 doubleSidedConstants = _DoubleSidedConstants.xyz;
                #else
                    float3 doubleSidedConstants = float3(1.0, 1.0, 1.0);
                #endif
        
                ApplyDoubleSidedFlipOrMirror(fragInputs, doubleSidedConstants); // Apply double sided flip on the vertex normal
                #endif // SHADER_UNLIT
        
                SurfaceDescriptionInputs surfaceDescriptionInputs = FragInputsToSurfaceDescriptionInputs(fragInputs, V);
        
                #if defined(HAVE_VFX_MODIFICATION)
                GraphProperties properties;
                ZERO_INITIALIZE(GraphProperties, properties);
        
                GetElementPixelProperties(fragInputs, properties);
        
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs, properties);
                #else
                SurfaceDescription surfaceDescription = SurfaceDescriptionFunction(surfaceDescriptionInputs);
                #endif
        
                // Perform alpha test very early to save performance (a killed pixel will not sample textures)
                // TODO: split graph evaluation to grab just alpha dependencies first? tricky..
                #ifdef _ALPHATEST_ON
                    float alphaCutoff = surfaceDescription.AlphaClipThreshold;
                    #if SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_PREPASS
                    // The TransparentDepthPrepass is also used with SSR transparent.
                    // If an artists enable transaprent SSR but not the TransparentDepthPrepass itself, then we use AlphaClipThreshold
                    // otherwise if TransparentDepthPrepass is enabled we use AlphaClipThresholdDepthPrepass
                    #elif SHADERPASS == SHADERPASS_TRANSPARENT_DEPTH_POSTPASS
                    // DepthPostpass always use its own alpha threshold
                    alphaCutoff = surfaceDescription.AlphaClipThresholdDepthPostpass;
                    #elif (SHADERPASS == SHADERPASS_SHADOWS) || (SHADERPASS == SHADERPASS_RAYTRACING_VISIBILITY)
                    // If use shadow threshold isn't enable we don't allow any test
                    #endif
        
                    GENERIC_ALPHA_TEST(surfaceDescription.Alpha, alphaCutoff);
                #endif
        
                #if !defined(SHADER_STAGE_RAY_TRACING) && _DEPTHOFFSET_ON
                ApplyDepthOffsetPositionInput(V, surfaceDescription.DepthOffset, GetViewForwardDir(), GetWorldToHClipMatrix(), posInput);
                #endif
        
                #ifndef SHADER_UNLIT
                float3 bentNormalWS;
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData, bentNormalWS);
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD1
                    float4 lightmapTexCoord1 = fragInputs.texCoord1;
                #else
                    float4 lightmapTexCoord1 = float4(0,0,0,0);
                #endif
        
                #ifdef FRAG_INPUTS_USE_TEXCOORD2
                    float4 lightmapTexCoord2 = fragInputs.texCoord2;
                #else
                    float4 lightmapTexCoord2 = float4(0,0,0,0);
                #endif
        
                // Builtin Data
                // For back lighting we use the oposite vertex normal
                InitBuiltinData(posInput, surfaceDescription.Alpha, bentNormalWS, -fragInputs.tangentToWorld[2], lightmapTexCoord1, lightmapTexCoord2, builtinData);
        
                #else
                BuildSurfaceData(fragInputs, surfaceDescription, V, posInput, surfaceData);
        
                ZERO_BUILTIN_INITIALIZE(builtinData); // No call to InitBuiltinData as we don't have any lighting
                builtinData.opacity = surfaceDescription.Alpha;
        
                #if defined(DEBUG_DISPLAY)
                    // Light Layers are currently not used for the Unlit shader (because it is not lit)
                    // But Unlit objects do cast shadows according to their rendering layer mask, which is what we want to
                    // display in the light layers visualization mode, therefore we need the renderingLayers
                    builtinData.renderingLayers = GetMeshRenderingLightLayer();
                #endif
        
                #endif // SHADER_UNLIT
        
                #ifdef _ALPHATEST_ON
                    // Used for sharpening by alpha to mask - Alpha to covertage is only used with depth only and forward pass (no shadow pass, no transparent pass)
                    builtinData.alphaClipTreshold = alphaCutoff;
                #endif
        
                // override sampleBakedGI - not used by Unlit
        
                builtinData.emissiveColor = surfaceDescription.Emission;
        
                // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define)
                // We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved
                // This is a limitation of the current MRT approach.
                #ifdef UNITY_VIRTUAL_TEXTURING
                #endif
        
                #if _DEPTHOFFSET_ON
                builtinData.depthOffset = surfaceDescription.DepthOffset;
                #endif
        
                // TODO: We should generate distortion / distortionBlur for non distortion pass
                #if (SHADERPASS == SHADERPASS_DISTORTION)
                builtinData.distortion = surfaceDescription.Distortion;
                builtinData.distortionBlur = surfaceDescription.DistortionBlur;
                #endif
        
                #ifndef SHADER_UNLIT
                // PostInitBuiltinData call ApplyDebugToBuiltinData
                PostInitBuiltinData(V, posInput, surfaceData, builtinData);
                #else
                ApplyDebugToBuiltinData(builtinData);
                #endif
        
                RAY_TRACING_OPTIONAL_ALPHA_TEST_PASS
            }
        
            // --------------------------------------------------
            // Main
        
            #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassPathTracing.hlsl"
        
            // --------------------------------------------------
            // Visual Effect Vertex Invocations
        
        	#ifdef HAVE_VFX_MODIFICATION
        	#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/VisualEffectVertex.hlsl"
        	#endif
        
            ENDHLSL
        }
    }
    CustomEditor "UnityEditor.ShaderGraph.GenericShaderGraphMaterialGUI"
    CustomEditorForRenderPipeline "Rendering.HighDefinition.LitShaderGraphGUI" "UnityEngine.Rendering.HighDefinition.HDRenderPipelineAsset"
    FallBack "Hidden/Shader Graph/FallbackError"
}