#version 310 es
precision mediump float;


layout (binding = 0) buffer S_1 {
  float a;
} b0;
layout (binding = 0) buffer S_2 {
  float a;
} b1;
layout (binding = 0) buffer S_3 {
  float a;
} b2;
layout (binding = 0) buffer S_4 {
  float a;
} b3;
layout (binding = 0) buffer S_5 {
  float a;
} b4;
layout (binding = 0) buffer S_6 {
  float a;
} b5;
layout (binding = 0) buffer S_7 {
  float a;
} b6;
layout (binding = 0) buffer S_8 {
  float a;
} b7;
layout (binding = 1) uniform S_9 {
  float a;
} b8;
layout (binding = 1) uniform S_10 {
  float a;
} b9;
layout (binding = 1) uniform S_11 {
  float a;
} b10;
layout (binding = 1) uniform S_12 {
  float a;
} b11;
layout (binding = 1) uniform S_13 {
  float a;
} b12;
layout (binding = 1) uniform S_14 {
  float a;
} b13;
layout (binding = 1) uniform S_15 {
  float a;
} b14;
layout (binding = 1) uniform S_16 {
  float a;
} b15;
uniform highp sampler2D t0;
uniform highp sampler2D t1;
uniform highp sampler2D t2;
uniform highp sampler2D t3;
uniform highp sampler2D t4;
uniform highp sampler2D t5;
uniform highp sampler2D t6;
uniform highp sampler2D t7;
uniform highp sampler2D t8;
uniform highp sampler2D t9;
uniform highp sampler2D t10;
uniform highp sampler2D t11;
uniform highp sampler2D t12;
uniform highp sampler2D t13;
uniform highp sampler2D t14;
uniform highp sampler2D t15;

















void tint_symbol() {
  return;
}
void main() {
  tint_symbol();
}


