Refresh autogenerated file builtin_function.cpp.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 21 Oct 2010 18:43:39 +0000 (11:43 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 21 Oct 2010 18:46:08 +0000 (11:46 -0700)
Since this is just generated by python, it's questionable whether this
should continue to live in the repository - Mesa already has other
things generated from python as part of the build process.

src/glsl/builtin_function.cpp

index a919aff8acb5ea78738b0b812ab651d29883edb9..f0206431fb2daea6576f1342f822915ce3e519ea 100644 (file)
@@ -74,7 +74,7 @@ read_builtins(GLenum target, const char *protos, const char **functions, unsigne
    return sh;
 }
 
-static const char *builtin_abs =
+static const char builtin_abs[] =
    "((function abs\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -98,7 +98,7 @@ static const char *builtin_abs =
    "))\n"
    ""
 ;
-static const char *builtin_acos =
+static const char builtin_acos[] =
    "((function acos\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -123,7 +123,7 @@ static const char *builtin_acos =
    "))\n"
    ""
 ;
-static const char *builtin_all =
+static const char builtin_all[] =
    "((function all\n"
    "   (signature bool\n"
    "     (parameters\n"
@@ -142,7 +142,7 @@ static const char *builtin_all =
    "))\n"
    ""
 ;
-static const char *builtin_any =
+static const char builtin_any[] =
    "((function any\n"
    "   (signature bool\n"
    "     (parameters\n"
@@ -161,7 +161,7 @@ static const char *builtin_any =
    "))\n"
    ""
 ;
-static const char *builtin_asin =
+static const char builtin_asin[] =
    "((function asin\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -261,7 +261,7 @@ static const char *builtin_asin =
    "))\n"
    ""
 ;
-static const char *builtin_atan =
+static const char builtin_atan[] =
    "((function atan\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -405,7 +405,7 @@ static const char *builtin_atan =
    "))\n"
    ""
 ;
-static const char *builtin_ceil =
+static const char builtin_ceil[] =
    "((function ceil\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -429,7 +429,7 @@ static const char *builtin_ceil =
    "))\n"
    ""
 ;
-static const char *builtin_clamp =
+static const char builtin_clamp[] =
    "((function clamp\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -580,7 +580,7 @@ static const char *builtin_clamp =
    "))\n"
    ""
 ;
-static const char *builtin_cos =
+static const char builtin_cos[] =
    "((function cos\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -604,7 +604,7 @@ static const char *builtin_cos =
    "))\n"
    ""
 ;
-static const char *builtin_cosh =
+static const char builtin_cosh[] =
    "((function cosh\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -637,7 +637,7 @@ static const char *builtin_cosh =
    "))\n"
    ""
 ;
-static const char *builtin_cross =
+static const char builtin_cross[] =
    "((function cross\n"
    "   (signature vec3\n"
    "     (parameters\n"
@@ -647,7 +647,7 @@ static const char *builtin_cross =
    "))\n"
    ""
 ;
-static const char *builtin_dFdx =
+static const char builtin_dFdx[] =
    "((function dFdx\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -671,7 +671,7 @@ static const char *builtin_dFdx =
    "))\n"
    ""
 ;
-static const char *builtin_dFdy =
+static const char builtin_dFdy[] =
    "((function dFdy\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -695,7 +695,7 @@ static const char *builtin_dFdy =
    "))\n"
    ""
 ;
-static const char *builtin_degrees =
+static const char builtin_degrees[] =
    "((function degrees\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -719,7 +719,7 @@ static const char *builtin_degrees =
    "))\n"
    ""
 ;
-static const char *builtin_distance =
+static const char builtin_distance[] =
    "((function distance\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -753,7 +753,7 @@ static const char *builtin_distance =
    "))\n"
    ""
 ;
-static const char *builtin_dot =
+static const char builtin_dot[] =
    "((function dot\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -781,7 +781,7 @@ static const char *builtin_dot =
    "))\n"
    ""
 ;
-static const char *builtin_equal =
+static const char builtin_equal[] =
    "((function equal\n"
    "   (signature bvec2\n"
    "     (parameters\n"
@@ -857,7 +857,7 @@ static const char *builtin_equal =
    "))\n"
    ""
 ;
-static const char *builtin_exp =
+static const char builtin_exp[] =
    "((function exp\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -881,7 +881,7 @@ static const char *builtin_exp =
    "))\n"
    ""
 ;
-static const char *builtin_exp2 =
+static const char builtin_exp2[] =
    "((function exp2\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -905,7 +905,7 @@ static const char *builtin_exp2 =
    "))\n"
    ""
 ;
-static const char *builtin_faceforward =
+static const char builtin_faceforward[] =
    "((function faceforward\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -945,7 +945,7 @@ static const char *builtin_faceforward =
    "))\n"
    ""
 ;
-static const char *builtin_floor =
+static const char builtin_floor[] =
    "((function floor\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -969,7 +969,7 @@ static const char *builtin_floor =
    "))\n"
    ""
 ;
-static const char *builtin_fract =
+static const char builtin_fract[] =
    "((function fract\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -994,7 +994,7 @@ static const char *builtin_fract =
    "\n"
    ""
 ;
-static const char *builtin_ftransform =
+static const char builtin_ftransform[] =
    "((declare (uniform) mat4 gl_ModelViewProjectionMatrix)\n"
    " (declare (in) vec4 gl_Vertex)\n"
    " (function ftransform\n"
@@ -1006,7 +1006,7 @@ static const char *builtin_ftransform =
    "))\n"
    ""
 ;
-static const char *builtin_fwidth =
+static const char builtin_fwidth[] =
    "((function fwidth\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -1038,7 +1038,7 @@ static const char *builtin_fwidth =
    "))\n"
    ""
 ;
-static const char *builtin_greaterThan =
+static const char builtin_greaterThan[] =
    "((function greaterThan\n"
    "   (signature bvec2\n"
    "     (parameters\n"
@@ -1096,7 +1096,7 @@ static const char *builtin_greaterThan =
    "))\n"
    ""
 ;
-static const char *builtin_greaterThanEqual =
+static const char builtin_greaterThanEqual[] =
    "((function greaterThanEqual\n"
    "   (signature bvec2\n"
    "     (parameters\n"
@@ -1154,7 +1154,7 @@ static const char *builtin_greaterThanEqual =
    "))\n"
    ""
 ;
-static const char *builtin_inversesqrt =
+static const char builtin_inversesqrt[] =
    "((function inversesqrt\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -1178,7 +1178,7 @@ static const char *builtin_inversesqrt =
    "))\n"
    ""
 ;
-static const char *builtin_length =
+static const char builtin_length[] =
    "((function length\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -1202,7 +1202,7 @@ static const char *builtin_length =
    "))\n"
    ""
 ;
-static const char *builtin_lessThan =
+static const char builtin_lessThan[] =
    "((function lessThan\n"
    "   (signature bvec2\n"
    "     (parameters\n"
@@ -1260,7 +1260,7 @@ static const char *builtin_lessThan =
    "))\n"
    ""
 ;
-static const char *builtin_lessThanEqual =
+static const char builtin_lessThanEqual[] =
    "((function lessThanEqual\n"
    "   (signature bvec2\n"
    "     (parameters\n"
@@ -1318,7 +1318,7 @@ static const char *builtin_lessThanEqual =
    "))\n"
    ""
 ;
-static const char *builtin_log =
+static const char builtin_log[] =
    "((function log\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -1342,7 +1342,7 @@ static const char *builtin_log =
    "))\n"
    ""
 ;
-static const char *builtin_log2 =
+static const char builtin_log2[] =
    "((function log2\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -1366,7 +1366,7 @@ static const char *builtin_log2 =
    "))\n"
    ""
 ;
-static const char *builtin_matrixCompMult =
+static const char builtin_matrixCompMult[] =
    "((function matrixCompMult\n"
    "   (signature mat2\n"
    "     (parameters\n"
@@ -1460,7 +1460,7 @@ static const char *builtin_matrixCompMult =
    "))\n"
    ""
 ;
-static const char *builtin_max =
+static const char builtin_max[] =
    "((function max\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -1590,7 +1590,7 @@ static const char *builtin_max =
    "))\n"
    ""
 ;
-static const char *builtin_min =
+static const char builtin_min[] =
    "((function min\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -1720,7 +1720,7 @@ static const char *builtin_min =
    "))\n"
    ""
 ;
-static const char *builtin_mix =
+static const char builtin_mix[] =
    "((function mix\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -1811,7 +1811,7 @@ static const char *builtin_mix =
    "))\n"
    ""
 ;
-static const char *builtin_mod =
+static const char builtin_mod[] =
    "((function mod\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -1857,7 +1857,7 @@ static const char *builtin_mod =
    "))\n"
    ""
 ;
-static const char *builtin_modf =
+static const char builtin_modf[] =
    "((function modf\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -1901,7 +1901,7 @@ static const char *builtin_modf =
    "))\n"
    ""
 ;
-static const char *builtin_noise1 =
+static const char builtin_noise1[] =
    "((function noise1\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -1922,7 +1922,7 @@ static const char *builtin_noise1 =
    "))\n"
    ""
 ;
-static const char *builtin_noise2 =
+static const char builtin_noise2[] =
    "((function noise2\n"
    "  (signature vec2\n"
    "    (parameters (declare (in) vec4 p))\n"
@@ -1986,7 +1986,7 @@ static const char *builtin_noise2 =
    "))\n"
    ""
 ;
-static const char *builtin_noise3 =
+static const char builtin_noise3[] =
    "((function noise3\n"
    "  (signature vec3\n"
    "    (parameters (declare (in) vec4 p))\n"
@@ -2062,7 +2062,7 @@ static const char *builtin_noise3 =
    "))\n"
    ""
 ;
-static const char *builtin_noise4 =
+static const char builtin_noise4[] =
    "((function noise4\n"
    "  (signature vec4\n"
    "    (parameters (declare (in) vec4 p))\n"
@@ -2162,7 +2162,7 @@ static const char *builtin_noise4 =
    "))\n"
    ""
 ;
-static const char *builtin_normalize =
+static const char builtin_normalize[] =
    "((function normalize\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -2186,7 +2186,7 @@ static const char *builtin_normalize =
    "))\n"
    ""
 ;
-static const char *builtin_not =
+static const char builtin_not[] =
    "((function not\n"
    "   (signature bvec2\n"
    "     (parameters\n"
@@ -2205,7 +2205,7 @@ static const char *builtin_not =
    "))\n"
    ""
 ;
-static const char *builtin_notEqual =
+static const char builtin_notEqual[] =
    "((function notEqual\n"
    "   (signature bvec2\n"
    "     (parameters\n"
@@ -2281,7 +2281,7 @@ static const char *builtin_notEqual =
    "))\n"
    ""
 ;
-static const char *builtin_outerProduct =
+static const char builtin_outerProduct[] =
    "((function outerProduct\n"
    "   (signature mat2\n"
    "     (parameters\n"
@@ -2376,7 +2376,7 @@ static const char *builtin_outerProduct =
    "))\n"
    ""
 ;
-static const char *builtin_pow =
+static const char builtin_pow[] =
    "((function pow\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -2404,7 +2404,7 @@ static const char *builtin_pow =
    "))\n"
    ""
 ;
-static const char *builtin_radians =
+static const char builtin_radians[] =
    "((function radians\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -2428,7 +2428,7 @@ static const char *builtin_radians =
    "))\n"
    ""
 ;
-static const char *builtin_reflect =
+static const char builtin_reflect[] =
    "((function reflect\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -2489,7 +2489,7 @@ static const char *builtin_reflect =
    "))\n"
    ""
 ;
-static const char *builtin_refract =
+static const char builtin_refract[] =
    "((function refract\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -2594,7 +2594,7 @@ static const char *builtin_refract =
    "))\n"
    ""
 ;
-static const char *builtin_round =
+static const char builtin_round[] =
    "((function round\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -2618,7 +2618,7 @@ static const char *builtin_round =
    "))\n"
    ""
 ;
-static const char *builtin_roundEven =
+static const char builtin_roundEven[] =
    "((function roundEven\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -2642,7 +2642,7 @@ static const char *builtin_roundEven =
    "))\n"
    ""
 ;
-static const char *builtin_shadow1D =
+static const char builtin_shadow1D[] =
    "((function shadow1D\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -2660,7 +2660,7 @@ static const char *builtin_shadow1D =
    "))\n"
    ""
 ;
-static const char *builtin_shadow1DArray =
+static const char builtin_shadow1DArray[] =
    "((function shadow1DArray\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -2678,7 +2678,7 @@ static const char *builtin_shadow1DArray =
    "))\n"
    ""
 ;
-static const char *builtin_shadow1DArrayLod =
+static const char builtin_shadow1DArrayLod[] =
    "((function shadow1DArrayLod\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -2690,7 +2690,7 @@ static const char *builtin_shadow1DArrayLod =
    "))\n"
    ""
 ;
-static const char *builtin_shadow1DLod =
+static const char builtin_shadow1DLod[] =
    "((function shadow1DLod\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -2702,7 +2702,7 @@ static const char *builtin_shadow1DLod =
    "))\n"
    ""
 ;
-static const char *builtin_shadow1DProj =
+static const char builtin_shadow1DProj[] =
    "((function shadow1DProj\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -2720,7 +2720,7 @@ static const char *builtin_shadow1DProj =
    "))\n"
    ""
 ;
-static const char *builtin_shadow1DProjLod =
+static const char builtin_shadow1DProjLod[] =
    "((function shadow1DProjLod\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -2732,7 +2732,7 @@ static const char *builtin_shadow1DProjLod =
    "))\n"
    ""
 ;
-static const char *builtin_shadow2D =
+static const char builtin_shadow2D[] =
    "((function shadow2D\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -2750,7 +2750,7 @@ static const char *builtin_shadow2D =
    "))\n"
    ""
 ;
-static const char *builtin_shadow2DArray =
+static const char builtin_shadow2DArray[] =
    "((function shadow2DArray\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -2761,7 +2761,7 @@ static const char *builtin_shadow2DArray =
    "))\n"
    ""
 ;
-static const char *builtin_shadow2DLod =
+static const char builtin_shadow2DLod[] =
    "((function shadow2DLod\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -2773,7 +2773,7 @@ static const char *builtin_shadow2DLod =
    "))\n"
    ""
 ;
-static const char *builtin_shadow2DProj =
+static const char builtin_shadow2DProj[] =
    "((function shadow2DProj\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -2791,7 +2791,7 @@ static const char *builtin_shadow2DProj =
    "))\n"
    ""
 ;
-static const char *builtin_shadow2DProjLod =
+static const char builtin_shadow2DProjLod[] =
    "((function shadow2DProjLod\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -2803,7 +2803,7 @@ static const char *builtin_shadow2DProjLod =
    "))\n"
    ""
 ;
-static const char *builtin_shadow2DRect =
+static const char builtin_shadow2DRect[] =
    "((function shadow2DRect\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -2814,7 +2814,7 @@ static const char *builtin_shadow2DRect =
    "))\n"
    ""
 ;
-static const char *builtin_shadow2DRectProj =
+static const char builtin_shadow2DRectProj[] =
    "((function shadow2DRectProj\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -2825,7 +2825,7 @@ static const char *builtin_shadow2DRectProj =
    "))\n"
    ""
 ;
-static const char *builtin_sign =
+static const char builtin_sign[] =
    "((function sign\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -2870,7 +2870,7 @@ static const char *builtin_sign =
    "\n"
    ""
 ;
-static const char *builtin_sin =
+static const char builtin_sin[] =
    "((function sin\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -2894,7 +2894,7 @@ static const char *builtin_sin =
    "))\n"
    ""
 ;
-static const char *builtin_sinh =
+static const char builtin_sinh[] =
    "((function sinh\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -2927,7 +2927,7 @@ static const char *builtin_sinh =
    "))\n"
    ""
 ;
-static const char *builtin_smoothstep =
+static const char builtin_smoothstep[] =
    "((function smoothstep\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -3083,7 +3083,7 @@ static const char *builtin_smoothstep =
    "\n"
    ""
 ;
-static const char *builtin_sqrt =
+static const char builtin_sqrt[] =
    "((function sqrt\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -3107,7 +3107,7 @@ static const char *builtin_sqrt =
    "))\n"
    ""
 ;
-static const char *builtin_step =
+static const char builtin_step[] =
    "((function step\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -3178,7 +3178,7 @@ static const char *builtin_step =
    "\n"
    ""
 ;
-static const char *builtin_tan =
+static const char builtin_tan[] =
    "((function tan\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -3202,7 +3202,7 @@ static const char *builtin_tan =
    "))\n"
    ""
 ;
-static const char *builtin_tanh =
+static const char builtin_tanh[] =
    "((function tanh\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -3247,7 +3247,7 @@ static const char *builtin_tanh =
    "))\n"
    ""
 ;
-static const char *builtin_texelFetch =
+static const char builtin_texelFetch[] =
    "((function texelFetch\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3357,7 +3357,7 @@ static const char *builtin_texelFetch =
    "))\n"
    ""
 ;
-static const char *builtin_texture =
+static const char builtin_texture[] =
    "((function texture\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3596,7 +3596,7 @@ static const char *builtin_texture =
    "))\n"
    ""
 ;
-static const char *builtin_texture1D =
+static const char builtin_texture1D[] =
    "((function texture1D\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3614,7 +3614,7 @@ static const char *builtin_texture1D =
    "))\n"
    ""
 ;
-static const char *builtin_texture1DArray =
+static const char builtin_texture1DArray[] =
    "((function texture1DArray\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3632,7 +3632,7 @@ static const char *builtin_texture1DArray =
    "))\n"
    ""
 ;
-static const char *builtin_texture1DArrayLod =
+static const char builtin_texture1DArrayLod[] =
    "((function texture1DArrayLod\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3644,7 +3644,7 @@ static const char *builtin_texture1DArrayLod =
    "))\n"
    ""
 ;
-static const char *builtin_texture1DLod =
+static const char builtin_texture1DLod[] =
    "((function texture1DLod\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3656,7 +3656,7 @@ static const char *builtin_texture1DLod =
    "))\n"
    ""
 ;
-static const char *builtin_texture1DProj =
+static const char builtin_texture1DProj[] =
    "((function texture1DProj\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3687,7 +3687,7 @@ static const char *builtin_texture1DProj =
    "))\n"
    ""
 ;
-static const char *builtin_texture1DProjLod =
+static const char builtin_texture1DProjLod[] =
    "((function texture1DProjLod\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3706,7 +3706,7 @@ static const char *builtin_texture1DProjLod =
    "))\n"
    ""
 ;
-static const char *builtin_texture2D =
+static const char builtin_texture2D[] =
    "((function texture2D\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3724,7 +3724,7 @@ static const char *builtin_texture2D =
    "))\n"
    ""
 ;
-static const char *builtin_texture2DArray =
+static const char builtin_texture2DArray[] =
    "((function texture2DArray\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3742,7 +3742,7 @@ static const char *builtin_texture2DArray =
    "))\n"
    ""
 ;
-static const char *builtin_texture2DArrayLod =
+static const char builtin_texture2DArrayLod[] =
    "((function texture2DArrayLod\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3754,7 +3754,7 @@ static const char *builtin_texture2DArrayLod =
    "))\n"
    ""
 ;
-static const char *builtin_texture2DLod =
+static const char builtin_texture2DLod[] =
    "((function texture2DLod\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3766,7 +3766,7 @@ static const char *builtin_texture2DLod =
    "))\n"
    ""
 ;
-static const char *builtin_texture2DProj =
+static const char builtin_texture2DProj[] =
    "((function texture2DProj\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3797,7 +3797,7 @@ static const char *builtin_texture2DProj =
    "))\n"
    ""
 ;
-static const char *builtin_texture2DProjLod =
+static const char builtin_texture2DProjLod[] =
    "((function texture2DProjLod\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3816,7 +3816,7 @@ static const char *builtin_texture2DProjLod =
    "))\n"
    ""
 ;
-static const char *builtin_texture2DRect =
+static const char builtin_texture2DRect[] =
    "((function texture2DRect\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3827,7 +3827,7 @@ static const char *builtin_texture2DRect =
    "))\n"
    ""
 ;
-static const char *builtin_texture2DRectProj =
+static const char builtin_texture2DRectProj[] =
    "((function texture2DRectProj\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3844,7 +3844,7 @@ static const char *builtin_texture2DRectProj =
    "))\n"
    ""
 ;
-static const char *builtin_texture3D =
+static const char builtin_texture3D[] =
    "((function texture3D\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3862,7 +3862,7 @@ static const char *builtin_texture3D =
    "))\n"
    ""
 ;
-static const char *builtin_texture3DLod =
+static const char builtin_texture3DLod[] =
    "((function texture3DLod\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3874,7 +3874,7 @@ static const char *builtin_texture3DLod =
    "))\n"
    ""
 ;
-static const char *builtin_texture3DProj =
+static const char builtin_texture3DProj[] =
    "((function texture3DProj\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3892,7 +3892,7 @@ static const char *builtin_texture3DProj =
    "))\n"
    ""
 ;
-static const char *builtin_texture3DProjLod =
+static const char builtin_texture3DProjLod[] =
    "((function texture3DProjLod\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3904,7 +3904,7 @@ static const char *builtin_texture3DProjLod =
    "))\n"
    ""
 ;
-static const char *builtin_textureCube =
+static const char builtin_textureCube[] =
    "((function textureCube\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3922,7 +3922,7 @@ static const char *builtin_textureCube =
    "))\n"
    ""
 ;
-static const char *builtin_textureCubeLod =
+static const char builtin_textureCubeLod[] =
    "((function textureCubeLod\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -3934,7 +3934,7 @@ static const char *builtin_textureCubeLod =
    "))\n"
    ""
 ;
-static const char *builtin_textureGrad =
+static const char builtin_textureGrad[] =
    "((function textureGrad\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -4083,7 +4083,7 @@ static const char *builtin_textureGrad =
    "))\n"
    ""
 ;
-static const char *builtin_textureLod =
+static const char builtin_textureLod[] =
    "((function textureLod\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -4214,7 +4214,7 @@ static const char *builtin_textureLod =
    "))\n"
    ""
 ;
-static const char *builtin_textureProj =
+static const char builtin_textureProj[] =
    "((function textureProj\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -4414,7 +4414,7 @@ static const char *builtin_textureProj =
    "))\n"
    ""
 ;
-static const char *builtin_textureProjGrad =
+static const char builtin_textureProjGrad[] =
    "((function textureProjGrad\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -4539,7 +4539,7 @@ static const char *builtin_textureProjGrad =
    "))\n"
    ""
 ;
-static const char *builtin_textureProjLod =
+static const char builtin_textureProjLod[] =
    "((function textureProjLod\n"
    "   (signature vec4\n"
    "     (parameters\n"
@@ -4649,7 +4649,7 @@ static const char *builtin_textureProjLod =
    "))\n"
    ""
 ;
-static const char *builtin_transpose =
+static const char builtin_transpose[] =
    "((function transpose\n"
    "   (signature mat2\n"
    "     (parameters\n"
@@ -4791,7 +4791,7 @@ static const char *builtin_transpose =
    "\n"
    ""
 ;
-static const char *builtin_trunc =
+static const char builtin_trunc[] =
    "((function trunc\n"
    "   (signature float\n"
    "     (parameters\n"
@@ -4815,7 +4815,7 @@ static const char *builtin_trunc =
    "))\n"
    ""
 ;
-static const char *prototypes_for_100_frag =
+static const char prototypes_for_100_frag[] =
    "(\n"
    "(function radians\n"
    "  (signature float\n"
@@ -5976,7 +5976,7 @@ static const char *functions_for_100_frag [] = {
    builtin_texture2DProj,
    builtin_textureCube,
 };
-static const char *prototypes_for_100_vert =
+static const char prototypes_for_100_vert[] =
    "(\n"
    "(function radians\n"
    "  (signature float\n"
@@ -7143,7 +7143,7 @@ static const char *functions_for_100_vert [] = {
    builtin_textureCube,
    builtin_textureCubeLod,
 };
-static const char *prototypes_for_110_frag =
+static const char prototypes_for_110_frag[] =
    "(\n"
    "(function radians\n"
    "  (signature float\n"
@@ -8545,7 +8545,7 @@ static const char *functions_for_110_frag [] = {
    builtin_texture3DProj,
    builtin_textureCube,
 };
-static const char *prototypes_for_110_vert =
+static const char prototypes_for_110_vert[] =
    "(\n"
    "(function radians\n"
    "  (signature float\n"
@@ -9920,7 +9920,7 @@ static const char *functions_for_110_vert [] = {
    builtin_textureCube,
    builtin_textureCubeLod,
 };
-static const char *prototypes_for_120_frag =
+static const char prototypes_for_120_frag[] =
    "(\n"
    "(function radians\n"
    "  (signature float\n"
@@ -11437,7 +11437,7 @@ static const char *functions_for_120_frag [] = {
    builtin_textureCube,
    builtin_transpose,
 };
-static const char *prototypes_for_120_vert =
+static const char prototypes_for_120_vert[] =
    "(\n"
    "(function radians\n"
    "  (signature float\n"
@@ -12927,3053 +12927,98 @@ static const char *functions_for_120_vert [] = {
    builtin_textureCubeLod,
    builtin_transpose,
 };
-static const char *prototypes_for_130_frag =
-   "(\n"
-   "(function radians\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float degrees))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 degrees))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 degrees))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 degrees))\n"
-   "    ()))\n"
-   "(function degrees\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float radians))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 radians))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 radians))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 radians))\n"
-   "    ()))\n"
-   "(function sin\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float angle))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 angle))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 angle))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 angle))\n"
-   "    ()))\n"
-   "(function cos\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float angle))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 angle))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 angle))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 angle))\n"
-   "    ()))\n"
-   "(function tan\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float angle))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 angle))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 angle))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 angle))\n"
-   "    ()))\n"
-   "(function asin\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float angle))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 angle))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 angle))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 angle))\n"
-   "    ()))\n"
-   "(function acos\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float angle))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 angle))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 angle))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 angle))\n"
-   "    ()))\n"
-   "(function atan\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float y)\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 y)\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 y)\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 y)\n"
-   "      (declare (in) vec4 x))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float y_over_x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 y_over_x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 y_over_x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 y_over_x))\n"
-   "    ()))\n"
-   "(function sinh\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function cosh\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function tanh\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function pow\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x)\n"
-   "      (declare (in) float y))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) vec2 y))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) vec3 y))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) vec4 y))\n"
-   "    ()))\n"
-   "(function exp\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function log\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function exp2\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function log2\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function sqrt\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function inversesqrt\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function abs\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ())\n"
-   "  (signature int\n"
-   "    (parameters\n"
-   "      (declare (in) int x))\n"
-   "    ())\n"
-   "  (signature ivec2\n"
-   "    (parameters\n"
-   "      (declare (in) ivec2 x))\n"
-   "    ())\n"
-   "  (signature ivec3\n"
-   "    (parameters\n"
-   "      (declare (in) ivec3 x))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) ivec4 x))\n"
-   "    ()))\n"
-   "(function sign\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ())\n"
-   "  (signature int\n"
-   "    (parameters\n"
-   "      (declare (in) int x))\n"
-   "    ())\n"
-   "  (signature ivec2\n"
-   "    (parameters\n"
-   "      (declare (in) ivec2 x))\n"
-   "    ())\n"
-   "  (signature ivec3\n"
-   "    (parameters\n"
-   "      (declare (in) ivec3 x))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) ivec4 x))\n"
-   "    ()))\n"
-   "(function floor\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function trunc\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function round\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function roundEven\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function ceil\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function fract\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function mod\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x)\n"
-   "      (declare (in) float y))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) float y))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) float y))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) float y))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) vec2 y))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) vec3 y))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) vec4 y))\n"
-   "    ()))\n"
-   "(function modf\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x)\n"
-   "      (declare (out) float i))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (out) vec2 i))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (out) vec3 i))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (out) vec4 i))\n"
-   "    ()))\n"
-   "(function min\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x)\n"
-   "      (declare (in) float y))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) vec2 y))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) vec3 y))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) vec4 y))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) float y))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) float y))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) float y))\n"
-   "    ())\n"
-   "  (signature int\n"
-   "    (parameters\n"
-   "      (declare (in) int x)\n"
-   "      (declare (in) int y))\n"
-   "    ())\n"
-   "  (signature ivec2\n"
-   "    (parameters\n"
-   "      (declare (in) ivec2 x)\n"
-   "      (declare (in) ivec2 y))\n"
-   "    ())\n"
-   "  (signature ivec3\n"
-   "    (parameters\n"
-   "      (declare (in) ivec3 x)\n"
-   "      (declare (in) ivec3 y))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) ivec4 x)\n"
-   "      (declare (in) ivec4 y))\n"
-   "    ())\n"
-   "  (signature ivec2\n"
-   "    (parameters\n"
-   "      (declare (in) ivec2 x)\n"
-   "      (declare (in) int y))\n"
-   "    ())\n"
-   "  (signature ivec3\n"
-   "    (parameters\n"
-   "      (declare (in) ivec3 x)\n"
-   "      (declare (in) int y))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) ivec4 x)\n"
-   "      (declare (in) int y))\n"
-   "    ())\n"
-   "  (signature uint\n"
-   "    (parameters\n"
-   "      (declare (in) uint x)\n"
-   "      (declare (in) uint y))\n"
-   "    ())\n"
-   "  (signature uvec2\n"
-   "    (parameters\n"
-   "      (declare (in) uvec2 x)\n"
-   "      (declare (in) uvec2 y))\n"
-   "    ())\n"
-   "  (signature uvec3\n"
-   "    (parameters\n"
-   "      (declare (in) uvec3 x)\n"
-   "      (declare (in) uvec3 y))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) uvec4 x)\n"
-   "      (declare (in) uvec4 y))\n"
-   "    ())\n"
-   "  (signature uvec2\n"
-   "    (parameters\n"
-   "      (declare (in) uvec2 x)\n"
-   "      (declare (in) uint y))\n"
-   "    ())\n"
-   "  (signature uvec3\n"
-   "    (parameters\n"
-   "      (declare (in) uvec3 x)\n"
-   "      (declare (in) uint y))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) uvec4 x)\n"
-   "      (declare (in) uint y))\n"
-   "    ()))\n"
-   "(function max\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x)\n"
-   "      (declare (in) float y))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) vec2 y))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) vec3 y))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) vec4 y))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) float y))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) float y))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) float y))\n"
-   "    ())\n"
-   "  (signature int\n"
-   "    (parameters\n"
-   "      (declare (in) int x)\n"
-   "      (declare (in) int y))\n"
-   "    ())\n"
-   "  (signature ivec2\n"
-   "    (parameters\n"
-   "      (declare (in) ivec2 x)\n"
-   "      (declare (in) ivec2 y))\n"
-   "    ())\n"
-   "  (signature ivec3\n"
-   "    (parameters\n"
-   "      (declare (in) ivec3 x)\n"
-   "      (declare (in) ivec3 y))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) ivec4 x)\n"
-   "      (declare (in) ivec4 y))\n"
-   "    ())\n"
-   "  (signature ivec2\n"
-   "    (parameters\n"
-   "      (declare (in) ivec2 x)\n"
-   "      (declare (in) int y))\n"
-   "    ())\n"
-   "  (signature ivec3\n"
-   "    (parameters\n"
-   "      (declare (in) ivec3 x)\n"
-   "      (declare (in) int y))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) ivec4 x)\n"
-   "      (declare (in) int y))\n"
-   "    ())\n"
-   "  (signature uint\n"
-   "    (parameters\n"
-   "      (declare (in) uint x)\n"
-   "      (declare (in) uint y))\n"
-   "    ())\n"
-   "  (signature uvec2\n"
-   "    (parameters\n"
-   "      (declare (in) uvec2 x)\n"
-   "      (declare (in) uvec2 y))\n"
-   "    ())\n"
-   "  (signature uvec3\n"
-   "    (parameters\n"
-   "      (declare (in) uvec3 x)\n"
-   "      (declare (in) uvec3 y))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) uvec4 x)\n"
-   "      (declare (in) uvec4 y))\n"
-   "    ())\n"
-   "  (signature uvec2\n"
-   "    (parameters\n"
-   "      (declare (in) uvec2 x)\n"
-   "      (declare (in) uint y))\n"
-   "    ())\n"
-   "  (signature uvec3\n"
-   "    (parameters\n"
-   "      (declare (in) uvec3 x)\n"
-   "      (declare (in) uint y))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) uvec4 x)\n"
-   "      (declare (in) uint y))\n"
-   "    ()))\n"
-   "(function clamp\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x)\n"
-   "      (declare (in) float minVal)\n"
-   "      (declare (in) float maxVal))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) vec2 minVal)\n"
-   "      (declare (in) vec2 maxVal))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) vec3 minVal)\n"
-   "      (declare (in) vec3 maxVal))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) vec4 minVal)\n"
-   "      (declare (in) vec4 maxVal))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) float minVal)\n"
-   "      (declare (in) float maxVal))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) float minVal)\n"
-   "      (declare (in) float maxVal))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) float minVal)\n"
-   "      (declare (in) float maxVal))\n"
-   "    ())\n"
-   "  (signature int\n"
-   "    (parameters\n"
-   "      (declare (in) int x)\n"
-   "      (declare (in) int minVal)\n"
-   "      (declare (in) int maxVal))\n"
-   "    ())\n"
-   "  (signature ivec2\n"
-   "    (parameters\n"
-   "      (declare (in) ivec2 x)\n"
-   "      (declare (in) ivec2 minVal)\n"
-   "      (declare (in) ivec2 maxVal))\n"
-   "    ())\n"
-   "  (signature ivec3\n"
-   "    (parameters\n"
-   "      (declare (in) ivec3 x)\n"
-   "      (declare (in) ivec3 minVal)\n"
-   "      (declare (in) ivec3 maxVal))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) ivec4 x)\n"
-   "      (declare (in) ivec4 minVal)\n"
-   "      (declare (in) ivec4 maxVal))\n"
-   "    ())\n"
-   "  (signature ivec2\n"
-   "    (parameters\n"
-   "      (declare (in) ivec2 x)\n"
-   "      (declare (in) int minVal)\n"
-   "      (declare (in) int maxVal))\n"
-   "    ())\n"
-   "  (signature ivec3\n"
-   "    (parameters\n"
-   "      (declare (in) ivec3 x)\n"
-   "      (declare (in) int minVal)\n"
-   "      (declare (in) int maxVal))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) ivec4 x)\n"
-   "      (declare (in) int minVal)\n"
-   "      (declare (in) int maxVal))\n"
-   "    ())\n"
-   "  (signature uint\n"
-   "    (parameters\n"
-   "      (declare (in) uint x)\n"
-   "      (declare (in) uint minVal)\n"
-   "      (declare (in) uint maxVal))\n"
-   "    ())\n"
-   "  (signature uvec2\n"
-   "    (parameters\n"
-   "      (declare (in) uvec2 x)\n"
-   "      (declare (in) uvec2 minVal)\n"
-   "      (declare (in) uvec2 maxVal))\n"
-   "    ())\n"
-   "  (signature uvec3\n"
-   "    (parameters\n"
-   "      (declare (in) uvec3 x)\n"
-   "      (declare (in) uvec3 minVal)\n"
-   "      (declare (in) uvec3 maxVal))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) uvec4 x)\n"
-   "      (declare (in) uvec4 minVal)\n"
-   "      (declare (in) uvec4 maxVal))\n"
-   "    ())\n"
-   "  (signature uvec2\n"
-   "    (parameters\n"
-   "      (declare (in) uvec2 x)\n"
-   "      (declare (in) uint minVal)\n"
-   "      (declare (in) uint maxVal))\n"
-   "    ())\n"
-   "  (signature uvec3\n"
-   "    (parameters\n"
-   "      (declare (in) uvec3 x)\n"
-   "      (declare (in) uint minVal)\n"
-   "      (declare (in) uint maxVal))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) uvec4 x)\n"
-   "      (declare (in) uint minVal)\n"
-   "      (declare (in) uint maxVal))\n"
-   "    ()))\n"
-   "(function mix\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x)\n"
-   "      (declare (in) float y)\n"
-   "      (declare (in) float a))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) vec2 y)\n"
-   "      (declare (in) vec2 a))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) vec3 y)\n"
-   "      (declare (in) vec3 a))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) vec4 y)\n"
-   "      (declare (in) vec4 a))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) vec2 y)\n"
-   "      (declare (in) float a))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) vec3 y)\n"
-   "      (declare (in) float a))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) vec4 y)\n"
-   "      (declare (in) float a))\n"
-   "    ()))\n"
-   "(function step\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float edge)\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 edge)\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 edge)\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 edge)\n"
-   "      (declare (in) vec4 x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) float edge)\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) float edge)\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) float edge)\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function smoothstep\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float edge0)\n"
-   "      (declare (in) float edge1)\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 edge0)\n"
-   "      (declare (in) vec2 edge1)\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 edge0)\n"
-   "      (declare (in) vec3 edge1)\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 edge0)\n"
-   "      (declare (in) vec4 edge1)\n"
-   "      (declare (in) vec4 x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) float edge0)\n"
-   "      (declare (in) float edge1)\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) float edge0)\n"
-   "      (declare (in) float edge1)\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) float edge0)\n"
-   "      (declare (in) float edge1)\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function length\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function distance\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float p0)\n"
-   "      (declare (in) float p1))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 p0)\n"
-   "      (declare (in) vec2 p1))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 p0)\n"
-   "      (declare (in) vec3 p1))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 p0)\n"
-   "      (declare (in) vec4 p1))\n"
-   "    ()))\n"
-   "(function dot\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x)\n"
-   "      (declare (in) float y))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) vec2 y))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) vec3 y))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) vec4 y))\n"
-   "    ()))\n"
-   "(function cross\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) vec3 y))\n"
-   "    ()))\n"
-   "(function normalize\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function faceforward\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float N)\n"
-   "      (declare (in) float I)\n"
-   "      (declare (in) float Nref))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 N)\n"
-   "      (declare (in) vec2 I)\n"
-   "      (declare (in) vec2 Nref))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 N)\n"
-   "      (declare (in) vec3 I)\n"
-   "      (declare (in) vec3 Nref))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 N)\n"
-   "      (declare (in) vec4 I)\n"
-   "      (declare (in) vec4 Nref))\n"
-   "    ()))\n"
-   "(function reflect\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float I)\n"
-   "      (declare (in) float N))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 I)\n"
-   "      (declare (in) vec2 N))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 I)\n"
-   "      (declare (in) vec3 N))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 I)\n"
-   "      (declare (in) vec4 N))\n"
-   "    ()))\n"
-   "(function refract\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float I)\n"
-   "      (declare (in) float N)\n"
-   "      (declare (in) float eta))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 I)\n"
-   "      (declare (in) vec2 N)\n"
-   "      (declare (in) float eta))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 I)\n"
-   "      (declare (in) vec3 N)\n"
-   "      (declare (in) float eta))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 I)\n"
-   "      (declare (in) vec4 N)\n"
-   "      (declare (in) float eta))\n"
-   "    ()))\n"
-   "(function matrixCompMult\n"
-   "  (signature mat2\n"
-   "    (parameters\n"
-   "      (declare (in) mat2 x)\n"
-   "      (declare (in) mat2 y))\n"
-   "    ())\n"
-   "  (signature mat3\n"
-   "    (parameters\n"
-   "      (declare (in) mat3 x)\n"
-   "      (declare (in) mat3 y))\n"
-   "    ())\n"
-   "  (signature mat4\n"
-   "    (parameters\n"
-   "      (declare (in) mat4 x)\n"
-   "      (declare (in) mat4 y))\n"
-   "    ())\n"
-   "  (signature mat2x3\n"
-   "    (parameters\n"
-   "      (declare (in) mat2x3 x)\n"
-   "      (declare (in) mat2x3 y))\n"
-   "    ())\n"
-   "  (signature mat2x4\n"
-   "    (parameters\n"
-   "      (declare (in) mat2x4 x)\n"
-   "      (declare (in) mat2x4 y))\n"
-   "    ())\n"
-   "  (signature mat3x2\n"
-   "    (parameters\n"
-   "      (declare (in) mat3x2 x)\n"
-   "      (declare (in) mat3x2 y))\n"
-   "    ())\n"
-   "  (signature mat3x4\n"
-   "    (parameters\n"
-   "      (declare (in) mat3x4 x)\n"
-   "      (declare (in) mat3x4 y))\n"
-   "    ())\n"
-   "  (signature mat4x2\n"
-   "    (parameters\n"
-   "      (declare (in) mat4x2 x)\n"
-   "      (declare (in) mat4x2 y))\n"
-   "    ())\n"
-   "  (signature mat4x3\n"
-   "    (parameters\n"
-   "      (declare (in) mat4x3 x)\n"
-   "      (declare (in) mat4x3 y))\n"
-   "    ()))\n"
-   "(function outerProduct\n"
-   "  (signature mat2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 c)\n"
-   "      (declare (in) vec2 r))\n"
-   "    ())\n"
-   "  (signature mat3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 c)\n"
-   "      (declare (in) vec3 r))\n"
-   "    ())\n"
-   "  (signature mat4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 c)\n"
-   "      (declare (in) vec4 r))\n"
-   "    ())\n"
-   "  (signature mat2x3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 c)\n"
-   "      (declare (in) vec2 r))\n"
-   "    ())\n"
-   "  (signature mat3x2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 c)\n"
-   "      (declare (in) vec3 r))\n"
-   "    ())\n"
-   "  (signature mat2x4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 c)\n"
-   "      (declare (in) vec2 r))\n"
-   "    ())\n"
-   "  (signature mat4x2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 c)\n"
-   "      (declare (in) vec4 r))\n"
-   "    ())\n"
-   "  (signature mat3x4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 c)\n"
-   "      (declare (in) vec3 r))\n"
-   "    ())\n"
-   "  (signature mat4x3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 c)\n"
-   "      (declare (in) vec4 r))\n"
-   "    ()))\n"
-   "(function transpose\n"
-   "  (signature mat2\n"
-   "    (parameters\n"
-   "      (declare (in) mat2 m))\n"
-   "    ())\n"
-   "  (signature mat3\n"
-   "    (parameters\n"
-   "      (declare (in) mat3 m))\n"
-   "    ())\n"
-   "  (signature mat4\n"
-   "    (parameters\n"
-   "      (declare (in) mat4 m))\n"
-   "    ())\n"
-   "  (signature mat2x3\n"
-   "    (parameters\n"
-   "      (declare (in) mat3x2 m))\n"
-   "    ())\n"
-   "  (signature mat3x2\n"
-   "    (parameters\n"
-   "      (declare (in) mat2x3 m))\n"
-   "    ())\n"
-   "  (signature mat2x4\n"
-   "    (parameters\n"
-   "      (declare (in) mat4x2 m))\n"
-   "    ())\n"
-   "  (signature mat4x2\n"
-   "    (parameters\n"
-   "      (declare (in) mat2x4 m))\n"
-   "    ())\n"
-   "  (signature mat3x4\n"
-   "    (parameters\n"
-   "      (declare (in) mat4x3 m))\n"
-   "    ())\n"
-   "  (signature mat4x3\n"
-   "    (parameters\n"
-   "      (declare (in) mat3x4 m))\n"
-   "    ()))\n"
-   "(function lessThan\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) vec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) vec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) vec4 y))\n"
-   "    ())\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) ivec2 x)\n"
-   "      (declare (in) ivec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) ivec3 x)\n"
-   "      (declare (in) ivec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) ivec4 x)\n"
-   "      (declare (in) ivec4 y))\n"
-   "    ())\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) uvec2 x)\n"
-   "      (declare (in) uvec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) uvec3 x)\n"
-   "      (declare (in) uvec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) uvec4 x)\n"
-   "      (declare (in) uvec4 y))\n"
-   "    ()))\n"
-   "(function lessThanEqual\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) vec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) vec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) vec4 y))\n"
-   "    ())\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) ivec2 x)\n"
-   "      (declare (in) ivec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) ivec3 x)\n"
-   "      (declare (in) ivec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) ivec4 x)\n"
-   "      (declare (in) ivec4 y))\n"
-   "    ())\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) uvec2 x)\n"
-   "      (declare (in) uvec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) uvec3 x)\n"
-   "      (declare (in) uvec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) uvec4 x)\n"
-   "      (declare (in) uvec4 y))\n"
-   "    ()))\n"
-   "(function greaterThan\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) vec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) vec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) vec4 y))\n"
-   "    ())\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) ivec2 x)\n"
-   "      (declare (in) ivec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) ivec3 x)\n"
-   "      (declare (in) ivec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) ivec4 x)\n"
-   "      (declare (in) ivec4 y))\n"
-   "    ())\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) uvec2 x)\n"
-   "      (declare (in) uvec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) uvec3 x)\n"
-   "      (declare (in) uvec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) uvec4 x)\n"
-   "      (declare (in) uvec4 y))\n"
-   "    ()))\n"
-   "(function greaterThanEqual\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) vec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) vec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) vec4 y))\n"
-   "    ())\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) ivec2 x)\n"
-   "      (declare (in) ivec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) ivec3 x)\n"
-   "      (declare (in) ivec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) ivec4 x)\n"
-   "      (declare (in) ivec4 y))\n"
-   "    ())\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) uvec2 x)\n"
-   "      (declare (in) uvec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) uvec3 x)\n"
-   "      (declare (in) uvec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) uvec4 x)\n"
-   "      (declare (in) uvec4 y))\n"
-   "    ()))\n"
-   "(function equal\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) vec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) vec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) vec4 y))\n"
-   "    ())\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) ivec2 x)\n"
-   "      (declare (in) ivec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) ivec3 x)\n"
-   "      (declare (in) ivec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) ivec4 x)\n"
-   "      (declare (in) ivec4 y))\n"
-   "    ())\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) uvec2 x)\n"
-   "      (declare (in) uvec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) uvec3 x)\n"
-   "      (declare (in) uvec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) uvec4 x)\n"
-   "      (declare (in) uvec4 y))\n"
-   "    ())\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) bvec2 x)\n"
-   "      (declare (in) bvec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) bvec3 x)\n"
-   "      (declare (in) bvec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) bvec4 x)\n"
-   "      (declare (in) bvec4 y))\n"
-   "    ()))\n"
-   "(function notEqual\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x)\n"
-   "      (declare (in) vec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x)\n"
-   "      (declare (in) vec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x)\n"
-   "      (declare (in) vec4 y))\n"
-   "    ())\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) ivec2 x)\n"
-   "      (declare (in) ivec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) ivec3 x)\n"
-   "      (declare (in) ivec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) ivec4 x)\n"
-   "      (declare (in) ivec4 y))\n"
-   "    ())\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) uvec2 x)\n"
-   "      (declare (in) uvec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) uvec3 x)\n"
-   "      (declare (in) uvec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) uvec4 x)\n"
-   "      (declare (in) uvec4 y))\n"
-   "    ())\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) bvec2 x)\n"
-   "      (declare (in) bvec2 y))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) bvec3 x)\n"
-   "      (declare (in) bvec3 y))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) bvec4 x)\n"
-   "      (declare (in) bvec4 y))\n"
-   "    ()))\n"
-   "(function any\n"
-   "  (signature bool\n"
-   "    (parameters\n"
-   "      (declare (in) bvec2 x))\n"
-   "    ())\n"
-   "  (signature bool\n"
-   "    (parameters\n"
-   "      (declare (in) bvec3 x))\n"
-   "    ())\n"
-   "  (signature bool\n"
-   "    (parameters\n"
-   "      (declare (in) bvec4 x))\n"
-   "    ()))\n"
-   "(function all\n"
-   "  (signature bool\n"
-   "    (parameters\n"
-   "      (declare (in) bvec2 x))\n"
-   "    ())\n"
-   "  (signature bool\n"
-   "    (parameters\n"
-   "      (declare (in) bvec3 x))\n"
-   "    ())\n"
-   "  (signature bool\n"
-   "    (parameters\n"
-   "      (declare (in) bvec4 x))\n"
-   "    ()))\n"
-   "(function not\n"
-   "  (signature bvec2\n"
-   "    (parameters\n"
-   "      (declare (in) bvec2 x))\n"
-   "    ())\n"
-   "  (signature bvec3\n"
-   "    (parameters\n"
-   "      (declare (in) bvec3 x))\n"
-   "    ())\n"
-   "  (signature bvec4\n"
-   "    (parameters\n"
-   "      (declare (in) bvec4 x))\n"
-   "    ()))\n"
-   "(function texture\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) float P))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1D sampler)\n"
-   "      (declare (in) float P))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1D sampler)\n"
-   "      (declare (in) float P))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec2 P))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2D sampler)\n"
-   "      (declare (in) vec2 P))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2D sampler)\n"
-   "      (declare (in) vec2 P))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler3D sampler)\n"
-   "      (declare (in) vec3 P))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler3D sampler)\n"
-   "      (declare (in) vec3 P))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler3D sampler)\n"
-   "      (declare (in) vec3 P))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) samplerCube sampler)\n"
-   "      (declare (in) vec3 P))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isamplerCube sampler)\n"
-   "      (declare (in) vec3 P))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usamplerCube sampler)\n"
-   "      (declare (in) vec3 P))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DShadow sampler)\n"
-   "      (declare (in) vec3 P))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DShadow sampler)\n"
-   "      (declare (in) vec3 P))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) samplerCubeShadow sampler)\n"
-   "      (declare (in) vec4 P))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DArray sampler)\n"
-   "      (declare (in) vec2 P))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1DArray sampler)\n"
-   "      (declare (in) vec2 P))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1DArray sampler)\n"
-   "      (declare (in) vec2 P))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DArray sampler)\n"
-   "      (declare (in) vec3 P))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2DArray sampler)\n"
-   "      (declare (in) vec3 P))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2DArray sampler)\n"
-   "      (declare (in) vec3 P))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DArrayShadow sampler)\n"
-   "      (declare (in) vec3 P))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DArrayShadow sampler)\n"
-   "      (declare (in) vec4 P))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) float P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1D sampler)\n"
-   "      (declare (in) float P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1D sampler)\n"
-   "      (declare (in) float P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler3D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler3D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler3D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) samplerCube sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isamplerCube sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usamplerCube sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DShadow sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DShadow sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) samplerCubeShadow sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DArray sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1DArray sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1DArray sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DArray sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2DArray sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2DArray sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DArrayShadow sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ()))\n"
-   "(function textureProj\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) vec2 P))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1D sampler)\n"
-   "      (declare (in) vec2 P))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1D sampler)\n"
-   "      (declare (in) vec2 P))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) vec4 P))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1D sampler)\n"
-   "      (declare (in) vec4 P))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1D sampler)\n"
-   "      (declare (in) vec4 P))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec3 P))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2D sampler)\n"
-   "      (declare (in) vec3 P))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2D sampler)\n"
-   "      (declare (in) vec3 P))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec4 P))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2D sampler)\n"
-   "      (declare (in) vec4 P))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2D sampler)\n"
-   "      (declare (in) vec4 P))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler3D sampler)\n"
-   "      (declare (in) vec4 P))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler3D sampler)\n"
-   "      (declare (in) vec4 P))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler3D sampler)\n"
-   "      (declare (in) vec4 P))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DShadow sampler)\n"
-   "      (declare (in) vec4 P))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DShadow sampler)\n"
-   "      (declare (in) vec4 P))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler3D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler3D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler3D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DShadow sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DShadow sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float bias))\n"
-   "    ()))\n"
-   "(function textureLod\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) float P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1D sampler)\n"
-   "      (declare (in) float P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1D sampler)\n"
-   "      (declare (in) float P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler3D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler3D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler3D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) samplerCube sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isamplerCube sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usamplerCube sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DShadow sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DShadow sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DArray sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1DArray sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1DArray sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DArray sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2DArray sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2DArray sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DArrayShadow sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ()))\n"
-   "(function texelFetch\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) int P)\n"
-   "      (declare (in) int lod))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1D sampler)\n"
-   "      (declare (in) int P)\n"
-   "      (declare (in) int lod))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1D sampler)\n"
-   "      (declare (in) int P)\n"
-   "      (declare (in) int lod))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) ivec2 P)\n"
-   "      (declare (in) int lod))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2D sampler)\n"
-   "      (declare (in) ivec2 P)\n"
-   "      (declare (in) int lod))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2D sampler)\n"
-   "      (declare (in) ivec2 P)\n"
-   "      (declare (in) int lod))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler3D sampler)\n"
-   "      (declare (in) ivec3 P)\n"
-   "      (declare (in) int lod))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler3D sampler)\n"
-   "      (declare (in) ivec3 P)\n"
-   "      (declare (in) int lod))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler3D sampler)\n"
-   "      (declare (in) ivec3 P)\n"
-   "      (declare (in) int lod))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DArray sampler)\n"
-   "      (declare (in) ivec2 P)\n"
-   "      (declare (in) int lod))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1DArray sampler)\n"
-   "      (declare (in) ivec2 P)\n"
-   "      (declare (in) int lod))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1DArray sampler)\n"
-   "      (declare (in) ivec2 P)\n"
-   "      (declare (in) int lod))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DArray sampler)\n"
-   "      (declare (in) ivec3 P)\n"
-   "      (declare (in) int lod))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2DArray sampler)\n"
-   "      (declare (in) ivec3 P)\n"
-   "      (declare (in) int lod))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2DArray sampler)\n"
-   "      (declare (in) ivec3 P)\n"
-   "      (declare (in) int lod))\n"
-   "    ()))\n"
-   "(function textureProjLod\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler3D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler3D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler3D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DShadow sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DShadow sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float lod))\n"
-   "    ()))\n"
-   "(function textureGrad\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) float P)\n"
-   "      (declare (in) float dPdx)\n"
-   "      (declare (in) float dPdy))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1D sampler)\n"
-   "      (declare (in) float P)\n"
-   "      (declare (in) float dPdx)\n"
-   "      (declare (in) float dPdy))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1D sampler)\n"
-   "      (declare (in) float P)\n"
-   "      (declare (in) float dPdx)\n"
-   "      (declare (in) float dPdy))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) vec2 dPdx)\n"
-   "      (declare (in) vec2 dPdy))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) vec2 dPdx)\n"
-   "      (declare (in) vec2 dPdy))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) vec2 dPdx)\n"
-   "      (declare (in) vec2 dPdy))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler3D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) vec3 dPdx)\n"
-   "      (declare (in) vec3 dPdy))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler3D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) vec3 dPdx)\n"
-   "      (declare (in) vec3 dPdy))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler3D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) vec3 dPdx)\n"
-   "      (declare (in) vec3 dPdy))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) samplerCube sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) vec3 dPdx)\n"
-   "      (declare (in) vec3 dPdy))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isamplerCube sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) vec3 dPdx)\n"
-   "      (declare (in) vec3 dPdy))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usamplerCube sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) vec3 dPdx)\n"
-   "      (declare (in) vec3 dPdy))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DShadow sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float dPdx)\n"
-   "      (declare (in) float dPdy))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DShadow sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) vec2 dPdx)\n"
-   "      (declare (in) vec2 dPdy))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) samplerCubeShadow sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) vec3 dPdx)\n"
-   "      (declare (in) vec3 dPdy))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DArray sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float dPdx)\n"
-   "      (declare (in) float dPdy))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1DArray sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float dPdx)\n"
-   "      (declare (in) float dPdy))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1DArray sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float dPdx)\n"
-   "      (declare (in) float dPdy))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DArray sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) vec2 dPdx)\n"
-   "      (declare (in) vec2 dPdy))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2DArray sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) vec2 dPdx)\n"
-   "      (declare (in) vec2 dPdy))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2DArray sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) vec2 dPdx)\n"
-   "      (declare (in) vec2 dPdy))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DArrayShadow sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) float dPdx)\n"
-   "      (declare (in) float dPdy))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DArrayShadow sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) vec2 dPdx)\n"
-   "      (declare (in) vec2 dPdy))\n"
-   "    ()))\n"
-   "(function textureProjGrad\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float dPdx)\n"
-   "      (declare (in) float dPdy))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float dPdx)\n"
-   "      (declare (in) float dPdy))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1D sampler)\n"
-   "      (declare (in) vec2 P)\n"
-   "      (declare (in) float dPdx)\n"
-   "      (declare (in) float dPdy))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float dPdx)\n"
-   "      (declare (in) float dPdy))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler1D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float dPdx)\n"
-   "      (declare (in) float dPdy))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler1D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float dPdx)\n"
-   "      (declare (in) float dPdy))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) vec2 dPdx)\n"
-   "      (declare (in) vec2 dPdy))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) vec2 dPdx)\n"
-   "      (declare (in) vec2 dPdy))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2D sampler)\n"
-   "      (declare (in) vec3 P)\n"
-   "      (declare (in) vec2 dPdx)\n"
-   "      (declare (in) vec2 dPdy))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) vec2 dPdx)\n"
-   "      (declare (in) vec2 dPdy))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler2D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) vec2 dPdx)\n"
-   "      (declare (in) vec2 dPdy))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler2D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) vec2 dPdx)\n"
-   "      (declare (in) vec2 dPdy))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler3D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) vec3 dPdx)\n"
-   "      (declare (in) vec3 dPdy))\n"
-   "    ())\n"
-   "  (signature ivec4\n"
-   "    (parameters\n"
-   "      (declare (in) isampler3D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) vec3 dPdx)\n"
-   "      (declare (in) vec3 dPdy))\n"
-   "    ())\n"
-   "  (signature uvec4\n"
-   "    (parameters\n"
-   "      (declare (in) usampler3D sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) vec3 dPdx)\n"
-   "      (declare (in) vec3 dPdy))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DShadow sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) float dPdx)\n"
-   "      (declare (in) float dPdy))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DShadow sampler)\n"
-   "      (declare (in) vec4 P)\n"
-   "      (declare (in) vec2 dPdx)\n"
-   "      (declare (in) vec2 dPdy))\n"
-   "    ()))\n"
-   "(function texture1D\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) float coord))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) float coord)\n"
-   "      (declare (in) float bias))\n"
-   "    ()))\n"
-   "(function texture1DProj\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) vec2 coord))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) vec4 coord))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) vec2 coord)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) vec4 coord)\n"
-   "      (declare (in) float bias))\n"
-   "    ()))\n"
-   "(function texture1DLod\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) float coord)\n"
-   "      (declare (in) float lod))\n"
-   "    ()))\n"
-   "(function texture1DProjLod\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) vec2 coord)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1D sampler)\n"
-   "      (declare (in) vec4 coord)\n"
-   "      (declare (in) float lod))\n"
-   "    ()))\n"
-   "(function texture2D\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec2 coord))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec2 coord)\n"
-   "      (declare (in) float bias))\n"
-   "    ()))\n"
-   "(function texture2DProj\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec3 coord))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec4 coord))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec3 coord)\n"
-   "      (declare (in) float bias))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec4 coord)\n"
-   "      (declare (in) float bias))\n"
-   "    ()))\n"
-   "(function texture2DLod\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec2 coord)\n"
-   "      (declare (in) float lod))\n"
-   "    ()))\n"
-   "(function texture2DProjLod\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec3 coord)\n"
-   "      (declare (in) float lod))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2D sampler)\n"
-   "      (declare (in) vec4 coord)\n"
-   "      (declare (in) float lod))\n"
-   "    ()))\n"
-   "(function texture3D\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler3D sampler)\n"
-   "      (declare (in) vec3 coord))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler3D sampler)\n"
-   "      (declare (in) vec3 coord)\n"
-   "      (declare (in) float bias))\n"
-   "    ()))\n"
-   "(function texture3DProj\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler3D sampler)\n"
-   "      (declare (in) vec4 coord))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler3D sampler)\n"
-   "      (declare (in) vec4 coord)\n"
-   "      (declare (in) float bias))\n"
-   "    ()))\n"
-   "(function texture3DLod\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler3D sampler)\n"
-   "      (declare (in) vec3 coord)\n"
-   "      (declare (in) float lod))\n"
-   "    ()))\n"
-   "(function texture3DProjLod\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler3D sampler)\n"
-   "      (declare (in) vec4 coord)\n"
-   "      (declare (in) float lod))\n"
-   "    ()))\n"
-   "(function textureCube\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) samplerCube sampler)\n"
-   "      (declare (in) vec3 coord))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) samplerCube sampler)\n"
-   "      (declare (in) vec3 coord)\n"
-   "      (declare (in) float bias))\n"
-   "    ()))\n"
-   "(function textureCubeLod\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) samplerCube sampler)\n"
-   "      (declare (in) vec3 coord)\n"
-   "      (declare (in) float lod))\n"
-   "    ()))\n"
-   "(function shadow1D\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DShadow sampler)\n"
-   "      (declare (in) vec3 coord))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DShadow sampler)\n"
-   "      (declare (in) vec3 coord)\n"
-   "      (declare (in) float bias))\n"
-   "    ()))\n"
-   "(function shadow2D\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DShadow sampler)\n"
-   "      (declare (in) vec3 coord))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DShadow sampler)\n"
-   "      (declare (in) vec3 coord)\n"
-   "      (declare (in) float bias))\n"
-   "    ()))\n"
-   "(function shadow1DProj\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DShadow sampler)\n"
-   "      (declare (in) vec4 coord))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DShadow sampler)\n"
-   "      (declare (in) vec4 coord)\n"
-   "      (declare (in) float bias))\n"
-   "    ()))\n"
-   "(function shadow2DProj\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DShadow sampler)\n"
-   "      (declare (in) vec4 coord))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DShadow sampler)\n"
-   "      (declare (in) vec4 coord)\n"
-   "      (declare (in) float bias))\n"
-   "    ()))\n"
-   "(function shadow1DLod\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DShadow sampler)\n"
-   "      (declare (in) vec3 coord)\n"
-   "      (declare (in) float lod))\n"
-   "    ()))\n"
-   "(function shadow2DLod\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DShadow sampler)\n"
-   "      (declare (in) vec3 coord)\n"
-   "      (declare (in) float lod))\n"
-   "    ()))\n"
-   "(function shadow1DProjLod\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler1DShadow sampler)\n"
-   "      (declare (in) vec4 coord)\n"
-   "      (declare (in) float lod))\n"
-   "    ()))\n"
-   "(function shadow2DProjLod\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) sampler2DShadow sampler)\n"
-   "      (declare (in) vec4 coord)\n"
-   "      (declare (in) float lod))\n"
-   "    ()))\n"
-   "(function dFdx\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float p))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 p))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 p))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 p))\n"
-   "    ()))\n"
-   "(function dFdy\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float p))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 p))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 p))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 p))\n"
-   "    ()))\n"
-   "(function fwidth\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float p))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 p))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 p))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 p))\n"
-   "    ()))\n"
-   "(function noise1\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature float\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function noise2\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec2\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function noise3\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec3\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ()))\n"
-   "(function noise4\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) float x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec2 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec3 x))\n"
-   "    ())\n"
-   "  (signature vec4\n"
-   "    (parameters\n"
-   "      (declare (in) vec4 x))\n"
-   "    ())))"
-;
+static const char prototypes_for_130_frag[] =
+{'(',
+'(','f','u','n','c','t','i','o','n',' ','r','a','d','i','a','n','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','d','e','g','r','e','e','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','a','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','a','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','a','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','p','o','w',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','e','x','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','l','o','g',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','e','x','p','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','l','o','g','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','i','n','v','e','r','s','e','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','a','b','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','s','i','g','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','f','l','o','o','r',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','r','u','n','c',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d','E','v','e','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','c','e','i','l',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','m','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','m','o','d','f',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','f','l','o','a','t',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','2',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','3',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','4',' ','i',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','m','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','m','a','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','c','l','a','m','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','m','i','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','s','m','o','o','t','h','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','l','e','n','g','t','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','d','i','s','t','a','n','c','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','1',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','d','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','c','r','o','s','s',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','n','o','r','m','a','l','i','z','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','f','a','c','e','f','o','r','w','a','r','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N','r','e','f',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','r','e','f','l','e','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','r','e','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','m','a','t','r','i','x','C','o','m','p','M','u','l','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','y',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','o','u','t','e','r','P','r','o','d','u','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','r','a','n','s','p','o','s','e',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','m',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','e','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','n','o','t','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','a','n','y',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','a','l','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','n','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','e','l','F','e','t','c','h',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','b','i','a','s',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','d','F','d','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','d','F','d','y',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','f','w','i','d','t','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','1',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','2',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','3',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
+'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','4',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',')'} ;
 static const char *functions_for_130_frag [] = {
    builtin_abs,
    builtin_acos,
@@ -16066,7 +13111,7 @@ static const char *functions_for_130_frag [] = {
    builtin_transpose,
    builtin_trunc,
 };
-static const char *prototypes_for_130_vert =
+static const char prototypes_for_130_vert[] =
    "(\n"
    "(function radians\n"
    "  (signature float\n"
@@ -19156,7 +16201,7 @@ static const char *functions_for_130_vert [] = {
    builtin_transpose,
    builtin_trunc,
 };
-static const char *prototypes_for_ARB_texture_rectangle_frag =
+static const char prototypes_for_ARB_texture_rectangle_frag[] =
    "(\n"
    "(function texture2DRect\n"
    "  (signature vec4\n"
@@ -19194,7 +16239,7 @@ static const char *functions_for_ARB_texture_rectangle_frag [] = {
    builtin_texture2DRect,
    builtin_texture2DRectProj,
 };
-static const char *prototypes_for_ARB_texture_rectangle_vert =
+static const char prototypes_for_ARB_texture_rectangle_vert[] =
    "(\n"
    "(function texture2DRect\n"
    "  (signature vec4\n"
@@ -19232,7 +16277,7 @@ static const char *functions_for_ARB_texture_rectangle_vert [] = {
    builtin_texture2DRect,
    builtin_texture2DRectProj,
 };
-static const char *prototypes_for_EXT_texture_array_frag =
+static const char prototypes_for_EXT_texture_array_frag[] =
    "(\n"
    "(function texture1DArray\n"
    "  (signature vec4\n"
@@ -19283,7 +16328,7 @@ static const char *functions_for_EXT_texture_array_frag [] = {
    builtin_texture1DArray,
    builtin_texture2DArray,
 };
-static const char *prototypes_for_EXT_texture_array_vert =
+static const char prototypes_for_EXT_texture_array_vert[] =
    "(\n"
    "(function texture1DArray\n"
    "  (signature vec4\n"