1/* WARNING, THIS FILE WAS GENERATED, DO NOT EDIT */
2#ifndef SKELETON_GLSL_GEN_HGLES3_GLES3
3#define SKELETON_GLSL_GEN_HGLES3_GLES3
4
5
6#include "drivers/gles3/shader_gles3.h"
7
8
9class SkeletonShaderGLES3 : public ShaderGLES3 {
10
11public:
12
13 enum Uniforms {
14 BLEND_WEIGHT,
15 BLEND_SHAPE_COUNT,
16 SKELETON_TRANSFORM_X,
17 SKELETON_TRANSFORM_Y,
18 SKELETON_TRANSFORM_OFFSET,
19 INVERSE_TRANSFORM_X,
20 INVERSE_TRANSFORM_Y,
21 INVERSE_TRANSFORM_OFFSET,
22 };
23
24 enum ShaderVariant {
25 MODE_BASE_PASS,
26 MODE_BLEND_PASS,
27 };
28
29 enum Specializations {
30 MODE_2D=1,
31 USE_BLEND_SHAPES=2,
32 USE_SKELETON=4,
33 USE_NORMAL=8,
34 USE_TANGENT=16,
35 FINAL_PASS=32,
36 USE_EIGHT_WEIGHTS=64,
37 };
38
39 _FORCE_INLINE_ bool version_bind_shader(RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { return _version_bind_shader(p_version,p_variant,p_specialization); }
40
41 _FORCE_INLINE_ int version_get_uniform(Uniforms p_uniform,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { return _version_get_uniform(p_uniform,p_version,p_variant,p_specialization); }
42
43 #define _FU if (version_get_uniform(p_uniform,p_version,p_variant,p_specialization)<0) return;
44
45 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, float p_value,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { _FU glUniform1f(version_get_uniform(p_uniform,p_version,p_variant,p_specialization),p_value); }
46
47 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, double p_value,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { _FU glUniform1f(version_get_uniform(p_uniform,p_version,p_variant,p_specialization),p_value); }
48
49 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, uint8_t p_value,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { _FU glUniform1ui(version_get_uniform(p_uniform,p_version,p_variant,p_specialization),p_value); }
50
51 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, int8_t p_value,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { _FU glUniform1i(version_get_uniform(p_uniform,p_version,p_variant,p_specialization),p_value); }
52
53 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, uint16_t p_value,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { _FU glUniform1ui(version_get_uniform(p_uniform,p_version,p_variant,p_specialization),p_value); }
54
55 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, int16_t p_value,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { _FU glUniform1i(version_get_uniform(p_uniform,p_version,p_variant,p_specialization),p_value); }
56
57 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, uint32_t p_value,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { _FU glUniform1ui(version_get_uniform(p_uniform,p_version,p_variant,p_specialization),p_value); }
58
59 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, int32_t p_value,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { _FU glUniform1i(version_get_uniform(p_uniform,p_version,p_variant,p_specialization),p_value); }
60
61 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, const Color& p_color,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { _FU GLfloat col[4]={p_color.r,p_color.g,p_color.b,p_color.a}; glUniform4fv(version_get_uniform(p_uniform,p_version,p_variant,p_specialization),1,col); }
62
63 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, const Vector2& p_vec2,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { _FU GLfloat vec2[2]={float(p_vec2.x),float(p_vec2.y)}; glUniform2fv(version_get_uniform(p_uniform,p_version,p_variant,p_specialization),1,vec2); }
64
65 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, const Size2i& p_vec2,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { _FU GLint vec2[2]={GLint(p_vec2.x),GLint(p_vec2.y)}; glUniform2iv(version_get_uniform(p_uniform,p_version,p_variant,p_specialization),1,vec2); }
66
67 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, const Vector3& p_vec3,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { _FU GLfloat vec3[3]={float(p_vec3.x),float(p_vec3.y),float(p_vec3.z)}; glUniform3fv(version_get_uniform(p_uniform,p_version,p_variant,p_specialization),1,vec3); }
68
69 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, float p_a, float p_b,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { _FU glUniform2f(version_get_uniform(p_uniform,p_version,p_variant,p_specialization),p_a,p_b); }
70
71 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, float p_a, float p_b, float p_c,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { _FU glUniform3f(version_get_uniform(p_uniform,p_version,p_variant,p_specialization),p_a,p_b,p_c); }
72
73 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, float p_a, float p_b, float p_c, float p_d,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { _FU glUniform4f(version_get_uniform(p_uniform,p_version,p_variant,p_specialization),p_a,p_b,p_c,p_d); }
74
75 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, const Transform3D& p_transform,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { _FU
76
77 const Transform3D &tr = p_transform;
78
79 GLfloat matrix[16]={ /* build a 16x16 matrix */
80 (GLfloat)tr.basis.rows[0][0],
81 (GLfloat)tr.basis.rows[1][0],
82 (GLfloat)tr.basis.rows[2][0],
83 (GLfloat)0,
84 (GLfloat)tr.basis.rows[0][1],
85 (GLfloat)tr.basis.rows[1][1],
86 (GLfloat)tr.basis.rows[2][1],
87 (GLfloat)0,
88 (GLfloat)tr.basis.rows[0][2],
89 (GLfloat)tr.basis.rows[1][2],
90 (GLfloat)tr.basis.rows[2][2],
91 (GLfloat)0,
92 (GLfloat)tr.origin.x,
93 (GLfloat)tr.origin.y,
94 (GLfloat)tr.origin.z,
95 (GLfloat)1
96 };
97
98 glUniformMatrix4fv(version_get_uniform(p_uniform,p_version,p_variant,p_specialization),1,false,matrix);
99
100 }
101
102 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, const Transform2D& p_transform,RID p_version,ShaderVariant p_variant,uint64_t p_specialization=1) { _FU
103
104 const Transform2D &tr = p_transform;
105
106 GLfloat matrix[16]={ /* build a 16x16 matrix */
107 (GLfloat)tr.columns[0][0],
108 (GLfloat)tr.columns[0][1],
109 (GLfloat)0,
110 (GLfloat)0,
111 (GLfloat)tr.columns[1][0],
112 (GLfloat)tr.columns[1][1],
113 (GLfloat)0,
114 (GLfloat)0,
115 (GLfloat)0,
116 (GLfloat)0,
117 (GLfloat)1,
118 (GLfloat)0,
119 (GLfloat)tr.columns[2][0],
120 (GLfloat)tr.columns[2][1],
121 (GLfloat)0,
122 (GLfloat)1
123 };
124
125 glUniformMatrix4fv(version_get_uniform(p_uniform,p_version,p_variant,p_specialization),1,false,matrix);
126
127 }
128
129 _FORCE_INLINE_ void version_set_uniform(Uniforms p_uniform, const Projection& p_matrix, RID p_version, ShaderVariant p_variant,uint64_t p_specialization=1) { _FU
130
131 GLfloat matrix[16];
132
133 for (int i = 0; i < 4; i++) {
134 for (int j = 0; j < 4; j++) {
135 matrix[i * 4 + j] = p_matrix.columns[i][j];
136 }
137 }
138
139 glUniformMatrix4fv(version_get_uniform(p_uniform, p_version, p_variant, p_specialization), 1, false, matrix);
140 }
141
142#undef _FU
143
144
145protected:
146
147 virtual void _init() override {
148
149 static const char* _uniform_strings[]={
150 "blend_weight",
151 "blend_shape_count",
152 "skeleton_transform_x",
153 "skeleton_transform_y",
154 "skeleton_transform_offset",
155 "inverse_transform_x",
156 "inverse_transform_y",
157 "inverse_transform_offset",
158 };
159
160 static const char* _variant_defines[]={
161 "",
162 "#define MODE_BLEND_PASS",
163 };
164
165 static TexUnitPair _texunit_pairs[]={
166 {"skeleton_texture",0},
167 };
168
169 static UBOPair *_ubo_pairs=nullptr;
170 static Specialization _spec_pairs[]={
171 {"MODE_2D",true},
172 {"USE_BLEND_SHAPES",false},
173 {"USE_SKELETON",false},
174 {"USE_NORMAL",false},
175 {"USE_TANGENT",false},
176 {"FINAL_PASS",false},
177 {"USE_EIGHT_WEIGHTS",false},
178 };
179
180 static const Feedback _feedbacks[]={
181 {"out_vertex",0},
182 {"out_normal",8},
183 {"out_tangent",16},
184 };
185
186 static const char _vertex_code[]={
18710,10,35,105,102,100,101,102,32,85,83,69,95,71,76,69,83,95,79,86,69,82,95,71,76,10,47,47,32,70,108,111,97,116,105,110,103,32,112,111,105,110,116,32,112,97,99,107,47,117,110,112,97,99,107,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,112,97,114,116,32,111,102,32,116,104,101,32,71,76,83,76,32,69,83,32,51,48,48,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,117,115,101,100,32,98,121,32,119,101,98,32,97,110,100,32,109,111,98,105,108,101,46,10,117,105,110,116,32,102,108,111,97,116,50,104,97,108,102,40,117,105,110,116,32,102,41,32,123,10,9,117,105,110,116,32,101,32,61,32,102,32,38,32,117,105,110,116,40,48,120,55,102,56,48,48,48,48,48,41,59,10,9,105,102,32,40,101,32,60,61,32,117,105,110,116,40,48,120,51,56,48,48,48,48,48,48,41,41,32,123,10,9,9,114,101,116,117,114,110,32,117,105,110,116,40,48,41,59,10,9,125,32,101,108,115,101,32,123,10,9,9,114,101,116,117,114,110,32,40,40,102,32,62,62,32,117,105,110,116,40,49,54,41,41,32,38,32,117,105,110,116,40,48,120,56,48,48,48,41,41,32,124,10,9,9,9,9,40,40,40,101,32,45,32,117,105,110,116,40,48,120,51,56,48,48,48,48,48,48,41,41,32,62,62,32,117,105,110,116,40,49,51,41,41,32,38,32,117,105,110,116,40,48,120,55,99,48,48,41,41,32,124,10,9,9,9,9,40,40,102,32,62,62,32,117,105,110,116,40,49,51,41,41,32,38,32,117,105,110,116,40,48,120,48,51,102,102,41,41,59,10,9,125,10,125,10,10,117,105,110,116,32,104,97,108,102,50,102,108,111,97,116,40,117,105,110,116,32,104,41,32,123,10,9,117,105,110,116,32,104,95,101,32,61,32,104,32,38,32,117,105,110,116,40,48,120,55,99,48,48,41,59,10,9,114,101,116,117,114,110,32,40,40,104,32,38,32,117,105,110,116,40,48,120,56,48,48,48,41,41,32,60,60,32,117,105,110,116,40,49,54,41,41,32,124,32,117,105,110,116,40,40,104,95,101,32,62,62,32,117,105,110,116,40,49,48,41,41,32,33,61,32,117,105,110,116,40,48,41,41,32,42,32,40,40,40,104,95,101,32,43,32,117,105,110,116,40,48,120,49,99,48,48,48,41,41,32,60,60,32,117,105,110,116,40,49,51,41,41,32,124,32,40,40,104,32,38,32,117,105,110,116,40,48,120,48,51,102,102,41,41,32,60,60,32,117,105,110,116,40,49,51,41,41,41,59,10,125,10,10,117,105,110,116,32,112,97,99,107,72,97,108,102,50,120,49,54,40,118,101,99,50,32,118,41,32,123,10,9,114,101,116,117,114,110,32,102,108,111,97,116,50,104,97,108,102,40,102,108,111,97,116,66,105,116,115,84,111,85,105,110,116,40,118,46,120,41,41,32,124,32,102,108,111,97,116,50,104,97,108,102,40,102,108,111,97,116,66,105,116,115,84,111,85,105,110,116,40,118,46,121,41,41,32,60,60,32,117,105,110,116,40,49,54,41,59,10,125,10,10,118,101,99,50,32,117,110,112,97,99,107,72,97,108,102,50,120,49,54,40,117,105,110,116,32,118,41,32,123,10,9,114,101,116,117,114,110,32,118,101,99,50,40,117,105,110,116,66,105,116,115,84,111,70,108,111,97,116,40,104,97,108,102,50,102,108,111,97,116,40,118,32,38,32,117,105,110,116,40,48,120,102,102,102,102,41,41,41,44,10,9,9,9,117,105,110,116,66,105,116,115,84,111,70,108,111,97,116,40,104,97,108,102,50,102,108,111,97,116,40,118,32,62,62,32,117,105,110,116,40,49,54,41,41,41,41,59,10,125,10,10,117,105,110,116,32,112,97,99,107,85,110,111,114,109,50,120,49,54,40,118,101,99,50,32,118,41,32,123,10,9,117,118,101,99,50,32,117,118,32,61,32,117,118,101,99,50,40,114,111,117,110,100,40,99,108,97,109,112,40,118,44,32,118,101,99,50,40,48,46,48,41,44,32,118,101,99,50,40,49,46,48,41,41,32,42,32,54,53,53,51,53,46,48,41,41,59,10,9,114,101,116,117,114,110,32,117,118,46,120,32,124,32,117,118,46,121,32,60,60,32,117,105,110,116,40,49,54,41,59,10,125,10,10,118,101,99,50,32,117,110,112,97,99,107,85,110,111,114,109,50,120,49,54,40,117,105,110,116,32,112,41,32,123,10,9,114,101,116,117,114,110,32,118,101,99,50,40,102,108,111,97,116,40,112,32,38,32,117,105,110,116,40,48,120,102,102,102,102,41,41,44,32,102,108,111,97,116,40,112,32,62,62,32,117,105,110,116,40,49,54,41,41,41,32,42,32,48,46,48,48,48,48,49,53,50,53,57,48,50,49,59,32,47,47,32,49,46,48,32,47,32,54,53,53,51,53,46,48,32,111,112,116,105,109,105,122,97,116,105,111,110,10,125,10,10,117,105,110,116,32,112,97,99,107,83,110,111,114,109,50,120,49,54,40,118,101,99,50,32,118,41,32,123,10,9,117,118,101,99,50,32,117,118,32,61,32,117,118,101,99,50,40,114,111,117,110,100,40,99,108,97,109,112,40,118,44,32,118,101,99,50,40,45,49,46,48,41,44,32,118,101,99,50,40,49,46,48,41,41,32,42,32,51,50,55,54,55,46,48,41,32,43,32,51,50,55,54,55,46,48,41,59,10,9,114,101,116,117,114,110,32,117,118,46,120,32,124,32,117,118,46,121,32,60,60,32,117,105,110,116,40,49,54,41,59,10,125,10,10,118,101,99,50,32,117,110,112,97,99,107,83,110,111,114,109,50,120,49,54,40,117,105,110,116,32,112,41,32,123,10,9,118,101,99,50,32,118,32,61,32,118,101,99,50,40,102,108,111,97,116,40,112,32,38,32,117,105,110,116,40,48,120,102,102,102,102,41,41,44,32,102,108,111,97,116,40,112,32,62,62,32,117,105,110,116,40,49,54,41,41,41,59,10,9,114,101,116,117,114,110,32,99,108,97,109,112,40,40,118,32,45,32,51,50,55,54,55,46,48,41,32,42,32,118,101,99,50,40,48,46,48,48,48,48,51,48,53,49,56,53,49,41,44,32,118,101,99,50,40,45,49,46,48,41,44,32,118,101,99,50,40,49,46,48,41,41,59,10,125,10,10,35,101,110,100,105,102,10,10,47,47,32,67,111,109,112,97,116,105,98,105,108,105,116,121,32,114,101,110,97,109,101,115,46,32,84,104,101,115,101,32,97,114,101,32,101,120,112,111,115,101,100,32,119,105,116,104,32,116,104,101,32,34,103,111,100,111,116,95,34,32,112,114,101,102,105,120,10,47,47,32,116,111,32,119,111,114,107,32,97,114,111,117,110,100,32,97,110,32,65,100,114,101,110,111,32,98,117,103,32,119,104,105,99,104,32,119,97,115,32,101,120,112,111,115,105,110,103,32,116,104,101,115,101,32,69,83,51,49,48,32,102,117,110,99,116,105,111,110,115,10,47,47,32,105,110,32,69,83,51,48,48,32,115,104,97,100,101,114,115,46,32,73,110,116,101,114,110,97,108,108,121,44,32,119,101,32,109,117,115,116,32,117,115,101,32,116,104,101,32,34,103,111,100,111,116,95,34,32,112,114,101,102,105,120,44,32,98,117,116,32,117,115,101,114,32,115,104,97,100,101,114,115,10,47,47,32,119,105,108,108,32,98,101,32,109,97,112,112,101,100,32,97,117,116,111,109,97,116,105,99,97,108,108,121,46,10,117,105,110,116,32,103,111,100,111,116,95,112,97,99,107,85,110,111,114,109,52,120,56,40,118,101,99,52,32,118,41,32,123,10,9,117,118,101,99,52,32,117,118,32,61,32,117,118,101,99,52,40,114,111,117,110,100,40,99,108,97,109,112,40,118,44,32,118,101,99,52,40,48,46,48,41,44,32,118,101,99,52,40,49,46,48,41,41,32,42,32,50,53,53,46,48,41,41,59,10,9,114,101,116,117,114,110,32,117,118,46,120,32,124,32,40,117,118,46,121,32,60,60,32,117,105,110,116,40,56,41,41,32,124,32,40,117,118,46,122,32,60,60,32,117,105,110,116,40,49,54,41,41,32,124,32,40,117,118,46,119,32,60,60,32,117,105,110,116,40,50,52,41,41,59,10,125,10,10,118,101,99,52,32,103,111,100,111,116,95,117,110,112,97,99,107,85,110,111,114,109,52,120,56,40,117,105,110,116,32,112,41,32,123,10,9,114,101,116,117,114,110,32,118,101,99,52,40,102,108,111,97,116,40,112,32,38,32,117,105,110,116,40,48,120,102,102,41,41,44,32,102,108,111,97,116,40,40,112,32,62,62,32,117,105,110,116,40,56,41,41,32,38,32,117,105,110,116,40,48,120,102,102,41,41,44,32,102,108,111,97,116,40,40,112,32,62,62,32,117,105,110,116,40,49,54,41,41,32,38,32,117,105,110,116,40,48,120,102,102,41,41,44,32,102,108,111,97,116,40,112,32,62,62,32,117,105,110,116,40,50,52,41,41,41,32,42,32,48,46,48,48,51,57,50,49,53,54,56,54,50,59,32,47,47,32,49,46,48,32,47,32,50,53,53,46,48,10,125,10,10,117,105,110,116,32,103,111,100,111,116,95,112,97,99,107,83,110,111,114,109,52,120,56,40,118,101,99,52,32,118,41,32,123,10,9,117,118,101,99,52,32,117,118,32,61,32,117,118,101,99,52,40,114,111,117,110,100,40,99,108,97,109,112,40,118,44,32,118,101,99,52,40,45,49,46,48,41,44,32,118,101,99,52,40,49,46,48,41,41,32,42,32,49,50,55,46,48,41,32,43,32,49,50,55,46,48,41,59,10,9,114,101,116,117,114,110,32,117,118,46,120,32,124,32,117,118,46,121,32,60,60,32,117,105,110,116,40,56,41,32,124,32,117,118,46,122,32,60,60,32,117,105,110,116,40,49,54,41,32,124,32,117,118,46,119,32,60,60,32,117,105,110,116,40,50,52,41,59,10,125,10,10,118,101,99,52,32,103,111,100,111,116,95,117,110,112,97,99,107,83,110,111,114,109,52,120,56,40,117,105,110,116,32,112,41,32,123,10,9,118,101,99,52,32,118,32,61,32,118,101,99,52,40,102,108,111,97,116,40,112,32,38,32,117,105,110,116,40,48,120,102,102,41,41,44,32,102,108,111,97,116,40,40,112,32,62,62,32,117,105,110,116,40,56,41,41,32,38,32,117,105,110,116,40,48,120,102,102,41,41,44,32,102,108,111,97,116,40,40,112,32,62,62,32,117,105,110,116,40,49,54,41,41,32,38,32,117,105,110,116,40,48,120,102,102,41,41,44,32,102,108,111,97,116,40,112,32,62,62,32,117,105,110,116,40,50,52,41,41,41,59,10,9,114,101,116,117,114,110,32,99,108,97,109,112,40,40,118,32,45,32,118,101,99,52,40,49,50,55,46,48,41,41,32,42,32,118,101,99,52,40,48,46,48,48,55,56,55,52,48,49,53,55,52,41,44,32,118,101,99,52,40,45,49,46,48,41,44,32,118,101,99,52,40,49,46,48,41,41,59,10,125,10,10,35,100,101,102,105,110,101,32,112,97,99,107,85,110,111,114,109,52,120,56,32,103,111,100,111,116,95,112,97,99,107,85,110,111,114,109,52,120,56,10,35,100,101,102,105,110,101,32,117,110,112,97,99,107,85,110,111,114,109,52,120,56,32,103,111,100,111,116,95,117,110,112,97,99,107,85,110,111,114,109,52,120,56,10,35,100,101,102,105,110,101,32,112,97,99,107,83,110,111,114,109,52,120,56,32,103,111,100,111,116,95,112,97,99,107,83,110,111,114,109,52,120,56,10,35,100,101,102,105,110,101,32,117,110,112,97,99,107,83,110,111,114,109,52,120,56,32,103,111,100,111,116,95,117,110,112,97,99,107,83,110,111,114,109,52,120,56,10,10,35,105,102,100,101,102,32,77,79,68,69,95,50,68,10,35,100,101,102,105,110,101,32,86,70,79,82,77,65,84,32,118,101,99,50,10,35,101,108,115,101,10,35,100,101,102,105,110,101,32,86,70,79,82,77,65,84,32,118,101,99,51,10,35,101,110,100,105,102,10,10,35,105,102,100,101,102,32,70,73,78,65,76,95,80,65,83,83,10,35,100,101,102,105,110,101,32,79,70,79,82,77,65,84,32,118,101,99,50,10,35,101,108,115,101,10,35,100,101,102,105,110,101,32,79,70,79,82,77,65,84,32,117,118,101,99,50,10,35,101,110,100,105,102,10,10,47,47,32,84,104,101,115,101,32,99,111,109,101,32,102,114,111,109,32,116,104,101,32,115,111,117,114,99,101,32,109,101,115,104,32,97,110,100,32,116,104,101,32,111,117,116,112,117,116,32,102,114,111,109,32,112,114,101,118,105,111,117,115,32,112,97,115,115,101,115,46,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,32,61,32,48,41,32,105,110,32,104,105,103,104,112,32,86,70,79,82,77,65,84,32,105,110,95,118,101,114,116,101,120,59,10,35,105,102,100,101,102,32,77,79,68,69,95,66,76,69,78,68,95,80,65,83,83,10,35,105,102,100,101,102,32,85,83,69,95,78,79,82,77,65,76,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,32,61,32,49,41,32,105,110,32,104,105,103,104,112,32,117,118,101,99,50,32,105,110,95,110,111,114,109,97,108,59,10,35,101,110,100,105,102,10,35,105,102,100,101,102,32,85,83,69,95,84,65,78,71,69,78,84,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,32,61,32,50,41,32,105,110,32,104,105,103,104,112,32,117,118,101,99,50,32,105,110,95,116,97,110,103,101,110,116,59,10,35,101,110,100,105,102,10,35,101,108,115,101,32,47,47,32,77,79,68,69,95,66,76,69,78,68,95,80,65,83,83,10,35,105,102,100,101,102,32,85,83,69,95,78,79,82,77,65,76,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,32,61,32,49,41,32,105,110,32,104,105,103,104,112,32,118,101,99,50,32,105,110,95,110,111,114,109,97,108,59,10,35,101,110,100,105,102,10,35,105,102,100,101,102,32,85,83,69,95,84,65,78,71,69,78,84,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,32,61,32,50,41,32,105,110,32,104,105,103,104,112,32,118,101,99,50,32,105,110,95,116,97,110,103,101,110,116,59,10,35,101,110,100,105,102,10,35,101,110,100,105,102,32,47,47,32,77,79,68,69,95,66,76,69,78,68,95,80,65,83,83,10,10,35,105,102,100,101,102,32,85,83,69,95,83,75,69,76,69,84,79,78,10,35,105,102,100,101,102,32,85,83,69,95,69,73,71,72,84,95,87,69,73,71,72,84,83,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,32,61,32,49,48,41,32,105,110,32,104,105,103,104,112,32,117,118,101,99,52,32,105,110,95,98,111,110,101,95,97,116,116,114,105,98,59,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,32,61,32,49,49,41,32,105,110,32,104,105,103,104,112,32,117,118,101,99,52,32,105,110,95,98,111,110,101,95,97,116,116,114,105,98,50,59,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,32,61,32,49,50,41,32,105,110,32,109,101,100,105,117,109,112,32,118,101,99,52,32,105,110,95,119,101,105,103,104,116,95,97,116,116,114,105,98,59,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,32,61,32,49,51,41,32,105,110,32,109,101,100,105,117,109,112,32,118,101,99,52,32,105,110,95,119,101,105,103,104,116,95,97,116,116,114,105,98,50,59,10,35,101,108,115,101,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,32,61,32,49,48,41,32,105,110,32,104,105,103,104,112,32,117,118,101,99,52,32,105,110,95,98,111,110,101,95,97,116,116,114,105,98,59,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,32,61,32,49,49,41,32,105,110,32,109,101,100,105,117,109,112,32,118,101,99,52,32,105,110,95,119,101,105,103,104,116,95,97,116,116,114,105,98,59,10,35,101,110,100,105,102,10,10,117,110,105,102,111,114,109,32,109,101,100,105,117,109,112,32,115,97,109,112,108,101,114,50,68,32,115,107,101,108,101,116,111,110,95,116,101,120,116,117,114,101,59,32,47,47,32,116,101,120,117,110,105,116,58,48,10,35,101,110,100,105,102,10,10,47,42,32,99,108,97,110,103,45,102,111,114,109,97,116,32,111,110,32,42,47,10,35,105,102,100,101,102,32,77,79,68,69,95,66,76,69,78,68,95,80,65,83,83,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,32,61,32,51,41,32,105,110,32,104,105,103,104,112,32,86,70,79,82,77,65,84,32,98,108,101,110,100,95,118,101,114,116,101,120,59,10,35,105,102,100,101,102,32,85,83,69,95,78,79,82,77,65,76,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,32,61,32,52,41,32,105,110,32,104,105,103,104,112,32,118,101,99,50,32,98,108,101,110,100,95,110,111,114,109,97,108,59,10,35,101,110,100,105,102,10,35,105,102,100,101,102,32,85,83,69,95,84,65,78,71,69,78,84,10,108,97,121,111,117,116,40,108,111,99,97,116,105,111,110,32,61,32,53,41,32,105,110,32,104,105,103,104,112,32,118,101,99,50,32,98,108,101,110,100,95,116,97,110,103,101,110,116,59,10,35,101,110,100,105,102,10,35,101,110,100,105,102,32,47,47,32,77,79,68,69,95,66,76,69,78,68,95,80,65,83,83,10,10,111,117,116,32,104,105,103,104,112,32,86,70,79,82,77,65,84,32,111,117,116,95,118,101,114,116,101,120,59,32,47,47,116,102,98,58,10,10,35,105,102,100,101,102,32,85,83,69,95,78,79,82,77,65,76,10,102,108,97,116,32,111,117,116,32,104,105,103,104,112,32,79,70,79,82,77,65,84,32,111,117,116,95,110,111,114,109,97,108,59,32,47,47,116,102,98,58,85,83,69,95,78,79,82,77,65,76,10,35,101,110,100,105,102,10,35,105,102,100,101,102,32,85,83,69,95,84,65,78,71,69,78,84,10,102,108,97,116,32,111,117,116,32,104,105,103,104,112,32,79,70,79,82,77,65,84,32,111,117,116,95,116,97,110,103,101,110,116,59,32,47,47,116,102,98,58,85,83,69,95,84,65,78,71,69,78,84,10,35,101,110,100,105,102,10,10,35,105,102,100,101,102,32,85,83,69,95,66,76,69,78,68,95,83,72,65,80,69,83,10,117,110,105,102,111,114,109,32,104,105,103,104,112,32,102,108,111,97,116,32,98,108,101,110,100,95,119,101,105,103,104,116,59,10,117,110,105,102,111,114,109,32,108,111,119,112,32,102,108,111,97,116,32,98,108,101,110,100,95,115,104,97,112,101,95,99,111,117,110,116,59,10,35,101,110,100,105,102,10,10,35,105,102,100,101,102,32,85,83,69,95,83,75,69,76,69,84,79,78,10,117,110,105,102,111,114,109,32,109,101,100,105,117,109,112,32,118,101,99,50,32,115,107,101,108,101,116,111,110,95,116,114,97,110,115,102,111,114,109,95,120,59,10,117,110,105,102,111,114,109,32,109,101,100,105,117,109,112,32,118,101,99,50,32,115,107,101,108,101,116,111,110,95,116,114,97,110,115,102,111,114,109,95,121,59,10,117,110,105,102,111,114,109,32,109,101,100,105,117,109,112,32,118,101,99,50,32,115,107,101,108,101,116,111,110,95,116,114,97,110,115,102,111,114,109,95,111,102,102,115,101,116,59,10,10,117,110,105,102,111,114,109,32,109,101,100,105,117,109,112,32,118,101,99,50,32,105,110,118,101,114,115,101,95,116,114,97,110,115,102,111,114,109,95,120,59,10,117,110,105,102,111,114,109,32,109,101,100,105,117,109,112,32,118,101,99,50,32,105,110,118,101,114,115,101,95,116,114,97,110,115,102,111,114,109,95,121,59,10,117,110,105,102,111,114,109,32,109,101,100,105,117,109,112,32,118,101,99,50,32,105,110,118,101,114,115,101,95,116,114,97,110,115,102,111,114,109,95,111,102,102,115,101,116,59,10,35,101,110,100,105,102,10,10,118,101,99,50,32,115,105,103,110,78,111,116,90,101,114,111,40,118,101,99,50,32,118,41,32,123,10,9,114,101,116,117,114,110,32,109,105,120,40,118,101,99,50,40,45,49,46,48,41,44,32,118,101,99,50,40,49,46,48,41,44,32,103,114,101,97,116,101,114,84,104,97,110,69,113,117,97,108,40,118,46,120,121,44,32,118,101,99,50,40,48,46,48,41,41,41,59,10,125,10,10,118,101,99,51,32,111,99,116,95,116,111,95,118,101,99,51,40,118,101,99,50,32,111,99,116,41,32,123,10,9,111,99,116,32,61,32,111,99,116,32,42,32,50,46,48,32,45,32,49,46,48,59,10,9,118,101,99,51,32,118,32,61,32,118,101,99,51,40,111,99,116,46,120,121,44,32,49,46,48,32,45,32,97,98,115,40,111,99,116,46,120,41,32,45,32,97,98,115,40,111,99,116,46,121,41,41,59,10,9,105,102,32,40,118,46,122,32,60,32,48,46,48,41,32,123,10,9,9,118,46,120,121,32,61,32,40,49,46,48,32,45,32,97,98,115,40,118,46,121,120,41,41,32,42,32,115,105,103,110,78,111,116,90,101,114,111,40,118,46,120,121,41,59,10,9,125,10,9,114,101,116,117,114,110,32,110,111,114,109,97,108,105,122,101,40,118,41,59,10,125,10,10,118,101,99,50,32,118,101,99,51,95,116,111,95,111,99,116,40,118,101,99,51,32,101,41,32,123,10,9,101,32,47,61,32,97,98,115,40,101,46,120,41,32,43,32,97,98,115,40,101,46,121,41,32,43,32,97,98,115,40,101,46,122,41,59,10,9,118,101,99,50,32,111,99,116,32,61,32,101,46,122,32,62,61,32,48,46,48,102,32,63,32,101,46,120,121,32,58,32,40,118,101,99,50,40,49,46,48,102,41,32,45,32,97,98,115,40,101,46,121,120,41,41,32,42,32,115,105,103,110,78,111,116,90,101,114,111,40,101,46,120,121,41,59,10,9,114,101,116,117,114,110,32,111,99,116,32,42,32,48,46,53,102,32,43,32,48,46,53,102,59,10,125,10,10,118,101,99,52,32,111,99,116,95,116,111,95,116,97,110,103,40,118,101,99,50,32,111,99,116,95,115,105,103,110,95,101,110,99,111,100,101,100,41,32,123,10,9,47,47,32,66,105,110,111,114,109,97,108,32,115,105,103,110,32,101,110,99,111,100,101,100,32,105,110,32,121,32,99,111,109,112,111,110,101,110,116,10,9,118,101,99,50,32,111,99,116,32,61,32,118,101,99,50,40,111,99,116,95,115,105,103,110,95,101,110,99,111,100,101,100,46,120,44,32,97,98,115,40,111,99,116,95,115,105,103,110,95,101,110,99,111,100,101,100,46,121,41,32,42,32,50,46,48,32,45,32,49,46,48,41,59,10,9,114,101,116,117,114,110,32,118,101,99,52,40,111,99,116,95,116,111,95,118,101,99,51,40,111,99,116,41,44,32,115,105,103,110,40,111,99,116,95,115,105,103,110,95,101,110,99,111,100,101,100,46,121,41,41,59,10,125,10,10,118,101,99,50,32,116,97,110,103,95,116,111,95,111,99,116,40,118,101,99,52,32,98,97,115,101,41,32,123,10,9,118,101,99,50,32,111,99,116,32,61,32,118,101,99,51,95,116,111,95,111,99,116,40,98,97,115,101,46,120,121,122,41,59,10,9,47,47,32,69,110,99,111,100,101,32,98,105,110,111,114,109,97,108,32,115,105,103,110,32,105,110,32,121,32,99,111,109,112,111,110,101,110,116,10,9,111,99,116,46,121,32,61,32,111,99,116,46,121,32,42,32,48,46,53,102,32,43,32,48,46,53,102,59,10,9,111,99,116,46,121,32,61,32,98,97,115,101,46,119,32,62,61,32,48,46,48,102,32,63,32,111,99,116,46,121,32,58,32,49,46,48,32,45,32,111,99,116,46,121,59,10,9,114,101,116,117,114,110,32,111,99,116,59,10,125,10,10,47,47,32,79,117,114,32,111,114,105,103,105,110,97,108,32,105,110,112,117,116,32,102,111,114,32,110,111,114,109,97,108,115,32,97,110,100,32,116,97,110,103,101,110,116,115,32,105,115,32,50,32,49,54,45,98,105,116,32,102,108,111,97,116,115,46,10,47,47,32,84,114,97,110,115,102,111,114,109,32,70,101,101,100,98,97,99,107,32,104,97,115,32,116,111,32,119,114,105,116,101,32,111,117,116,32,51,50,45,98,105,116,115,32,112,101,114,32,99,104,97,110,110,101,108,46,10,47,47,32,79,99,116,97,104,101,100,114,97,108,32,99,111,109,112,114,101,115,115,105,111,110,32,114,101,113,117,105,114,101,115,32,110,111,114,109,97,108,105,122,101,100,32,118,101,99,116,111,114,115,44,32,98,117,116,32,119,101,32,110,101,101,100,32,116,111,32,115,116,111,114,101,10,47,47,32,110,111,110,45,110,111,114,109,97,108,105,122,101,100,32,118,101,99,116,111,114,115,32,117,110,116,105,108,32,116,104,101,32,118,101,114,121,32,101,110,100,46,10,47,47,32,84,104,101,114,101,102,111,114,101,44,32,119,101,32,119,105,108,108,32,99,111,109,112,114,101,115,115,32,111,117,114,32,110,111,114,109,97,108,115,32,105,110,116,111,32,49,54,32,98,105,116,115,32,117,115,105,110,103,32,115,105,103,110,101,100,45,110,111,114,109,97,108,105,122,101,100,10,47,47,32,102,105,120,101,100,32,112,111,105,110,116,32,112,114,101,99,105,115,105,111,110,46,32,84,104,105,115,32,119,111,114,107,115,32,119,101,108,108,44,32,98,101,99,97,117,115,101,32,119,101,32,107,110,111,119,32,116,104,97,116,32,101,97,99,104,32,110,111,114,109,97,108,10,47,47,32,105,115,32,110,111,32,108,97,114,103,101,114,32,116,104,97,110,32,124,49,124,32,115,111,32,119,101,32,99,97,110,32,110,111,114,109,97,108,105,122,101,32,98,121,32,100,105,118,105,100,105,110,103,32,98,121,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,98,108,101,110,100,10,47,47,32,115,104,97,112,101,115,46,10,117,118,101,99,50,32,118,101,99,52,95,116,111,95,118,101,99,50,40,118,101,99,52,32,112,95,118,101,99,41,32,123,10,9,114,101,116,117,114,110,32,117,118,101,99,50,40,112,97,99,107,83,110,111,114,109,50,120,49,54,40,112,95,118,101,99,46,120,121,41,44,32,112,97,99,107,83,110,111,114,109,50,120,49,54,40,112,95,118,101,99,46,122,119,41,41,59,10,125,10,10,118,101,99,52,32,118,101,99,50,95,116,111,95,118,101,99,52,40,117,118,101,99,50,32,112,95,118,101,99,41,32,123,10,9,114,101,116,117,114,110,32,118,101,99,52,40,117,110,112,97,99,107,83,110,111,114,109,50,120,49,54,40,112,95,118,101,99,46,120,41,44,32,117,110,112,97,99,107,83,110,111,114,109,50,120,49,54,40,112,95,118,101,99,46,121,41,41,59,10,125,10,10,118,111,105,100,32,109,97,105,110,40,41,32,123,10,35,105,102,100,101,102,32,77,79,68,69,95,50,68,10,9,111,117,116,95,118,101,114,116,101,120,32,61,32,105,110,95,118,101,114,116,101,120,59,10,10,35,105,102,100,101,102,32,85,83,69,95,66,76,69,78,68,95,83,72,65,80,69,83,10,35,105,102,100,101,102,32,77,79,68,69,95,66,76,69,78,68,95,80,65,83,83,10,9,111,117,116,95,118,101,114,116,101,120,32,61,32,105,110,95,118,101,114,116,101,120,32,43,32,98,108,101,110,100,95,118,101,114,116,101,120,32,42,32,98,108,101,110,100,95,119,101,105,103,104,116,59,10,35,101,108,115,101,10,9,111,117,116,95,118,101,114,116,101,120,32,61,32,105,110,95,118,101,114,116,101,120,32,42,32,98,108,101,110,100,95,119,101,105,103,104,116,59,10,35,101,110,100,105,102,10,35,105,102,100,101,102,32,70,73,78,65,76,95,80,65,83,83,10,9,111,117,116,95,118,101,114,116,101,120,32,61,32,110,111,114,109,97,108,105,122,101,40,111,117,116,95,118,101,114,116,101,120,41,59,10,35,101,110,100,105,102,10,35,101,110,100,105,102,32,47,47,32,85,83,69,95,66,76,69,78,68,95,83,72,65,80,69,83,10,10,35,105,102,100,101,102,32,85,83,69,95,83,75,69,76,69,84,79,78,10,10,35,100,101,102,105,110,101,32,84,69,88,40,109,41,32,116,101,120,101,108,70,101,116,99,104,40,115,107,101,108,101,116,111,110,95,116,101,120,116,117,114,101,44,32,105,118,101,99,50,40,109,32,37,32,50,53,54,117,44,32,109,32,47,32,50,53,54,117,41,44,32,48,41,10,35,100,101,102,105,110,101,32,71,69,84,95,66,79,78,69,95,77,65,84,82,73,88,40,97,44,32,98,44,32,119,41,32,109,97,116,50,120,52,40,84,69,88,40,97,41,44,32,84,69,88,40,98,41,41,32,42,32,119,10,10,9,117,118,101,99,52,32,98,111,110,101,115,32,61,32,105,110,95,98,111,110,101,95,97,116,116,114,105,98,32,42,32,117,118,101,99,52,40,50,117,41,59,10,9,117,118,101,99,52,32,98,111,110,101,115,95,97,32,61,32,98,111,110,101,115,32,43,32,117,118,101,99,52,40,49,117,41,59,10,10,9,104,105,103,104,112,32,109,97,116,50,120,52,32,109,32,61,32,71,69,84,95,66,79,78,69,95,77,65,84,82,73,88,40,98,111,110,101,115,46,120,44,32,98,111,110,101,115,95,97,46,120,44,32,105,110,95,119,101,105,103,104,116,95,97,116,116,114,105,98,46,120,41,59,10,9,109,32,43,61,32,71,69,84,95,66,79,78,69,95,77,65,84,82,73,88,40,98,111,110,101,115,46,121,44,32,98,111,110,101,115,95,97,46,121,44,32,105,110,95,119,101,105,103,104,116,95,97,116,116,114,105,98,46,121,41,59,10,9,109,32,43,61,32,71,69,84,95,66,79,78,69,95,77,65,84,82,73,88,40,98,111,110,101,115,46,122,44,32,98,111,110,101,115,95,97,46,122,44,32,105,110,95,119,101,105,103,104,116,95,97,116,116,114,105,98,46,122,41,59,10,9,109,32,43,61,32,71,69,84,95,66,79,78,69,95,77,65,84,82,73,88,40,98,111,110,101,115,46,119,44,32,98,111,110,101,115,95,97,46,119,44,32,105,110,95,119,101,105,103,104,116,95,97,116,116,114,105,98,46,119,41,59,10,10,9,109,97,116,52,32,115,107,101,108,101,116,111,110,95,109,97,116,114,105,120,32,61,32,109,97,116,52,40,118,101,99,52,40,115,107,101,108,101,116,111,110,95,116,114,97,110,115,102,111,114,109,95,120,44,32,48,46,48,44,32,48,46,48,41,44,32,118,101,99,52,40,115,107,101,108,101,116,111,110,95,116,114,97,110,115,102,111,114,109,95,121,44,32,48,46,48,44,32,48,46,48,41,44,32,118,101,99,52,40,48,46,48,44,32,48,46,48,44,32,49,46,48,44,32,48,46,48,41,44,32,118,101,99,52,40,115,107,101,108,101,116,111,110,95,116,114,97,110,115,102,111,114,109,95,111,102,102,115,101,116,44,32,48,46,48,44,32,49,46,48,41,41,59,10,9,109,97,116,52,32,105,110,118,101,114,115,101,95,109,97,116,114,105,120,32,61,32,109,97,116,52,40,118,101,99,52,40,105,110,118,101,114,115,101,95,116,114,97,110,115,102,111,114,109,95,120,44,32,48,46,48,44,32,48,46,48,41,44,32,118,101,99,52,40,105,110,118,101,114,115,101,95,116,114,97,110,115,102,111,114,109,95,121,44,32,48,46,48,44,32,48,46,48,41,44,32,118,101,99,52,40,48,46,48,44,32,48,46,48,44,32,49,46,48,44,32,48,46,48,41,44,32,118,101,99,52,40,105,110,118,101,114,115,101,95,116,114,97,110,115,102,111,114,109,95,111,102,102,115,101,116,44,32,48,46,48,44,32,49,46,48,41,41,59,10,9,109,97,116,52,32,98,111,110,101,95,109,97,116,114,105,120,32,61,32,109,97,116,52,40,109,91,48,93,44,32,109,91,49,93,44,32,118,101,99,52,40,48,46,48,44,32,48,46,48,44,32,49,46,48,44,32,48,46,48,41,44,32,118,101,99,52,40,48,46,48,44,32,48,46,48,44,32,48,46,48,44,32,49,46,48,41,41,59,10,10,9,98,111,110,101,95,109,97,116,114,105,120,32,61,32,115,107,101,108,101,116,111,110,95,109,97,116,114,105,120,32,42,32,116,114,97,110,115,112,111,115,101,40,98,111,110,101,95,109,97,116,114,105,120,41,32,42,32,105,110,118,101,114,115,101,95,109,97,116,114,105,120,59,10,10,9,111,117,116,95,118,101,114,116,101,120,32,61,32,40,98,111,110,101,95,109,97,116,114,105,120,32,42,32,118,101,99,52,40,111,117,116,95,118,101,114,116,101,120,44,32,48,46,48,44,32,49,46,48,41,41,46,120,121,59,10,35,101,110,100,105,102,32,47,47,32,85,83,69,95,83,75,69,76,69,84,79,78,10,10,35,101,108,115,101,32,47,47,32,77,79,68,69,95,50,68,10,10,35,105,102,100,101,102,32,85,83,69,95,66,76,69,78,68,95,83,72,65,80,69,83,10,35,105,102,100,101,102,32,77,79,68,69,95,66,76,69,78,68,95,80,65,83,83,10,9,111,117,116,95,118,101,114,116,101,120,32,61,32,105,110,95,118,101,114,116,101,120,32,43,32,98,108,101,110,100,95,118,101,114,116,101,120,32,42,32,98,108,101,110,100,95,119,101,105,103,104,116,59,10,10,35,105,102,100,101,102,32,85,83,69,95,78,79,82,77,65,76,10,9,118,101,99,51,32,110,111,114,109,97,108,32,61,32,118,101,99,50,95,116,111,95,118,101,99,52,40,105,110,95,110,111,114,109,97,108,41,46,120,121,122,32,42,32,98,108,101,110,100,95,115,104,97,112,101,95,99,111,117,110,116,59,10,9,118,101,99,51,32,110,111,114,109,97,108,95,98,108,101,110,100,32,61,32,111,99,116,95,116,111,95,118,101,99,51,40,98,108,101,110,100,95,110,111,114,109,97,108,41,32,42,32,98,108,101,110,100,95,119,101,105,103,104,116,59,10,35,105,102,100,101,102,32,70,73,78,65,76,95,80,65,83,83,10,9,111,117,116,95,110,111,114,109,97,108,32,61,32,118,101,99,51,95,116,111,95,111,99,116,40,110,111,114,109,97,108,105,122,101,40,110,111,114,109,97,108,32,43,32,110,111,114,109,97,108,95,98,108,101,110,100,41,41,59,10,35,101,108,115,101,10,9,111,117,116,95,110,111,114,109,97,108,32,61,32,118,101,99,52,95,116,111,95,118,101,99,50,40,118,101,99,52,40,110,111,114,109,97,108,32,43,32,110,111,114,109,97,108,95,98,108,101,110,100,44,32,48,46,48,41,32,47,32,98,108,101,110,100,95,115,104,97,112,101,95,99,111,117,110,116,41,59,10,35,101,110,100,105,102,10,35,101,110,100,105,102,32,47,47,32,85,83,69,95,78,79,82,77,65,76,10,10,35,105,102,100,101,102,32,85,83,69,95,84,65,78,71,69,78,84,10,9,118,101,99,52,32,116,97,110,103,101,110,116,32,61,32,118,101,99,50,95,116,111,95,118,101,99,52,40,105,110,95,116,97,110,103,101,110,116,41,32,42,32,98,108,101,110,100,95,115,104,97,112,101,95,99,111,117,110,116,59,10,9,118,101,99,52,32,116,97,110,103,101,110,116,95,98,108,101,110,100,32,61,32,111,99,116,95,116,111,95,116,97,110,103,40,98,108,101,110,100,95,116,97,110,103,101,110,116,41,32,42,32,98,108,101,110,100,95,119,101,105,103,104,116,59,10,35,105,102,100,101,102,32,70,73,78,65,76,95,80,65,83,83,10,9,111,117,116,95,116,97,110,103,101,110,116,32,61,32,116,97,110,103,95,116,111,95,111,99,116,40,118,101,99,52,40,110,111,114,109,97,108,105,122,101,40,116,97,110,103,101,110,116,46,120,121,122,32,43,32,116,97,110,103,101,110,116,95,98,108,101,110,100,46,120,121,122,41,44,32,116,97,110,103,101,110,116,46,119,41,41,59,10,35,101,108,115,101,10,9,111,117,116,95,116,97,110,103,101,110,116,32,61,32,118,101,99,52,95,116,111,95,118,101,99,50,40,118,101,99,52,40,40,116,97,110,103,101,110,116,46,120,121,122,32,43,32,116,97,110,103,101,110,116,95,98,108,101,110,100,46,120,121,122,41,32,47,32,98,108,101,110,100,95,115,104,97,112,101,95,99,111,117,110,116,44,32,116,97,110,103,101,110,116,46,119,41,41,59,10,35,101,110,100,105,102,10,35,101,110,100,105,102,32,47,47,32,85,83,69,95,84,65,78,71,69,78,84,10,10,35,101,108,115,101,32,47,47,32,77,79,68,69,95,66,76,69,78,68,95,80,65,83,83,10,9,111,117,116,95,118,101,114,116,101,120,32,61,32,105,110,95,118,101,114,116,101,120,32,42,32,98,108,101,110,100,95,119,101,105,103,104,116,59,10,10,35,105,102,100,101,102,32,85,83,69,95,78,79,82,77,65,76,10,9,118,101,99,51,32,110,111,114,109,97,108,32,61,32,111,99,116,95,116,111,95,118,101,99,51,40,105,110,95,110,111,114,109,97,108,41,59,10,9,111,117,116,95,110,111,114,109,97,108,32,61,32,118,101,99,52,95,116,111,95,118,101,99,50,40,118,101,99,52,40,110,111,114,109,97,108,32,42,32,98,108,101,110,100,95,119,101,105,103,104,116,32,47,32,98,108,101,110,100,95,115,104,97,112,101,95,99,111,117,110,116,44,32,48,46,48,41,41,59,10,35,101,110,100,105,102,10,35,105,102,100,101,102,32,85,83,69,95,84,65,78,71,69,78,84,10,9,118,101,99,52,32,116,97,110,103,101,110,116,32,61,32,111,99,116,95,116,111,95,116,97,110,103,40,105,110,95,116,97,110,103,101,110,116,41,59,10,9,111,117,116,95,116,97,110,103,101,110,116,32,61,32,118,101,99,52,95,116,111,95,118,101,99,50,40,118,101,99,52,40,116,97,110,103,101,110,116,46,114,103,98,32,42,32,98,108,101,110,100,95,119,101,105,103,104,116,32,47,32,98,108,101,110,100,95,115,104,97,112,101,95,99,111,117,110,116,44,32,116,97,110,103,101,110,116,46,119,41,41,59,10,35,101,110,100,105,102,10,35,101,110,100,105,102,32,47,47,32,77,79,68,69,95,66,76,69,78,68,95,80,65,83,83,10,35,101,108,115,101,32,47,47,32,85,83,69,95,66,76,69,78,68,95,83,72,65,80,69,83,10,10,9,47,47,32,77,97,107,101,32,97,116,116,114,105,98,117,116,101,115,32,97,118,97,105,108,97,98,108,101,32,116,111,32,116,104,101,32,115,107,101,108,101,116,111,110,32,115,104,97,100,101,114,32,105,102,32,110,111,116,32,119,114,105,116,116,101,110,32,98,121,32,98,108,101,110,100,32,115,104,97,112,101,115,46,10,9,111,117,116,95,118,101,114,116,101,120,32,61,32,105,110,95,118,101,114,116,101,120,59,10,35,105,102,100,101,102,32,85,83,69,95,78,79,82,77,65,76,10,9,111,117,116,95,110,111,114,109,97,108,32,61,32,105,110,95,110,111,114,109,97,108,59,10,35,101,110,100,105,102,10,35,105,102,100,101,102,32,85,83,69,95,84,65,78,71,69,78,84,10,9,111,117,116,95,116,97,110,103,101,110,116,32,61,32,105,110,95,116,97,110,103,101,110,116,59,10,35,101,110,100,105,102,10,35,101,110,100,105,102,32,47,47,32,85,83,69,95,66,76,69,78,68,95,83,72,65,80,69,83,10,10,35,105,102,100,101,102,32,85,83,69,95,83,75,69,76,69,84,79,78,10,10,35,100,101,102,105,110,101,32,84,69,88,40,109,41,32,116,101,120,101,108,70,101,116,99,104,40,115,107,101,108,101,116,111,110,95,116,101,120,116,117,114,101,44,32,105,118,101,99,50,40,109,32,37,32,50,53,54,117,44,32,109,32,47,32,50,53,54,117,41,44,32,48,41,10,35,100,101,102,105,110,101,32,71,69,84,95,66,79,78,69,95,77,65,84,82,73,88,40,97,44,32,98,44,32,99,44,32,119,41,32,109,97,116,52,40,84,69,88,40,97,41,44,32,84,69,88,40,98,41,44,32,84,69,88,40,99,41,44,32,118,101,99,52,40,48,46,48,44,32,48,46,48,44,32,48,46,48,44,32,49,46,48,41,41,32,42,32,119,10,10,9,117,118,101,99,52,32,98,111,110,101,115,32,61,32,105,110,95,98,111,110,101,95,97,116,116,114,105,98,32,42,32,117,118,101,99,52,40,51,41,59,10,9,117,118,101,99,52,32,98,111,110,101,115,95,97,32,61,32,98,111,110,101,115,32,43,32,117,118,101,99,52,40,49,41,59,10,9,117,118,101,99,52,32,98,111,110,101,115,95,98,32,61,32,98,111,110,101,115,32,43,32,117,118,101,99,52,40,50,41,59,10,10,9,104,105,103,104,112,32,109,97,116,52,32,109,59,10,9,109,32,61,32,71,69,84,95,66,79,78,69,95,77,65,84,82,73,88,40,98,111,110,101,115,46,120,44,32,98,111,110,101,115,95,97,46,120,44,32,98,111,110,101,115,95,98,46,120,44,32,105,110,95,119,101,105,103,104,116,95,97,116,116,114,105,98,46,120,41,59,10,9,109,32,43,61,32,71,69,84,95,66,79,78,69,95,77,65,84,82,73,88,40,98,111,110,101,115,46,121,44,32,98,111,110,101,115,95,97,46,121,44,32,98,111,110,101,115,95,98,46,121,44,32,105,110,95,119,101,105,103,104,116,95,97,116,116,114,105,98,46,121,41,59,10,9,109,32,43,61,32,71,69,84,95,66,79,78,69,95,77,65,84,82,73,88,40,98,111,110,101,115,46,122,44,32,98,111,110,101,115,95,97,46,122,44,32,98,111,110,101,115,95,98,46,122,44,32,105,110,95,119,101,105,103,104,116,95,97,116,116,114,105,98,46,122,41,59,10,9,109,32,43,61,32,71,69,84,95,66,79,78,69,95,77,65,84,82,73,88,40,98,111,110,101,115,46,119,44,32,98,111,110,101,115,95,97,46,119,44,32,98,111,110,101,115,95,98,46,119,44,32,105,110,95,119,101,105,103,104,116,95,97,116,116,114,105,98,46,119,41,59,10,10,35,105,102,100,101,102,32,85,83,69,95,69,73,71,72,84,95,87,69,73,71,72,84,83,10,9,98,111,110,101,115,32,61,32,105,110,95,98,111,110,101,95,97,116,116,114,105,98,50,32,42,32,117,118,101,99,52,40,51,41,59,10,9,98,111,110,101,115,95,97,32,61,32,98,111,110,101,115,32,43,32,117,118,101,99,52,40,49,41,59,10,9,98,111,110,101,115,95,98,32,61,32,98,111,110,101,115,32,43,32,117,118,101,99,52,40,50,41,59,10,10,9,109,32,43,61,32,71,69,84,95,66,79,78,69,95,77,65,84,82,73,88,40,98,111,110,101,115,46,120,44,32,98,111,110,101,115,95,97,46,120,44,32,98,111,110,101,115,95,98,46,120,44,32,105,110,95,119,101,105,103,104,116,95,97,116,116,114,105,98,50,46,120,41,59,10,9,109,32,43,61,32,71,69,84,95,66,79,78,69,95,77,65,84,82,73,88,40,98,111,110,101,115,46,121,44,32,98,111,110,101,115,95,97,46,121,44,32,98,111,110,101,115,95,98,46,121,44,32,105,110,95,119,101,105,103,104,116,95,97,116,116,114,105,98,50,46,121,41,59,10,9,109,32,43,61,32,71,69,84,95,66,79,78,69,95,77,65,84,82,73,88,40,98,111,110,101,115,46,122,44,32,98,111,110,101,115,95,97,46,122,44,32,98,111,110,101,115,95,98,46,122,44,32,105,110,95,119,101,105,103,104,116,95,97,116,116,114,105,98,50,46,122,41,59,10,9,109,32,43,61,32,71,69,84,95,66,79,78,69,95,77,65,84,82,73,88,40,98,111,110,101,115,46,119,44,32,98,111,110,101,115,95,97,46,119,44,32,98,111,110,101,115,95,98,46,119,44,32,105,110,95,119,101,105,103,104,116,95,97,116,116,114,105,98,50,46,119,41,59,10,35,101,110,100,105,102,10,10,9,47,47,32,82,101,118,101,114,115,101,32,111,114,100,101,114,32,98,101,99,97,117,115,101,32,105,116,115,32,116,114,97,110,115,112,111,115,101,100,46,10,9,111,117,116,95,118,101,114,116,101,120,32,61,32,40,118,101,99,52,40,111,117,116,95,118,101,114,116,101,120,44,32,49,46,48,41,32,42,32,109,41,46,120,121,122,59,10,35,105,102,100,101,102,32,85,83,69,95,78,79,82,77,65,76,10,9,118,101,99,51,32,118,101,114,116,101,120,95,110,111,114,109,97,108,32,61,32,111,99,116,95,116,111,95,118,101,99,51,40,111,117,116,95,110,111,114,109,97,108,41,59,10,9,111,117,116,95,110,111,114,109,97,108,32,61,32,118,101,99,51,95,116,111,95,111,99,116,40,110,111,114,109,97,108,105,122,101,40,40,118,101,99,52,40,118,101,114,116,101,120,95,110,111,114,109,97,108,44,32,48,46,48,41,32,42,32,109,41,46,120,121,122,41,41,59,10,35,101,110,100,105,102,32,47,47,32,85,83,69,95,78,79,82,77,65,76,10,35,105,102,100,101,102,32,85,83,69,95,84,65,78,71,69,78,84,10,9,118,101,99,52,32,118,101,114,116,101,120,95,116,97,110,103,101,110,116,32,61,32,111,99,116,95,116,111,95,116,97,110,103,40,111,117,116,95,116,97,110,103,101,110,116,41,59,10,9,111,117,116,95,116,97,110,103,101,110,116,32,61,32,116,97,110,103,95,116,111,95,111,99,116,40,118,101,99,52,40,110,111,114,109,97,108,105,122,101,40,40,118,101,99,52,40,118,101,114,116,101,120,95,116,97,110,103,101,110,116,46,120,121,122,44,32,48,46,48,41,32,42,32,109,41,46,120,121,122,41,44,32,118,101,114,116,101,120,95,116,97,110,103,101,110,116,46,119,41,41,59,10,35,101,110,100,105,102,32,47,47,32,85,83,69,95,84,65,78,71,69,78,84,10,35,101,110,100,105,102,32,47,47,32,85,83,69,95,83,75,69,76,69,84,79,78,10,35,101,110,100,105,102,32,47,47,32,77,79,68,69,95,50,68,10,125,10,10,47,42,32,99,108,97,110,103,45,102,111,114,109,97,116,32,111,102,102,32,42,47,10, 0};
188
189 static const char _fragment_code[]={
19010,118,111,105,100,32,109,97,105,110,40,41,32,123,10,10,125,10,47,42,32,99,108,97,110,103,45,102,111,114,109,97,116,32,111,110,32,42,47,10, 0};
191
192 _setup(_vertex_code,_fragment_code,"SkeletonShaderGLES3",8,_uniform_strings,0,_ubo_pairs,3,_feedbacks,1,_texunit_pairs,7,_spec_pairs,2,_variant_defines);
193 }
194
195};
196
197#endif
198
199