
#ifndef RNN_H_
#define RNN_H_



#include "SamsungSolomonVoiceW_Int.h"
#include "SamsungSolomonVoiceW_Table.h"
#include "SamsungSolomonVoiceW_basic_op.h"
#include "SamsungSolomonVoiceW_FFT_functions.h"

#if 1//#ifdef __EXE_RNN__

#ifndef ALIGN64SFX
#if(FLAG_SELECT_C_DSP == 0)
#define ALIGN64SFX __attribute__ ((aligned(16)))
#else
#define ALIGN64SFX
#endif
#endif
/*----------------RNN_rnn.h----------------*/
typedef signed char rnn_weight;

/*----------------RNN_rnn_data.h----------------*/
const rnn_weight gru_b_denoise[108] ALIGN64SFX = {
-53,  -15,  127,  -127,  65,  43,  -60,  81,  -13,  -77,  83,  42,  96,  -80,  76,  -50,  -106,  -66,  106,  -40,  -28,  -128,  83,  -32,  -22,  19,  -106,  64,  -27,  17,  86,  -127,  94,  -52,  58,  126,  47,  -16,  -73,  -59,  -1,  31,  73,  -35,  -43,  48,  -9,  53,  31,  -27,  -21,  17,  44,  102,  -19,  -75,  -11,  -124,  -10,  66,  9,  -18,  -108,  -18,  -71,  -46,  -74,  5,  -23,  36,  3,  -24,  60,  56,  -14,  14,  63,  -95,  16,  -20,  20,  -16,  -57,  41,  32,  24,  -16,  -49,  72,  -10,  16,  103,  -43,  5,  114,  72,  -103,  14,  21,  -96,  10,  0,  51,  -5,  -66,  15,  11,  -31
};


const rnn_weight gru_re_w_denoise[3888] ALIGN64SFX = {
63,  -29,  -94,  2,  47,  127,  -32,  51,  -28,  -23,  5,  -81,  -26,  -83,  -60,  -34,  13,  -73,  24,  31,  46,  -64,  -127,  59,  -125,  -102,  105,  -128,  113,  42,  -109,  36,  126,  52,  -57,  124,  -38,  -34,  20,  26,  -25,  49,  -57,  35,  7,  -17,  -73,  9,  31,  -6,  -128,  25,  -76,  -85,  40,  -20,  -45,  -5,  -23,  21,  -72,  23,  -23,  -5,  6,  3,  -58,  113,  36,  -12,  122,  -14,  -125,  16,  -65,  127,  41,  -39,  -124,  54,  -126,  -32,  -36,  6,  27,  -2,  -11,  -77,  34,  86,  -48,  0,  127,  -17,  36,  -124,  -28,  77,  -22,  36,  -35,  -47,  -126,  118,  -8,  76,  61,  -44,  -115,  -119,  -49,  -127,  -74,  -22,  31,  48,  -127,  9,  37,  61,  82,  34,  -124,  51,  -13,  -113,  -7,  -1,  -123,  -51,  29,  32,  31,  -128,  127,  -39,  -9,  -127,  29,  -32,  21,  75,  77,  106,  -14,  33,  -53,  42,  16,  124,  123,  48,  114,  8,  74,  -103,  107,  62,  -55,  -80,  -69,  34,  126,  9,  -8,  60,  79,  -23,  46,  -125,  -5,  -128,  -87,  -8,  -8,  48,  125,  -40,  -85,  126,  -123,  29,  -127,  -10,  -125,  -126,  -6,  -76,  34,  -122,  127,  -84,  19,  -78,  123,  67,  35,  -101,  127,  -14,  21,  103,  -126,  -126,  127,  0,  81,  126,  -99,  -125,  43,  115,  111,  -125,  126,  127,  -17,  33,  2,  77,  -103,  51,  18,  -1,  -38,  85,  -6,  -128,  -47,  116,  -120,  1,  81,  -53,  126,  -52,  -1,  -13,  93,  29,  -122,  -57,  48,  -125,  -28,  -63,  80,  36,  80,  -121,  111,  17,  100,  113,  -13,  -44,  43,  28,  -1,  -100,  43,  65,  -74,  -32,  -95,  2,  127,  41,  -1,  58,  -86,  71,  -63,  -125,  111,  33,  102,  -113,  60,  -99,  126,  29,  13,  -127,  -56,  -51,  -5,  -15,  -10,  -25,  42,  23,  -127,  65,  58,  33,  94,  -62,  -55,  -108,  127,  3,  -63,  -70,  7,  25,  103,  62,  55,  -32,  -27,  -67,  -62,  -27,  62,  35,  -33,  -74,  26,  69,  -7,  -95,  102,  10,  -19,  -48,  48,  93,  -75,  -106,  15,  -2,  -26,  10,  5,  -22,  90,  0,  -128,  27,  119,  23,  -36,  -36,  38,  49,  -38,  -25,  112,  -19,  -85,  -53,  -3,  -59,  -86,  27,  -26,  -36,  124,  28,  -82,  109,  -112,  38,  16,  -68,  -126,  -107,  47,  -26,  75,  -66,  -103,  -63,  73,  28,  127,  -4,  -35,  -38,  25,  61,  125,  22,  -22,  33,  68,  127,  -119,  101,  27,  127,  -55,  55,  122,  -62,  -128,  57,  -88,  86,  49,  -102,  -128,  -7,  -74,  -49,  -21,  0,  -77,  -13,  126,  127,  111,  -15,  -75,  -28,  82,  64,  8,  -93,  49,  67,  -77,  102,  24,  -17,  -59,  127,  -98,  -26,  -127,  -126,  -127,  0,  -35,  61,  -94,  -67,  32,  -126,  -91,  -124,  126,  -87,  127,  -117,  -109,  17,  127,  39,  127,  -124,  103,  127,  -127,  -23,  67,  -126,  -126,  -79,  8,  -47,  14,  126,  123,  -19,  -18,  -68,  -71,  -77,  -97,  -34,  -53,  100,  79,  90,  25,  99,  45,  -66,  82,  108,  -126,  15,  65,  32,  2,  -57,  -74,  -20,  -13,  -36,  -10,  4,  80,  -16,  107,  27,  -77,  10,  45,  -12,  112,  111,  36,  7,  20,  95,  -94,  70,  107,  -92,  102,  -101,  127,  -127,  -24,  52,  -128,  29,  -9,  -50,  15,  -28,  -74,  -124,  -126,  8,  -3,  1,  32,  -127,  2,  -127,  -50,  50,  62,  43,  -104,  9,  47,  -43,  -127,  52,  -103,  -49,  9,  81,  -116,  -89,  92,  -127,  34,  54,  -109,  -126,  67,  -64,  9,  24,  -89,  -126,  -127,  -91,  39,  55,  -54,  -45,  -127,  -83,  -59,  52,  -112,  64,  -128,  -127,  -121,  16,  -123,  126,  -128,  -125,  -63,  -34,  -123,  -128,  127,  -126,  126,  -128,  -128,  97,  127,  -2,  126,  -121,  27,  95,  -128,  -128,  127,  11,  -73,  127,  -35,  -13,  -76,  127,  22,  -116,  -87,  -71,  -79,  -67,  72,  21,  -83,  90,  24,  83,  127,  -1,  -128,  -103,  127,  -42,  -62,  35,  -105,  49,  11,  13,  11,  47,  110,  -70,  -18,  -85,  7,  95,  11,  49,  37,  -17,  36,  -106,  -1,  -123,  -38,  -59,  -92,  30,  -34,  -7,  81,  -106,  17,  6,  127,  -94,  -73,  0,  88,  18,  123,  -75,  123,  -55,  -53,  10,  -5,  -106,  107,  -56,  -75,  105,  -64,  -55,  10,  125,  7,  28,  127,  126,  -124,  48,  21,  36,  33,  65,  1,  77,  38,  -63,  -64,  -109,  127,  -29,  -95,  1,  -16,  53,  -29,  69,  -6,  76,  92,  53,  4,  -75,  -45,  -52,  -24,  25,  -105,  4,  127,  -14,  113,  125,  -19,  116,  101,  102,  36,  79,  1,  -128,  -20,  -26,  -61,  127,  -54,  -7,  -60,  4,  -31,  -120,  -24,  -104,  -127,  -76,  -75,  -58,  43,  -12,  17,  -43,  -53,  -68,  -124,  52,  10,  71,  127,  -57,  8,  -16,  -78,  0,  -37,  42,  -72,  -107,  56,  5,  -68,  -111,  123,  27,  -125,  28,  -19,  -61,  1,  8,  -15,  45,  17,  -1,  -34,  -1,  -35,  107,  21,  -86,  -15,  63,  56,  -99,  116,  -119,  58,  114,  -85,  10,  -127,  -39,  -128,  -96,  14,  -125,  126,  74,  127,  -61,  126,  92,  -2,  11,  -109,  21,  12,  58,  89,  -64,  126,  108,  73,  80,  -123,  -109,  -40,  58,  -39,  -109,  123,  11,  -127,  -82,  8,  111,  -126,  127,  -72,  27,  126,  -51,  127,  -98,  80,  30,  -84,  -89,  -126,  19,  118,  8,  25,  -2,  -107,  118,  124,  52,  56,  -99,  -44,  -125,  -5,  -42,  127,  -14,  -24,  23,  94,  113,  -7,  -26,  -31,  61,  -96,  -36,  -15,  19,  44,  -126,  -88,  -78,  117,  -14,  121,  51,  101,  -27,  50,  -21,  26,  56,  -33,  23,  123,  -80,  21,  71,  -5,  0,  92,  101,  127,  105,  -31,  16,  -67,  33,  14,  92,  86,  107,  34,  -4,  -11,  -84,  82,  -99,  -124,  -22,  -26,  -37,  100,  42,  -91,  80,  -33,  -46,  -90,  -28,  -8,  4,  56,  58,  -27,  31,  47,  -79,  118,  85,  -26,  -2,  17,  111,  -87,  127,  94,  2,  13,  96,  -18,  -127,  -30,  -21,  -98,  8,  -106,  49,  9,  14,  -75,  -56,  121,  -2,  40,  -127,  68,  29,  72,  -27,  -38,  19,  -43,  -16,  100,  127,  -20,  29,  -38,  123,  -54,  -77,  -20,  -103,  54,  -31,  -9,  85,  126,  -45,  -111,  41,  97,  56,  -71,  -75,  81,  13,  -46,  -106,  55,  -47,  -80,  66,  20,  -32,  33,  122,  58,  -61,  7,  -83,  -12,  -59,  -57,  -13,  13,  120,  52,  -35,  97,  -19,  -42,  -123,  50,  -26,  -78,  3,  -119,  -86,  82,  -75,  -107,  -67,  -122,  16,  -109,  -84,  -74,  91,  21,  59,  12,  57,  121,  72,  -59,  64,  -44,  -17,  -10,  31,  -73,  108,  35,  -82,  121,  4,  -65,  -114,  127,  121,  -127,  -95,  -75,  -20,  22,  -85,  -102,  44,  -42,  -33,  -77,  21,  18,  -66,  90,  116,  -11,  58,  54,  -22,  20,  -72,  -56,  73,  102,  127,  21,  -92,  -35,  -40,  -46,  -14,  127,  -128,  57,  -55,  -127,  97,  119,  -40,  -19,  -80,  37,  76,  -96,  -41,  60,  -3,  -1,  -90,  127,  -60,  -125,  127,  70,  45,  -109,  -127,  19,  -73,  -35,  -1,  9,  -122,  -70,  -63,  23,  25,  104,  40,  25,  -62,  -110,  10,  126,  -26,  -25,  -10,  70,  6,  -84,  -69,  122,  80,  -40,  -21,  -17,  -65,  -11,  29,  -95,  48,  7,  81,  50,  22,  -60,  -75,  -34,  -29,  -87,  -34,  66,  -79,  127,  26,  42,  -42,  -17,  -117,  -37,  17,  127,  91,  -55,  -13,  68,  62,  91,  33,  -1,  16,  -46,  92,  -20,  87,  -85,  -57,  85,  109,  60,  -66,  -114,  125,  -6,  -67,  122,  -12,  6,  56,  -35,  -122,  127,  -48,  -128,  36,  85,  -39,  -24,  37,  -44,  2,  -61,  -25,  27,  24,  -43,  -48,  10,  91,  -126,  75,  34,  -13,  49,  -38,  -128,  32,  64,  109,  64,  -25,  -122,  95,  55,  -71,  22,  73,  120,  -116,  -34,  -87,  -95,  79,  75,  -53,  40,  -49,  30,  -57,  53,  85,  -64,  106,  -47,  44,  -30,  41,  7,  101,  59,  22,  -19,  89,  0,  92,  9,  -81,  -110,  6,  -95,  -127,  -39,  36,  126,  -94,  127,  -53,  -79,  71,  -6,  -123,  61,  -44,  -49,  -21,  -14,  69,  -128,  26,  80,  74,  -61,  114,  -47,  41,  -125,  -34,  127,  -127,  -125,  -127,  -11,  106,  86,  55,  -8,  77,  13,  -121,  84,  -63,  -34,  -8,  -78,  17,  74,  -127,  -27,  59,  -113,  -40,  10,  -100,  -50,  -56,  -77,  -99,  69,  -96,  124,  -85,  -121,  28,  52,  -4,  72,  -50,  -11,  59,  5,  127,  78,  -28,  -76,  125,  -47,  55,  1,  -114,  -32,  19,  10,  21,  -113,  -111,  -31,  80,  -1,  41,  -50,  86,  -124,  38,  125,  -124,  17,  67,  80,  98,  -61,  -52,  2,  15,  -75,  -124,  33,  -79,  31,  -19,  15,  32,  -58,  -68,  18,  57,  126,  115,  62,  -84,  126,  -20,  64,  -74,  26,  89,  1,  51,  -12,  -59,  44,  52,  -2,  52,  124,  15,  -83,  127,  -45,  91,  123,  -45,  26,  -126,  -2,  69,  -104,  85,  -127,  42,  118,  18,  -55,  72,  21,  -105,  -19,  -7,  127,  38,  18,  -80,  88,  -63,  107,  103,  3,  -4,  -3,  126,  127,  127,  101,  44,  -107,  127,  31,  -42,  -103,  40,  -113,  127,  0,  -126,  -19,  127,  -16,  -28,  -22,  -125,  123,  -25,  -86,  -100,  4,  126,  -21,  -113,  -127,  -52,  -82,  125,  -73,  18,  -63,  -76,  127,  -126,  32,  -20,  -128,  -35,  -124,  7,  -123,  33,  83,  40,  127,  -124,  -67,  -38,  -41,  62,  112,  -33,  21,  96,  105,  48,  -127,  -53,  -20,  48,  -27,  75,  58,  12,  16,  57,  58,  -81,  -127,  38,  -11,  -35,  8,  -125,  15,  85,  -70,  78,  -93,  112,  -64,  -125,  -124,  125,  -51,  -61,  -128,  27,  25,  23,  -128,  -19,  -89,  125,  -124,  18,  38,  -98,  110,  -85,  -38,  -122,  40,  -87,  119,  -66,  -102,  -12,  94,  41,  63,  -61,  123,  127,  -61,  16,  -128,  -20,  46,  127,  48,  -76,  -26,  69,  -115,  -15,  -122,  -105,  37,  74,  113,  -123,  -125,  -41,  65,  90,  -75,  -128,  12,  2,  -27,  -3,  110,  -58,  4,  56,  -29,  19,  58,  -37,  -127,  -24,  -11,  -89,  31,  47,  5,  -43,  -102,  -60,  -97,  -4,  -18,  -62,  52,  -20,  -127,  -80,  -18,  52,  101,  -57,  -12,  16,  42,  -75,  -42,  -98,  -116,  19,  127,  80,  -100,  -126,  17,  36,  8,  17,  59,  -26,  -40,  -29,  -42,  19,  123,  120,  -3,  -19,  117,  36,  12,  -127,  91,  40,  16,  -10,  30,  -98,  -126,  126,  -56,  25,  -80,  115,  99,  -22,  -125,  -32,  -60,  -13,  24,  127,  -53,  -3,  95,  -60,  26,  97,  29,  -36,  -10,  16,  5,  106,  -111,  -83,  -125,  11,  32,  44,  31,  -115,  57,  -97,  -82,  42,  -72,  -84,  -46,  -47,  -70,  -127,  -119,  50,  -23,  13,  -76,  -51,  -67,  84,  94,  -31,  33,  32,  -60,  -35,  65,  -93,  10,  -115,  90,  75,  -128,  -20,  80,  0,  99,  123,  -122,  -108,  124,  114,  57,  -22,  -59,  -126,  94,  10,  34,  -16,  -77,  -21,  56,  108,  97,  -42,  -97,  -118,  54,  48,  -48,  -126,  -102,  120,  -11,  19,  -50,  95,  8,  52,  104,  -99,  -47,  -82,  62,  55,  -116,  10,  -23,  -44,  -62,  49,  127,  -27,  -3,  -127,  -59,  62,  57,  99,  -128,  4,  -4,  -126,  124,  -122,  13,  -53,  -56,  2,  -128,  117,  14,  12,  25,  118,  30,  -31,  127,  39,  -26,  -126,  -125,  -126,  9,  -2,  87,  -100,  -65,  126,  7,  57,  28,  38,  17,  127,  17,  38,  -83,  66,  22,  127,  -33,  -121,  13,  -9,  0,  108,  -127,  -87,  -6,  83,  69,  -123,  -65,  -128,  39,  21,  -120,  27,  50,  106,  10,  -54,  -3,  -127,  125,  76,  -43,  -18,  -62,  122,  -127,  111,  125,  -128,  113,  -50,  -60,  38,  -29,  -86,  7,  -40,  -80,  127,  -127,  32,  9,  -2,  -102,  127,  39,  41,  99,  70,  79,  -93,  -126,  -81,  118,  20,  6,  -74,  -95,  -31,  -49,  84,  -51,  -94,  127,  -19,  -13,  -81,  -27,  23,  100,  43,  -6,  35,  13,  -30,  -67,  -78,  -14,  65,  124,  18,  -126,  -126,  93,  69,  -83,  -36,  -127,  -31,  26,  61,  10,  87,  -18,  110,  124,  50,  -6,  -70,  -23,  -4,  123,  -24,  -1,  -85,  65,  -10,  -32,  -19,  19,  2,  3,  10,  -115,  26,  -60,  28,  -32,  -40,  20,  -7,  126,  -128,  -20,  125,  -119,  37,  -37,  88,  -15,  92,  -64,  45,  37,  38,  -49,  -126,  -62,  83,  118,  19,  17,  59,  127,  -127,  -124,  -76,  42,  20,  127,  50,  -92,  38,  -8,  3,  -28,  13,  125,  -1,  -32,  76,  -128,  25,  -1,  126,  114,  -71,  63,  -76,  39,  -126,  -100,  118,  -125,  93,  -52,  -38,  0,  -120,  43,  127,  114,  70,  -107,  126,  -70,  -128,  125,  57,  47,  127,  22,  126,  109,  -24,  -41,  120,  78,  -121,  127,  -28,  52,  -5,  -66,  112,  97,  127,  64,  -127,  -114,  -22,  61,  14,  11,  -32,  -77,  27,  59,  -58,  53,  28,  9,  47,  112,  -28,  -99,  -20,  -6,  35,  -4,  34,  19,  38,  63,  -24,  122,  -83,  60,  87,  82,  126,  122,  81,  -59,  127,  -13,  43,  127,  4,  -61,  81,  56,  66,  -92,  -32,  97,  127,  68,  -3,  5,  -125,  56,  24,  -92,  -123,  55,  81,  73,  127,  -121,  -1,  -126,  -127,  -31,  127,  -126,  45,  -44,  -126,  126,  -127,  38,  -127,  -62,  12,  55,  -43,  124,  -126,  88,  117,  -69,  -6,  60,  82,  124,  127,  -54,  -123,  127,  125,  -33,  -44,  -128,  126,  73,  -21,  -8,  116,  -95,  -6,  5,  76,  22,  119,  126,  -126,  54,  -9,  -61,  1,  5,  -126,  -62,  90,  -32,  -102,  -126,  -19,  -23,  127,  -87,  -117,  -35,  -10,  -33,  -81,  127,  3,  -128,  -128,  -109,  61,  -68,  127,  33,  -23,  113,  -128,  -73,  -128,  -4,  1,  -32,  -127,  -4,  48,  118,  127,  -12,  -93,  58,  0,  -44,  -47,  -25,  -113,  -64,  127,  -16,  39,  -118,  85,  -1,  -65,  79,  -86,  118,  -128,  19,  106,  0,  -70,  127,  -111,  -20,  120,  -2,  -127,  -127,  -125,  127,  109,  -124,  11,  95,  69,  -92,  -17,  -15,  -53,  -75,  -19,  -44,  60,  -65,  123,  54,  -39,  54,  -123,  126,  120,  -127,  51,  44,  22,  99,  -117,  57,  -127,  37,  27,  -85,  82,  -36,  12,  -26,  -104,  -38,  44,  49,  -128,  37,  76,  -24,  76,  -17,  85,  79,  36,  -82,  -113,  -58,  -21,  -125,  -1,  -24,  127,  30,  -17,  -127,  13,  -10,  28,  48,  45,  124,  -127,  -3,  127,  125,  -116,  -78,  -119,  -48,  126,  -36,  -31,  -42,  115,  -41,  -43,  -30,  -55,  -123,  -61,  -90,  50,  127,  -45,  -68,  107,  -2,  -32,  80,  53,  -123,  -128,  -17,  43,  55,  -127,  123,  -2,  -2,  -91,  -105,  127,  28,  69,  -120,  91,  40,  -4,  -19,  -127,  -83,  77,  27,  -38,  -76,  -9,  -30,  -39,  50,  -128,  -88,  21,  46,  97,  114,  -28,  47,  -30,  30,  38,  -122,  89,  66,  126,  127,  -11,  -123,  -127,  94,  -69,  -35,  84,  -97,  51,  -119,  24,  -98,  127,  -36,  44,  -15,  -14,  39,  -126,  52,  -122,  105,  46,  -27,  -15,  -124,  -91,  -123,  -8,  -52,  -45,  -46,  107,  -85,  -125,  -127,  77,  -104,  -55,  -78,  65,  115,  41,  -17,  -61,  -25,  61,  -10,  -71,  -56,  23,  7,  -33,  40,  -52,  46,  64,  -38,  70,  43,  127,  99,  -51,  -18,  49,  -50,  -116,  -97,  -71,  12,  38,  124,  -25,  50,  -28,  -35,  98,  6,  -87,  54,  -50,  85,  32,  -102,  -103,  -16,  36,  -62,  1,  -76,  -39,  61,  9,  -97,  -98,  -60,  72,  -101,  -67,  73,  -8,  -22,  -71,  -90,  -81,  -100,  -106,  125,  12,  -48,  32,  20,  12,  127,  -37,  90,  -67,  89,  60,  -19,  -61,  127,  -108,  34,  127,  -77,  -34,  -11,  106,  -103,  -23,  127,  33,  54,  -110,  45,  -16,  33,  28,  -8,  19,  125,  -86,  -54,  59,  126,  -16,  -91,  -126,  -23,  95,  88,  12,  -124,  -124,  -53,  5,  -70,  -50,  115,  13,  -63,  124,  71,  19,  -38,  77,  -5,  -72,  -40,  -13,  -4,  -7,  -4,  -10,  77,  123,  -27,  2,  15,  -122,  -21,  14,  -7,  72,  -17,  50,  76,  19,  -69,  -25,  -71,  -28,  94,  -21,  -34,  -66,  -29,  -73,  -61,  12,  -47,  -30,  -46,  -121,  28,  75,  -118,  22,  -4,  -7,  -15,  90,  59,  51,  -37,  -125,  -127,  32,  59,  -111,  18,  127,  17,  17,  59,  23,  70,  -36,  49,  2,  25,  6,  21,  32,  20,  -19,  -35,  70,  -6,  -89,  8,  31,  26,  6,  27,  -127,  26,  6,  -70,  -26,  -15,  13,  -58,  -17,  32,  -18,  34,  41,  -128,  -68,  -45,  -119,  -5,  25,  43,  -11,  51,  24,  19,  -42,  -22,  55,  -71,  -25,  127,  52,  -15,  -44,  -126,  -9,  6,  -40,  32,  21,  -28,  -56,  -97,  -31,  4,  1,  127,  -43,  6,  -15,  -52,  29,  -40,  -38,  -51,  -22,  43,  -10,  53,  30,  -49,  -43,  -124,  77,  -27,  8,  114,  10,  47,  127,  -26,  15,  36,  -40,  74,  -44,  13,  -95,  112,  -126,  -25,  -7,  -21,  126,  53,  126,  -65,  48,  -128,  -128,  -47,  15,  -41,  -86,  14,  -73,  -127,  0,  -27,  -48,  15,  23,  -107,  -99,  50,  -59,  15,  -35,  5,  -88,  -79,  -19,  -128,  7,  116,  -126,  46,  -127,  -128,  57,  -127,  -78,  -73,  -27,  18,  38,  -4,  -16,  -79,  -13,  43,  22,  -127,  -13,  127,  -61,  -44,  -67,  -83,  -126,  22,  14,  44,  -123,  -58,  -37,  -33,  80,  56,  -86,  -65,  25,  -24,  -53,  127,  71,  13,  -15,  41,  -8,  63,  7,  -35,  -13,  -44,  -50,  21,  28,  -48,  -41,  -64,  111,  -126,  29,  -80,  127,  -117,  -99,  -5,  -2,  -119,  127,  92,  97,  -51,  -11,  -88,  -13,  -61,  -31,  -23,  9,  -107,  10,  -83,  0,  31,  87,  -126,  -88,  64,  -123,  50,  126,  93,  -31,  78,  -74,  48,  -127,  -114,  -14,  15,  23,  -26,  127,  14,  29,  11,  16,  127,  6,  -127,  -23,  35,  24,  -75,  -73,  -73,  124,  84,  31,  -27,  66,  109,  34,  -64,  -37,  -79,  -90,  78,  33,  -1,  -37,  -25,  0,  23,  127,  -127,  127,  -45,  85,  96,  20,  127,  127,  -34,  77,  -128,  -82,  -116,  96,  127,  -73,  47,  127,  -125,  -88,  -70,  -128,  -19,  91,  104,  -127,  -128,  -128,  19,  127,  60,  127,  -53,  -111,  29,  -40,  10,  21,  31,  -5,  -69,  127,  12,  -96,  -64,  -29,  15,  81,  17,  39,  5,  8,  -44,  86,  127,  78,  -38,  127,  44,  -64,  14,  12,  -75,  -16,  38,  -16,  -77,  -67,  96,  0,  -56,  108,  -37,  -45,  126,  79,  38,  -3,  100,  127,  114,  -100,  -124,  -3,  -25,  100,  51,  -37,  76,  6,  -16,  -22,  19,  -83,  64,  43,  51,  -9,  -95,  -36,  75,  74,  -128,  103,  -26,  28,  126,  -51,  -43,  -124,  105,  -73,  -128,  -48,  -111,  -65,  -96,  -92,  93,  -47,  127,  -124,  -108,  127,  2,  -16,  127,  86,  117,  125,  71,  -127,  73,  127,  125,  126,  -124,  -115,  -50,  -70,  13,  -121,  -40,  16,  127,  31,  -46,  127,  46,  -47,  -35,  -6,  23,  -30,  6,  112,  -20,  114,  65,  -128,  55,  15,  -11,  26,  42,  11,  18,  90,  -16,  -67,  22,  23,  126,  -49,  82,  82,  -127,  20,  -19,  -62,  127,  7,  -15,  -26,  -125,  -49,  -112,  -124,  -128,  12,  113,  82,  112,  -128,  -128,  65,  -127,  -128,  127,  127,  90,  127,  -68,  -128,  -126,  127,  102,  127,  -76,  -128,  126,  -10,  5,  -63,  -127,  -16,  -40,  -15,  21,  84,  36,  -69,  56,  73,  107,  -38,  -96,  -34,  18,  -41,  39,  -31,  76,  8,  6,  2,  -21,  -40,  104,  6,  41,  -29,  -17,  -48,  62,  106,  -23,  51,  -64,  8,  60,  22,  -20,  127,  -16,  -80,  55,  70,  124,  47,  124,  -124,  -127,  127,  -51,  29,  127,  -67,  127,  127,  12,  -46,  -15,  -128,  43,  -20,  91,  -19,  -121,  -125,  -26,  98,  11,  -8,  125,  127,  38,  114,  -30,  -88,  127,  -128,  -59,  35,  -91,  -28,  -127,  25,  127,  -99,  33,  -100,  -65,  37,  5,  26,  -28,  17,  115,  125,  -50,  -46,  -15,  56,  103,  -21,  -127,  0,  -127,  -78,  3,  -125,  -105,  -70,  124,  24,  -18,  127,  127,  -128,  -28,  18,  67,  -56,  -37,  13,  -90,  127,  69,  -125,  127,  25,  -87,  42,  -77,  -125,  127,  126,  -49,  -80,  -24,  -52,  -62,  71,  -127,  125,  82,  103,  127,  -6,  115,  116,  64,  73,  6,  -26,  -3,  -45,  127,  -47,  -65,  127,  38,  -38,  104,  -60,  -25,  82,  -29,  56,  -44,  78,  -22,  -12,  -65,  0,  55,  -76,  69,  -48,  -7,  127,  -96,  127,  54,  127,  57,  -34,  -87,  -91,  -126,  -55,  3,  -84,  39,  108,  127,  -59,  71,  127,  -127,  14,  -89,  104,  127,  127,  -4,  125,  19,  -37,  127,  127,  -128,  1,  -36,  34,  -8,  -99,  27,  42,  -72,  127,  -16,  -7,  -54,  74,  15,  -124,  36,  84,  57,  -14,  -65,  -22,  -53,  19,  49,  -21,  125,  26,  -30,  -20,  -50,  -125,  -29,  13,  35,  -34,  -75,  15,  32,  30,  -62,  61,  -56,  -14,  127,  122,  16,  -127,  127,  -127,  -8,  41,  -83,  -89,  -125,  122,  127,  -47,  1,  -80,  -71,  94,  4,  9,  -31,  -20,  6,  1,  -93,  10,  -48,  19,  127,  37,  -96,  -73,  20,  71,  -5,  6,  -61,  34,  0,  -64,  107,  -127,  -27,  62,  -63,  -127,  -7,  127,  45,  22,  34,  -65,  -45,  22,  -48,  29,  127,  96,  30,  67,  -11,  29,  -40,  -41,  115,  6,  -73,  -50,  33,  -116,  127,  -39,  -16,  127,  76,  69,  32,  127,  39,  -80,  -9,  -23,  42,  23,  11,  21,  -10,  -8,  60,  -123,  108,  66,  113,  1,  56,  127,  126,  126,  70,  19,  -16,  5,  126,  20,  72,  64,  99,  26,  126,  12,  -31,  29,  -26,  74,  44,  -34,  70,  75,  127,  -45,  -124,  16,  -72,  49,  47,  -66,  49,  43,  -39,  -23,  -30,  -124,  54,  -16,  50,  -38,  -44,  -18,  126,  38,  -91,  127,  -23,  83,  119,  67,  -36,  28,  21,  11,  -127,  -37,  -90,  -2,  -35,  118,  126,  -59,  14,  127,  33,  45,  34,  70,  127,  18,  62,  125,  -13,  -121,  74,  125,  -127,  3,  -125,  126,  15,  -127,  88,  -10,  0,  127,  -18,  -12,  43,  -72,  6,  -54,  -32,  42,  61,  -18,  1,  25,  -103,  24,  127,  10,  76,  2,  -32,  -7,  5,  -12,  -35,  -22,  79,  -74,  66,  54,  -13,  27,  -26,  32,  17,  -49,  -11,  2,  -10,  -5,  -10,  -3,  46,  -57,  5,  -78,  21,  7,  17,  -57,  -83,  14,  10,  -33,  62,  62,  -127,  -79,  -10,  -50,  -23,  3,  29,  14,  102,  34,  31,  -19,  -61,  40,  11,  -8,  125,  76,  127,  118,  47,  -127,  -82,  45,  -128,  -128,  -69,  -113,  31,  25,  -7,  -78,  41,  50,  -101,  29,  24,  127,  -21,  126,  -42,  -128,  -67,  127,  127,  127,  -99,  -117,  101,  2,  -24,  76,  16,  -11,  -3,  -1,  123,  31,  56,  39,  11,  66,  -14,  7,  46,  -75,  -37,  0,  -128,  -73,  -52,  78,  -126,  -80,  -7,  29,  -41,  42,  13,  -51,  6,  21,  -12,  43,  -62,  -17,  -51,  -8,  40,  -53,  8,  53,  -107,  18,  11,  -35,  8,  47,  22,  -56,  13,  59,  -53,  88,  58,  -14,  11,  -8,  -58,  -40,  -34,  -72,  -7,  -19,  30,  -2,  13,  27,  11,  -61,  -57,  127,  17,  33,  101,  -16,  72,  126,  -59,  112,  25,  50,  125,  -112,  78,  -128,  -7,  127,  30,  47,  127,  -128,  109,  61,  -23,  1,  -128,  -79,  -50,  7,  43,  19,  -81,  -45,  50,  47,  127,  30,  -4,  127,  24,  65,  89,  -126,  66,  -104,  -80,  -5,  -112,  -128,  -128,  73,  127,  -127,  12,  -127,  6,  67,  58,  -124,  115,  127,  127,  124,  -80,  -10,  11,  87,  -10,  68,  -122,  -60,  -16,  -126,  54,  -12,  -126,  127,  -114,  60,  41,  -62,  -29,  127,  35,  -127,  -8,  17,  -45,  13,  -124,  -80,  -70,  68,  37,  -125,  127,  11,  71,  -125,  31,  -36,  44,  -58,  -110,  -86,  -43,  127,  -90,  -118,  126,  -111,  27,  -127,  39,  -4,  116,  -19,  41,  78,  124,  -9,  81,  13,  -29,  127,  -62,  -32,  35,  -81,  27,  112,  -69,  34,  60,  -47,  -99,  24,  38,  0,  109,  -46,  48,  -29,  127,  109,  -45,  127,  91,  127,  127,  18,  -39,  33,  127,  -8,  118,  -54,  -119,  40,  -36,  52,  -128,  127,  16,  -114,  79,  -102,  84,  82,  -43,  107,  37,  54,  125,  -92,  85,  -6,  -48,  -127,  61,  0,  126,  -91,  127,  18,  5,  78,  -29,  126,  -126,  48,  -100,  -25,  -126,  51,  -71,  -52,  101,  42,  37,  -121,  -20,  125,  40,  -50,  -9,  -39,  -38,  -5,  45,  -83,  -55,  127,  118,  -41,  126,  36,  -29,  -99,  33,  -44
};


const rnn_weight gru_w_denoise[7236] ALIGN64SFX = {
96,  26,  -43,  48,  -35,  62,  -56,  -91,  7,  -9,  16,  57,  -25,  -5,  -89,  127,  -10,  28,  -32,  -7,  -125,  5,  32,  -2,  19,  -5,  22,  -48,  46,  -31,  37,  -59,  7,  -3,  -10,  3,  -9,  -2,  -14,  29,  125,  47,  124,  126,  0,  111,  61,  110,  126,  127,  75,  2,  48,  127,  -2,  17,  31,  53,  -29,  22,  -18,  -53,  43,  -26,  33,  -50,  17,  17,  -77,  54,  24,  0,  19,  -19,  -50,  15,  -31,  -56,  -16,  43,  -12,  9,  17,  -43,  25,  -11,  1,  30,  -32,  56,  -14,  9,  -26,  41,  -4,  9,  -42,  34,  -53,  -2,  14,  0,  10,  -6,  -13,  6,  -7,  -28,  -7,  11,  45,  27,  5,  36,  -3,  -33,  -3,  38,  -70,  2,  -46,  9,  1,  -12,  57,  3,  -3,  -2,  -6,  -12,  27,  -18,  1,  2,  -22,  55,  7,  65,  -61,  -32,  -91,  -10,  20,  -23,  -85,  16,  116,  -9,  -17,  9,  -46,  103,  -39,  86,  -5,  23,  28,  17,  46,  15,  -48,  88,  15,  -10,  124,  30,  -5,  -15,  -3,  -3,  -1,  0,  -51,  1,  -87,  2,  -27,  87,  -6,  -4,  -1,  -3,  28,  92,  -22,  -75,  8,  43,  -45,  -42,  12,  73,  -82,  9,  -14,  47,  -15,  -37,  91,  12,  7,  48,  31,  -63,  -50,  -5,  22,  -47,  -100,  -2,  -98,  22,  63,  -26,  -55,  25,  127,  -17,  17,  19,  34,  -48,  112,  1,  3,  -17,  -61,  10,  2,  -82,  -46,  -75,  -67,  1,  -7,  11,  -9,  -2,  15,  127,  -39,  -128,  -127,  96,  127,  76,  -127,  -127,  -128,  127,  127,  47,  -127,  -127,  -75,  -4,  6,  28,  -9,  -24,  31,  22,  7,  2,  -5,  -10,  20,  -25,  -12,  -9,  36,  38,  -1,  -20,  -11,  -41,  27,  18,  -22,  6,  95,  22,  -87,  110,  -62,  28,  41,  -55,  -125,  -102,  17,  -27,  48,  -16,  22,  -20,  -49,  48,  74,  -128,  -2,  26,  40,  27,  -30,  -70,  2,  127,  52,  -29,  -125,  -84,  62,  -24,  74,  -32,  44,  -55,  -89,  8,  32,  127,  -8,  -17,  26,  -94,  -84,  -118,  4,  -8,  16,  60,  -18,  -124,  -18,  -61,  4,  31,  95,  -47,  46,  -104,  -69,  108,  3,  -32,  21,  8,  34,  -83,  58,  -21,  80,  39,  68,  -78,  4,  65,  20,  -54,  -39,  -62,  41,  59,  -35,  -21,  32,  8,  4,  -3,  -19,  -20,  -9,  -37,  -36,  -123,  -30,  -124,  -97,  -125,  -122,  -110,  -50,  -8,  -61,  -83,  -21,  34,  121,  10,  55,  12,  25,  -39,  10,  12,  13,  -15,  14,  -33,  -1,  -16,  -58,  -13,  -7,  -17,  -56,  -2,  -99,  -69,  -32,  -34,  50,  103,  7,  35,  -26,  123,  -15,  -61,  -48,  -11,  -15,  32,  -40,  -93,  50,  -36,  -5,  -102,  24,  124,  19,  -27,  6,  -13,  3,  5,  32,  17,  -2,  -6,  11,  -64,  -11,  81,  -40,  52,  94,  33,  -50,  81,  8,  37,  57,  -18,  -24,  -72,  -41,  1,  54,  37,  -34,  -25,  -33,  6,  -5,  -3,  -36,  75,  52,  17,  -124,  -64,  43,  35,  62,  -31,  12,  -34,  30,  89,  76,  40,  -30,  70,  33,  -6,  25,  8,  51,  -8,  17,  -63,  58,  -2,  19,  59,  2,  48,  -6,  -6,  3,  13,  -4,  -13,  24,  -74,  -31,  -25,  41,  81,  -9,  -54,  19,  -26,  53,  41,  -57,  72,  -26,  61,  19,  -13,  -8,  38,  35,  83,  127,  7,  59,  32,  40,  -44,  -79,  1,  95,  -28,  86,  51,  29,  -20,  -28,  2,  51,  -32,  -128,  89,  -39,  -37,  -42,  58,  -23,  46,  -16,  -27,  -24,  -63,  2,  -28,  51,  11,  -18,  18,  -37,  -19,  11,  -21,  -9,  -9,  -6,  11,  21,  5,  -53,  -20,  -107,  13,  99,  39,  -54,  -114,  -18,  82,  41,  -31,  -103,  -79,  19,  42,  -18,  -20,  -1,  -38,  18,  36,  2,  -3,  -12,  -38,  -1,  23,  2,  90,  -30,  -10,  76,  -3,  6,  4,  -58,  -9,  9,  -19,  61,  -13,  51,  -49,  62,  -73,  20,  -4,  -24,  12,  4,  -19,  17,  -35,  2,  -25,  4,  -30,  33,  -20,  -5,  -8,  1,  7,  12,  -2,  -1,  54,  -18,  75,  127,  62,  31,  26,  -47,  38,  127,  28,  17,  -89,  -75,  54,  114,  -16,  -14,  -17,  42,  -4,  -9,  2,  -13,  -5,  2,  20,  -14,  -5,  -55,  18,  -103,  11,  -8,  79,  -27,  -59,  32,  20,  -24,  -19,  40,  30,  -39,  0,  -8,  117,  17,  22,  -50,  126,  -28,  -17,  -67,  -2,  -128,  69,  43,  119,  54,  127,  -5,  -19,  3,  13,  32,  65,  -7,  -127,  -9,  20,  -44,  16,  127,  -116,  22,  81,  -29,  97,  -8,  41,  -123,  -22,  21,  -13,  -26,  14,  103,  -12,  -27,  27,  -36,  -6,  13,  71,  -16,  -18,  -28,  -109,  7,  55,  75,  -68,  -55,  -7,  25,  -48,  -55,  -20,  4,  75,  27,  -34,  127,  9,  71,  27,  12,  46,  10,  7,  39,  -14,  54,  48,  -16,  37,  126,  -4,  -9,  -14,  -18,  19,  16,  -68,  -38,  -16,  -23,  3,  107,  111,  -22,  32,  -1,  -58,  114,  -3,  36,  -85,  71,  27,  -45,  -73,  49,  76,  3,  11,  -3,  -66,  79,  22,  54,  -10,  -24,  29,  -24,  -38,  31,  -36,  56,  -4,  -114,  104,  -63,  5,  77,  31,  114,  21,  5,  -7,  5,  23,  39,  -1,  76,  -38,  -100,  -37,  -48,  -29,  4,  -17,  -13,  11,  11,  11,  4,  9,  -3,  -20,  -53,  28,  123,  98,  48,  -60,  -95,  -79,  61,  20,  8,  -99,  -126,  -123,  43,  127,  -19,  -29,  -24,  53,  -13,  -18,  -1,  -2,  -3,  -15,  -9,  41,  -48,  37,  14,  -79,  -7,  -27,  37,  -70,  -11,  15,  30,  -87,  72,  -64,  -35,  -64,  31,  -35,  7,  -77,  -23,  -14,  -19,  -15,  -38,  -50,  71,  4,  45,  17,  2,  -16,  -58,  -14,  -8,  -2,  0,  -1,  23,  90,  82,  -37,  -92,  11,  80,  0,  13,  -12,  71,  38,  74,  35,  1,  9,  -98,  14,  7,  26,  53,  48,  108,  26,  -14,  8,  35,  -17,  9,  -19,  -48,  71,  17,  52,  -80,  -49,  27,  -56,  3,  -32,  -86,  104,  92,  29,  -3,  62,  -27,  20,  -28,  -82,  -36,  -32,  27,  -63,  38,  -64,  90,  -2,  21,  102,  58,  29,  -11,  -2,  22,  20,  5,  -28,  -93,  32,  25,  51,  77,  -128,  -23,  3,  -30,  -26,  -32,  -18,  -76,  -71,  -36,  59,  20,  16,  91,  47,  18,  -30,  23,  11,  29,  20,  19,  -27,  -13,  -41,  -1,  -40,  -3,  -96,  30,  -67,  -71,  26,  -85,  -58,  -1,  -45,  -108,  -122,  87,  30,  -22,  25,  -78,  3,  -37,  9,  -82,  -14,  -29,  -11,  4,  41,  -108,  -28,  -88,  3,  12,  53,  -14,  -11,  34,  -127,  127,  -2,  6,  81,  -128,  -84,  90,  -20,  -77,  -94,  -8,  -126,  -127,  -79,  65,  -21,  -23,  44,  -94,  -51,  55,  32,  23,  42,  -40,  64,  25,  -8,  -113,  -13,  -88,  -47,  18,  19,  70,  -125,  104,  -12,  55,  -39,  -59,  59,  37,  88,  -12,  18,  44,  109,  0,  57,  -69,  -52,  -112,  -71,  -127,  86,  -48,  -6,  38,  75,  1,  -12,  24,  9,  25,  28,  71,  -12,  -1,  117,  -2,  48,  29,  21,  -27,  101,  54,  81,  30,  34,  5,  30,  20,  -3,  11,  -21,  76,  38,  8,  -13,  -25,  -50,  33,  31,  -12,  62,  -113,  8,  83,  32,  -14,  13,  -62,  -21,  -43,  -125,  30,  6,  53,  -8,  123,  32,  27,  0,  -24,  7,  -101,  -22,  -84,  -13,  -16,  64,  11,  -7,  5,  12,  -40,  -3,  1,  2,  -4,  -16,  -29,  -90,  -66,  10,  108,  12,  34,  44,  -74,  -24,  51,  10,  -23,  33,  -55,  31,  25,  27,  7,  -42,  -35,  -2,  5,  27,  38,  16,  -3,  1,  15,  3,  -72,  -9,  0,  74,  -37,  97,  -126,  -86,  94,  -37,  -60,  14,  107,  -38,  -36,  38,  22,  66,  -56,  6,  55,  1,  63,  -15,  -29,  -42,  -99,  51,  5,  21,  31,  18,  -8,  -8,  -14,  -12,  -15,  -14,  -8,  118,  72,  119,  127,  127,  127,  127,  127,  127,  71,  116,  95,  22,  21,  125,  -25,  -58,  -108,  -63,  -46,  9,  3,  -12,  -13,  -34,  -42,  -15,  -13,  43,  78,  -108,  -34,  10,  34,  -38,  -45,  28,  -24,  -64,  45,  -13,  -42,  -67,  89,  -50,  32,  -115,  -14,  3,  3,  -52,  -1,  -17,  -3,  -53,  44,  -3,  44,  19,  -48,  -15,  -21,  7,  1,  5,  23,  45,  70,  113,  -17,  12,  -42,  59,  -57,  -126,  106,  7,  -69,  -81,  -58,  20,  10,  2,  9,  40,  48,  67,  44,  12,  -2,  45,  18,  30,  -25,  -19,  -18,  17,  -65,  82,  70,  2,  -29,  -119,  -35,  -87,  -10,  -25,  -14,  -40,  -47,  47,  -33,  74,  -5,  22,  -52,  -56,  30,  -100,  2,  -125,  22,  58,  -15,  -64,  7,  -77,  9,  -3,  28,  29,  -45,  14,  57,  -128,  107,  87,  -128,  8,  106,  -58,  86,  126,  -128,  24,  28,  93,  29,  29,  10,  -13,  49,  92,  15,  17,  26,  9,  -24,  32,  20,  25,  -13,  27,  7,  -35,  9,  -17,  14,  23,  -36,  -103,  -67,  -45,  16,  -97,  15,  -104,  48,  -95,  -18,  -15,  -75,  40,  -20,  47,  11,  10,  48,  18,  -48,  -3,  -19,  43,  21,  -6,  15,  5,  -2,  -1,  15,  -57,  -100,  -56,  16,  48,  125,  70,  -99,  -7,  12,  23,  127,  -13,  -65,  6,  -28,  10,  7,  24,  1,  35,  32,  3,  -9,  6,  21,  26,  10,  -12,  -38,  55,  64,  111,  39,  -27,  -30,  -28,  -20,  7,  120,  -4,  82,  38,  12,  32,  73,  89,  80,  25,  60,  14,  67,  43,  126,  -61,  -63,  -8,  24,  9,  -49,  45,  3,  16,  10,  -12,  -18,  5,  -11,  -8,  -11,  43,  55,  67,  23,  -126,  -101,  74,  63,  27,  -126,  -126,  30,  127,  -33,  7,  10,  -21,  -36,  8,  -54,  9,  -12,  89,  83,  -46,  30,  12,  25,  -72,  -126,  -7,  -2,  -1,  18,  19,  -73,  -86,  19,  -8,  9,  -19,  113,  -49,  -27,  -62,  -63,  -67,  24,  11,  -42,  -48,  -44,  -77,  49,  -5,  -11,  -9,  -87,  3,  7,  20,  -9,  -35,  -34,  82,  -78,  -128,  35,  123,  -103,  -88,  -25,  124,  -122,  -125,  -126,  -78,  -84,  -41,  57,  14,  26,  45,  -30,  -66,  -30,  7,  -45,  -5,  -5,  -44,  -124,  -20,  -47,  96,  -70,  -43,  -12,  71,  -3,  3,  -79,  -29,  40,  -126,  77,  87,  41,  -18,  -63,  70,  33,  -7,  3,  66,  57,  7,  42,  -77,  -94,  56,  -2,  124,  49,  -32,  2,  -1,  6,  2,  35,  25,  -46,  19,  -10,  72,  24,  127,  125,  125,  127,  127,  127,  127,  127,  127,  126,  106,  -22,  -35,  -42,  -8,  11,  -6,  -52,  -75,  -74,  -25,  -58,  -90,  2,  -17,  39,  -52,  -2,  -58,  10,  -10,  -31,  51,  -26,  -106,  28,  -53,  53,  -96,  126,  -19,  -14,  -76,  -20,  -33,  -98,  -70,  -11,  66,  -5,  79,  -37,  -22,  32,  39,  -28,  -9,  -4,  9,  23,  35,  41,  -42,  -8,  -104,  -123,  -65,  -69,  -76,  -13,  -55,  -55,  38,  -15,  -41,  -14,  -67,  -11,  23,  -2,  33,  -12,  60,  -47,  -1,  -19,  2,  7,  32,  -13,  17,  125,  -34,  -13,  -11,  -11,  15,  -32,  -84,  30,  -30,  -66,  48,  -72,  -41,  -19,  36,  34,  16,  -84,  -17,  -1,  15,  15,  12,  -17,  -36,  -39,  -64,  35,  9,  65,  -55,  -5,  3,  7,  5,  7,  44,  127,  100,  -65,  -127,  -87,  108,  127,  127,  8,  -72,  -50,  3,  52,  78,  6,  -75,  -13,  9,  -20,  -52,  -13,  99,  -1,  -2,  -29,  -17,  -35,  5,  3,  -8,  73,  -23,  -51,  13,  -12,  -12,  -41,  -47,  -5,  -13,  26,  -15,  22,  -90,  82,  -128,  -27,  -9,  -10,  28,  -16,  15,  -11,  15,  43,  23,  44,  -47,  2,  16,  -65,  -6,  -3,  0,  -14,  -12,  -7,  -35,  -11,  -33,  10,  -15,  51,  -19,  -29,  -53,  -31,  24,  55,  8,  -15,  -125,  -20,  19,  -4,  46,  67,  47,  -39,  12,  6,  21,  59,  1,  -32,  -12,  51,  0,  -28,  19,  -48,  52,  -39,  -76,  53,  63,  -28,  25,  28,  -37,  -13,  29,  -2,  2,  45,  -86,  20,  20,  28,  -84,  -44,  52,  -14,  -93,  30,  -58,  4,  -86,  3,  4,  11,  4,  -16,  19,  -83,  -24,  52,  -41,  47,  127,  -103,  -22,  -3,  -15,  -4,  3,  -121,  17,  32,  -10,  -13,  40,  -37,  11,  -20,  -18,  -4,  37,  -15,  -46,  -9,  19,  -15,  29,  -40,  18,  26,  -16,  23,  46,  -16,  -9,  -18,  -114,  16,  31,  72,  -67,  70,  -63,  -19,  15,  -91,  11,  -9,  61,  -70,  75,  -41,  -81,  -18,  -38,  -83,  -10,  -77,  4,  4,  -7,  12,  -10,  -31,  -100,  -123,  -3,  -32,  -127,  -128,  88,  -110,  16,  127,  -54,  -8,  -45,  26,  25,  89,  27,  -6,  37,  11,  12,  -42,  19,  7,  31,  -3,  45,  -55,  -17,  -26,  126,  -124,  19,  -55,  -26,  -5,  -93,  -93,  -38,  1,  55,  56,  -7,  -71,  49,  -42,  0,  4,  33,  -19,  42,  39,  39,  45,  -29,  -40,  46,  -33,  32,  -19,  37,  0,  -15,  -20,  23,  5,  -20,  -3,  9,  -19,  -36,  20,  -34,  -45,  31,  -13,  0,  10,  -4,  -23,  -21,  -2,  95,  -34,  22,  44,  -60,  21,  17,  -36,  39,  40,  -50,  -4,  8,  -8,  7,  96,  -82,  -48,  -6,  -35,  32,  -54,  -95,  -26,  116,  -57,  -28,  21,  47,  16,  -34,  21,  -19,  50,  13,  27,  -36,  -13,  -75,  8,  -46,  33,  -54,  -17,  -54,  -27,  -5,  -8,  -4,  2,  7,  -21,  -84,  -41,  39,  55,  -73,  -101,  -8,  83,  24,  -128,  110,  -38,  -128,  -126,  -38,  -77,  -34,  -36,  -18,  -6,  25,  -4,  -10,  -19,  7,  -7,  -7,  51,  -21,  -22,  3,  -3,  24,  -5,  34,  -99,  -21,  -11,  -49,  -105,  26,  18,  31,  -24,  34,  -14,  -13,  127,  96,  36,  10,  -28,  16,  24,  -4,  1,  49,  48,  77,  44,  -8,  27,  32,  48,  60,  34,  26,  31,  -6,  -46,  -23,  -33,  -46,  57,  -36,  -17,  68,  -65,  -6,  -124,  -121,  10,  23,  58,  81,  86,  121,  93,  43,  -3,  26,  23,  15,  88,  20,  11,  41,  -28,  -5,  -11,  33,  51,  37,  -71,  22,  4,  -117,  10,  -10,  63,  -40,  57,  -53,  -42,  1,  41,  -46,  -65,  46,  0,  22,  -25,  -33,  13,  -18,  -23,  40,  -24,  13,  2,  -25,  13,  36,  -8,  -83,  -8,  -25,  35,  -10,  -102,  -76,  92,  65,  -24,  -49,  -17,  67,  119,  -79,  -128,  11,  11,  11,  6,  3,  21,  -5,  -3,  34,  6,  -38,  20,  -14,  -16,  33,  -7,  99,  -11,  -13,  -56,  11,  -31,  -5,  1,  -19,  47,  -33,  40,  -55,  55,  122,  51,  25,  122,  -9,  92,  8,  -15,  112,  50,  32,  82,  -49,  -14,  24,  -5,  9,  -5,  -7,  -25,  -9,  70,  127,  21,  -93,  -30,  -46,  -9,  24,  -80,  -78,  16,  -51,  21,  -86,  33,  127,  -23,  23,  -3,  -40,  -68,  -14,  -63,  5,  -10,  -7,  -97,  -3,  17,  -9,  18,  -33,  73,  -49,  -16,  -21,  -6,  -104,  22,  -112,  -26,  91,  15,  -8,  42,  6,  85,  46,  19,  125,  40,  96,  -5,  33,  50,  -28,  89,  -14,  -61,  4,  107,  -8,  -4,  -20,  -15,  -23,  -18,  -63,  -31,  45,  36,  -59,  -111,  -60,  -10,  -100,  -30,  51,  101,  -124,  -125,  26,  84,  -18,  4,  62,  57,  -48,  -74,  -14,  40,  35,  11,  -7,  -13,  11,  78,  10,  -21,  17,  -61,  33,  -34,  18,  -39,  -3,  57,  -46,  -28,  -22,  47,  34,  -101,  19,  -3,  -29,  18,  -81,  -41,  123,  127,  67,  57,  9,  10,  55,  -21,  25,  -9,  -4,  -11,  34,  37,  -22,  -126,  -127,  -45,  -57,  65,  48,  127,  127,  125,  52,  -78,  -128,  -128,  -128,  -128,  -103,  30,  126,  7,  88,  -47,  12,  44,  106,  -27,  -76,  -45,  -7,  -7,  -58,  -26,  110,  1,  55,  -46,  -56,  -28,  23,  -16,  -93,  -21,  -8,  18,  -47,  -87,  -34,  28,  -18,  34,  -53,  42,  -73,  -32,  -1,  -106,  -12,  10,  -4,  32,  51,  16,  7,  -32,  51,  -4,  8,  41,  -127,  22,  -43,  126,  -58,  -87,  68,  -12,  114,  -128,  114,  -1,  -128,  114,  -49,  -86,  -1,  -60,  127,  -126,  119,  82,  -13,  -22,  68,  -52,  14,  31,  -1,  7,  -50,  -20,  117,  -29,  83,  27,  -53,  39,  75,  55,  14,  8,  -2,  -31,  -15,  12,  56,  16,  65,  30,  -9,  102,  -72,  -74,  -2,  24,  27,  -20,  25,  19,  -46,  -1,  2,  21,  -5,  26,  14,  -102,  72,  -70,  74,  -40,  -15,  14,  49,  23,  -28,  -4,  -42,  -50,  -27,  80,  -91,  6,  20,  64,  -6,  -47,  82,  34,  -9,  -10,  -3,  -48,  62,  -16,  127,  -12,  30,  -29,  -35,  20,  62,  46,  16,  66,  39,  123,  15,  4,  27,  -62,  52,  38,  18,  -24,  -30,  -35,  -18,  64,  -1,  -1,  91,  -52,  -1,  0,  34,  -1,  -3,  7,  28,  7,  -7,  -14,  -38,  -7,  -100,  7,  126,  6,  -40,  -31,  127,  90,  -128,  -96,  117,  -22,  -86,  -128,  4,  77,  54,  85,  -88,  -61,  -10,  7,  -18,  107,  -19,  -38,  14,  -1,  3,  -12,  -93,  -65,  -7,  -20,  -16,  -10,  12,  -21,  23,  -62,  50,  -18,  16,  -7,  -23,  20,  27,  -89,  44,  11,  93,  -25,  -27,  -21,  17,  17,  41,  -32,  1,  7,  -18,  -8,  34,  98,  100,  54,  -124,  -37,  -24,  -72,  -124,  -14,  -106,  -128,  -88,  -30,  127,  125,  -123,  -128,  -127,  24,  111,  -63,  -59,  27,  122,  -23,  70,  -36,  -75,  -36,  45,  -31,  7,  -8,  -66,  1,  -32,  29,  -68,  -69,  -75,  13,  46,  -14,  -40,  3,  15,  5,  62,  96,  -64,  4,  -7,  99,  3,  -64,  51,  -31,  -47,  12,  -20,  20,  -15,  7,  1,  -11,  -3,  -20,  -8,  -21,  -115,  -51,  4,  83,  127,  71,  84,  107,  36,  114,  56,  83,  71,  65,  9,  -44,  25,  -24,  26,  8,  -21,  -38,  60,  7,  39,  10,  -33,  -37,  -10,  13,  -27,  -11,  -25,  -57,  33,  -57,  27,  -1,  -28,  -126,  -100,  87,  65,  20,  49,  -125,  -55,  -42,  20,  -12,  -8,  35,  -10,  127,  -53,  45,  -68,  78,  -18,  21,  20,  13,  10,  -1,  1,  -20,  -24,  16,  78,  -49,  -52,  126,  -29,  -127,  127,  127,  -127,  -61,  126,  -63,  -25,  -60,  -116,  41,  13,  -9,  21,  22,  -39,  -12,  -26,  18,  -13,  18,  39,  -20,  36,  -43,  -15,  -65,  6,  14,  -25,  50,  15,  -1,  -27,  12,  -30,  -48,  33,  -24,  -49,  -107,  127,  49,  58,  -76,  62,  46,  10,  -76,  44,  -7,  46,  4,  64,  18,  25,  34,  32,  20,  -25,  -48,  -126,  -22,  -52,  69,  118,  31,  -61,  -38,  65,  126,  70,  62,  -75,  -95,  74,  125,  98,  125,  125,  35,  62,  -8,  58,  84,  42,  -25,  15,  -28,  -13,  9,  -42,  13,  -84,  -24,  -14,  4,  59,  57,  6,  -17,  27,  -8,  -51,  -37,  -62,  6,  -34,  10,  -34,  -20,  -120,  18,  -58,  31,  53,  61,  -75,  1,  9,  -26,  -49,  2,  12,  -10,  11,  21,  -15,  -127,  -126,  -126,  21,  126,  92,  127,  -126,  -7,  127,  -62,  -128,  9,  -35,  2,  -84,  9,  -3,  -13,  7,  93,  118,  34,  6,  -31,  -51,  50,  91,  15,  75,  26,  -15,  -7,  49,  61,  20,  -15,  2,  -45,  -22,  74,  56,  -58,  21,  121,  38,  -48,  -21,  -27,  4,  35,  -37,  47,  -80,  125,  -56,  -23,  5,  14,  -32,  26,  -9,  -9,  -4,  9,  -5,  1,  57,  -96,  112,  -127,  48,  -69,  -124,  60,  -92,  31,  -48,  -124,  -126,  -102,  -12,  24,  -49,  -4,  -25,  91,  -122,  5,  8,  11,  -20,  56,  -115,  36,  -8,  13,  -103,  35,  -21,  -45,  -25,  -126,  -47,  86,  17,  -18,  48,  -37,  34,  13,  -20,  -11,  -103,  -7,  55,  2,  7,  7,  -12,  64,  -51,  10,  -38,  70,  -123,  127,  31,  21,  13,  -8,  -9,  -22,  -33,  -119,  -76,  0,  122,  118,  -24,  -126,  -70,  45,  125,  8,  44,  -38,  -77,  81,  127,  70,  -37,  -29,  4,  33,  -62,  71,  -3,  -9,  -14,  27,  -7,  8,  67,  -34,  -12,  62,  -10,  22,  21,  -7,  22,  -7,  -48,  20,  65,  -12,  -73,  50,  94,  76,  9,  -85,  -16,  17,  -10,  -43,  -53,  9,  20,  48,  -43,  -17,  -13,  47,  -17,  -2,  10,  22,  -19,  -31,  -54,  -42,  39,  -24,  -76,  -126,  80,  79,  33,  -23,  -127,  53,  -116,  -125,  -17,  127,  -49,  -34,  -22,  13,  -94,  -47,  -14,  -26,  -21,  27,  -35,  -2,  -4,  27,  69,  26,  16,  -51,  49,  -12,  19,  59,  31,  -123,  35,  6,  85,  -55,  104,  12,  -21,  75,  -24,  -48,  -83,  52,  -7,  127,  -13,  31,  3,  112,  -55,  61,  -92,  19,  33,  -12,  -23,  -23,  -16,  -99,  -62,  -126,  -29,  86,  70,  -20,  46,  8,  -29,  -39,  47,  21,  43,  -35,  -128,  51,  70,  -33,  -13,  40,  52,  4,  -4,  -14,  43,  90,  28,  -20,  90,  -19,  -46,  60,  -7,  9,  -65,  -7,  -26,  -20,  -32,  57,  8,  17,  -91,  -60,  -30,  -1,  -2,  3,  -96,  -9,  -75,  -16,  79,  52,  -13,  6,  -20,  -51,  29,  -36,  3,  -4,  -36,  -16,  -15,  -24,  -83,  -28,  -14,  -102,  -3,  36,  35,  -17,  127,  127,  126,  -16,  -79,  -127,  -128,  -73,  13,  7,  -51,  -19,  40,  -1,  5,  -41,  22,  39,  -9,  -2,  -4,  -5,  -90,  -63,  -80,  10,  16,  52,  -8,  61,  77,  -123,  97,  -62,  -39,  -89,  99,  -14,  -53,  0,  21,  -56,  -52,  18,  -127,  1,  -25,  -45,  40,  18,  -29,  56,  -119,  13,  10,  4,  11,  31,  39,  -18,  -43,  -104,  83,  -42,  20,  13,  -128,  -40,  52,  -73,  99,  78,  -53,  25,  95,  39,  62,  60,  -30,  106,  93,  20,  23,  16,  -23,  35,  10,  -67,  102,  9,  -59,  31,  73,  11,  1,  -25,  -39,  -40,  24,  45,  -16,  -89,  66,  32,  27,  0,  -14,  -22,  19,  6,  42,  -52,  -61,  10,  -96,  36,  8,  11,  -4,  -18,  1,  -20,  -1,  39,  -30,  -55,  61,  127,  -69,  -124,  13,  127,  127,  -126,  -43,  -127,  99,  83,  -65,  77,  -34,  -127,  -14,  -53,  -28,  -1,  -18,  -28,  5,  -43,  -3,  22,  -10,  -59,  17,  36,  -19,  7,  -10,  35,  25,  33,  -27,  -53,  -48,  -13,  -14,  45,  -1,  -15,  -20,  127,  13,  -59,  -41,  -25,  61,  39,  52,  45,  61,  -29,  25,  -18,  -50,  -2,  55,  -12,  -6,  -15,  -28,  -62,  -47,  -121,  -67,  -59,  -84,  81,  -21,  -65,  59,  117,  -8,  -106,  -126,  101,  57,  62,  37,  -90,  -28,  -5,  11,  -120,  -115,  -57,  -17,  -5,  58,  -35,  -19,  52,  -36,  -36,  -66,  -10,  -6,  9,  30,  -33,  -2,  57,  -127,  -45,  118,  127,  -37,  -16,  67,  20,  -81,  44,  -64,  19,  -52,  -21,  29,  0,  -32,  4,  -91,  83,  43,  -10,  -9,  -19,  28,  69,  19,  -39,  -128,  -88,  84,  126,  -37,  -5,  55,  19,  -26,  43,  126,  55,  -57,  10,  42,  59,  -67,  -115,  -53,  118,  127,  90,  -39,  -116,  -20,  59,  95,  49,  -27,  -5,  11,  -68,  0,  -58,  -16,  -3,  6,  -2,  3,  -24,  57,  -8,  7,  -29,  -15,  74,  -41,  52,  -3,  38,  -24,  -55,  -4,  29,  -23,  -55,  51,  18,  32,  76,  1,  10,  31,  56,  71,  56,  47,  -16,  -85,  -114,  -120,  -126,  -89,  -71,  -128,  -128,  -128,  -38,  -67,  -32,  -51,  -93,  -7,  29,  67,  78,  108,  57,  71,  23,  49,  24,  30,  27,  13,  0,  -45,  -19,  19,  -61,  9,  -30,  8,  11,  5,  31,  83,  -45,  -55,  -17,  18,  7,  -128,  -38,  3,  55,  81,  24,  -35,  -13,  -64,  -10,  30,  -38,  35,  11,  -52,  -59,  14,  4,  -5,  -19,  -25,  6,  47,  67,  126,  58,  60,  -47,  -21,  16,  -50,  127,  127,  127,  127,  127,  127,  94,  92,  127,  94,  71,  -51,  -65,  78,  100,  66,  29,  -58,  -73,  -4,  28,  -3,  5,  33,  -53,  9,  -38,  -21,  41,  39,  51,  36,  -26,  -49,  -35,  45,  36,  10,  1,  35,  -82,  65,  -12,  -51,  14,  42,  -79,  48,  28,  -29,  40,  42,  14,  -11,  -17,  -20,  -33,  49,  32,  -124,  22,  50,  4,  -87,  126,  127,  -41,  -12,  -8,  127,  127,  84,  124,  32,  -25,  -10,  1,  -33,  -64,  85,  -32,  8,  32,  12,  -29,  11,  10,  27,  -36,  -75,  -63,  -35,  19,  68,  -62,  40,  55,  -13,  71,  -108,  -28,  10,  -70,  42,  26,  11,  24,  -34,  -102,  7,  -120,  0,  -25,  38,  -10,  -34,  29,  115,  -127,  -1,  11,  32,  32,  -5,  -38,  15,  127,  64,  -15,  34,  -42,  -78,  60,  43,  -20,  -50,  -128,  -80,  55,  -52,  -3,  -14,  2,  96,  64,  -62,  -128,  -39,  -20,  55,  30,  -13,  -18,  -34,  49,  48,  4,  4,  -1,  -14,  -91,  -1,  26,  -41,  -8,  45,  -4,  -25,  13,  -15,  22,  18,  56,  50,  79,  -2,  -32,  -12,  -39,  -29,  -17,  27,  92,  -46,  9,  58,  17,  12,  -4,  -29,  -1,  6,  -54,  123,  101,  123,  119,  42,  -107,  15,  59,  -38,  32,  85,  127,  63,  69,  94,  48,  -38,  -92,  -127,  102,  -32,  17,  -13,  -39,  -51,  0,  1,  -31,  18,  -16,  -45,  57,  3,  52,  20,  55,  -58,  20,  -58,  -35,  75,  84,  -39,  87,  -60,  -12,  17,  -28,  -88,  -25,  39,  10,  -1,  -9,  -60,  12,  -12,  -108,  68,  -25,  12,  27,  9,  -29,  -61,  -80,  -127,  20,  126,  55,  -128,  -127,  -22,  -123,  -128,  -119,  -94,  -55,  -124,  -127,  86,  117,  -19,  -33,  36,  -89,  16,  -29,  -23,  -61,  35,  -3,  9,  34,  28,  34,  50,  47,  -44,  -90,  6,  -100,  -38,  28,  -27,  127,  -27,  59,  -11,  48,  20,  -54,  -7,  -23,  57,  62,  23,  127,  2,  19,  20,  -39,  58,  39,  -90,  -19,  127,  2,  1,  -12,  -23,  -35,  -23,  -65,  79,  -35,  -35,  114,  124,  127,  125,  125,  -65,  -11,  126,  126,  97,  -127,  -128,  51,  -53,  -122,  -58,  -70,  -11,  69,  21,  -81,  -26,  -23,  -8,  88,  117,  10,  -47,  -65,  -85,  1,  -69,  -1,  6,  -11,  -7,  -79,  41,  -33,  82,  9,  -127,  -4,  -17,  63,  44,  -5,  83,  99,  -13,  -94,  6,  -63,  33,  23,  -21,  8,  11,  13,  20,  22,  20,  4,  -70,  97,  124,  -127,  -127,  56,  126,  -75,  -127,  -127,  10,  121,  -76,  -128,  -127,  -128,  66,  94,  -67,  -29,  -74,  36,  65,  43,  -51,  -61,  -42,  18,  17,  47,  -20,  0,  -23,  29,  43,  34,  -11,  -37,  16,  -4,  -5,  -14,  19,  58,  0,  62,  -125,  0,  -3,  -1,  4,  26,  -33,  47,  28,  -24,  -37,  -62,  36,  -8,  -50,  7,  5,  -5,  -3,  2,  -10,  -49,  52,  127,  127,  126,  127,  -128,  -127,  -128,  -128,  105,  -68,  -13,  -124,  -50,  48,  -10,  8,  -11,  35,  -48,  -57,  -8,  -29,  -7,  73,  -43,  -116,  24,  -48,  9,  -38,  30,  -60,  15,  10,  -66,  46,  33,  8,  104,  -19,  63,  -63,  113,  -38,  -4,  31,  -2,  -12,  -45,  37,  3,  0,  14,  27,  30,  -24,  -17,  10,  -102,  0,  2,  -47,  -42,  -4,  44,  125,  -51,  -16,  127,  56,  11,  -3,  9,  125,  124,  -96,  -122,  126,  -110,  -72,  -19,  -70,  -31,  -123,  -128,  83,  127,  -119,  -21,  -7,  94,  25,  -25,  19,  -24,  -25,  76,  -41,  38,  3,  51,  24,  33,  61,  9,  -16,  -15,  1,  10,  -21,  -70,  -2,  2,  4,  78,  -17,  4,  -11,  2,  42,  54,  -55,  22,  -61,  25,  -83,  6,  4,  -2,  -3,  14,  47,  37,  -27,  108,  126,  -72,  -128,  40,  127,  -22,  -128,  -106,  17,  -40,  -80,  -125,  124,  33,  8,  -40,  56,  -4,  -8,  19,  7,  -14,  7,  4,  -9,  -22,  11,  -15,  -25,  -67,  65,  -51,  -42,  26,  16,  -86,  28,  -17,  -33,  -45,  18,  20,  89,  94,  21,  -30,  -48,  -39,  5,  -82,  -33,  -19,  -16,  -49,  -9,  -107,  15,  -49,  -5,  9,  -20,  -50,  2,  27,  115,  41,  -128,  -98,  -76,  -127,  -113,  124,  127,  127,  127,  127,  126,  -123,  -128,  -128,  62,  17,  2,  -42,  -25,  39,  27,  -24,  9,  23,  41,  -30,  -3,  36,  31,  6,  -60,  12,  -41,  -58,  -16,  -49,  41,  -75,  -51,  -40,  25,  -23,  100,  17,  14,  63,  -64,  78,  19,  -86,  -6,  -109,  7,  61,  -20,  -24,  20,  20,  21,  -11,  10,  37,  14,  -3,  13,  20,  -114,  -83,  71,  77,  -1,  -66,  -98,  -25,  125,  -14,  -19,  -8,  44,  -19,  -49,  -74,  51,  89,  -76,  -7,  81,  -64,  28,  34,  -26,  36,  0,  -29,  8,  -29,  -21,  -34,  56,  18,  44,  -2,  10,  30,  36,  75,  39,  61,  -56,  38,  17,  41,  -27,  -12,  -7,  13,  -26,  12,  -127,  -39,  -126,  -8,  -96,  -87,  -83,  51,  -15,  -14,  -15,  -37,  -16,  -15,  -59,  -67,  45,  18,  -128,  -127,  97,  71,  18,  -126,  29,  -89,  -125,  -127,  -94,  -125,  -77,  -89,  -86,  -110,  -31,  -82,  -31,  -20,  -47,  -22,  -3,  -18,  5,  -119,  -4,  -4,  38,  76,  -26,  -20,  -11,  -24,  -2,  121,  15,  4,  54,  2,  19,  43,  47,  52,  43,  -4,  70,  19,  -51,  19,  -124,  -126,  48,  -10,  -10,  -12,  32,  19,  -8,  -44,  -28,  19,  39,  44,  -70,  39,  127,  12,  123,  125,  127,  59,  -75,  107,  126,  121,  69,  -74,  121,  70,  -37,  -114,  -70,  37,  94,  48,  -19,  -43,  23,  -23,  20,  -6,  -75,  -42,  -16,  8,  -43,  32,  -22,  -38,  78,  56,  -101,  44,  -26,  -11,  -69,  68,  -10,  -99,  38,  67,  16,  -45,  11,  -64,  -34,  40,  -51,  34,  -18,  -68,  -65,  -59,  22,  13,  -20,  28,  4,  -22,  -64,  -7,  127,  -49,  -126,  127,  -128,  56,  64,  -59,  50,  76,  -128,  -119,  117,  -14,  13,  18,  -48,  34,  64,  -57,  10,  9,  1,  -23,  48,  58,  0,  56,  -52,  32,  84,  -38,  29,  -111,  -26,  44,  -53,  -16,  21,  29,  -5,  -4,  13,  62,  26,  -109,  2,  -48,  7,  16,  -6,  12,  -102,  -11,  -56,  55,  -74,  25,  38,  2,  -17,  -30,  -30,  3,  0,  -128,  -126,  -128,  21,  18,  -86,  -61,  -127,  -98,  127,  -127,  78,  71,  127,  21,  -127,  2,  -30,  -89,  -46,  -5,  -24,  4,  -2,  -30,  9,  20,  -20,  -8,  -34,  15,  18,  13,  -75,  43,  47,  -21,  74,  38,  -51,  32,  -57,  24,  25,  76,  109,  -18,  -17,  43,  -12,  63,  37,  -17,  -48,  -3,  92,  27,  -9,  56,  11,  -35,  5,  -5,  0,  17,  25,  4,  -51,  -82,  -125,  13,  -76,  -81,  -101,  49,  94,  -127,  -128,  -38,  115,  39,  -10,  -127,  0,  6,  39,  68,  87,  -32,  3,  -7,  23,  46,  19,  -15,  -17,  -3,  -3,  -10,  4,  2,  6,  23,  10,  4,  22,  5,  -48,  12,  -15,  -23,  9,  42,  31,  -31,  -7,  -4,  -11,  -30,  0,  -3,  -24,  1,  11,  -22,  41,  5,  2,  -9,  -16,  2,  3,  6,  -9,  -27,  -17,  12,  32,  5,  28,  127,  127,  27,  -10,  -33,  -59,  -120,  -104,  -95,  -33,  -10,  -16,  4,  -4,  22,  -14,  -5,  -5,  -6,  -3,  13,  -6,  -2,  10,  50,  23,  10,  -5,  -6,  22,  -29,  -16,  9,  14,  30,  25,  -6,  13,  -12,  -5,  -51,  -8,  25,  -4,  -4,  55,  -37,  4,  74,  20,  10,  -34,  23,  -15,  -34,  0,  1,  -27,  22,  10,  -40,  66,  45,  -63,  39,  -9,  -88,  51,  61,  -13,  92,  -79,  -18,  121,  7,  17,  0,  14,  10,  -70,  52,  53,  -107,  7,  8,  -43,  14,  23,  -34,  -5,  33,  21,  31,  0,  87,  -8,  45,  -46,  48,  17,  3,  23,  -58,  -23,  -12,  72,  -14,  20,  38,  -61,  19,  -38,  -19,  46,  -15,  0,  18,  6,  -22,  -16,  -30,  -32,  -7,  10,  -14,  -24,  53,  25,  -69,  -33,  -30,  72,  24,  8,  -15,  -79,  27,  53,  -21,  18,  -10,  74,  -22,  1,  -68,  7,  -21,  33,  -18,  -40,  40,  -68,  -6,  56,  -54,  20,  4,  5,  -10,  -35,  12,  20,  -7,  40,  -18,  -24,  21,  15,  -3,  11,  -12,  14,  14,  20,  -12,  -30,  22,  1,  8,  -7,  3,  -3,  -58,  -39,  22,  20,  -9,  -45,  2,  6,  -11,  -14,  -13,  5,  -2,  -15,  -23,  66,  -42,  -70,  -30,  19,  1,  -127,  -127,  91,  123,  74,  5,  -113,  -89,  6,  -18,  -33,  -25,  11,  7,  -1,  -4,  -16,  -6,  9,  6,  3,  25,  -29,  35,  43,  -20,  -8,  24,  16,  -27,  21,  14,  7,  65,  1,  29,  7,  11,  26,  33,  15,  -3,  -27,  -75,  8,  -46,  5,  39,  5,  -26,  12,  -9,  -11,  -3,  5,  29,  28,  0,  -42,  -127,  -99,  -47,  -26,  -69,  40,  -73,  -125,  61,  -84,  -54,  -10,  46,  -1,  2,  3,  0,  7,  48,  46,  -3,  -55,  0,  8,  13,  8,  1,  -10,  -2,  55,  -32,  -24,  -11,  -59,  58,  -72,  -18,  79,  -61,  87,  33,  -85,  -68,  -16,  -41,  64,  -12,  -63,  -17,  -8,  -3,  -77,  -12,  45,  27,  16,  53,  -36,  68,  -46,  2,  -17,  -34,  -19,  -4,  16,  -2,  -39,  12,  5,  29,  97,  107,  89,  127,  124,  127,  127,  127,  125,  127,  126,  117,  -37,  -38,  -45,  -48,  -59,  20,  -22,  23,  -44,  -16,  -51,  55,  27,  22,  -31,  1,  10,  -9,  -14,  1,  -7,  4,  -25,  -1,  -5,  1,  -4,  -9,  -15,  3,  -10,  -4,  13,  -8,  -9,  40,  -5,  12,  -26,  -17,  1,  67,  -48,  13,  -13,  12,  13,  3,  0,  -3,  -19,  -128,  -111,  45,  43,  -114,  -26,  104,  -56,  -91,  93,  -7,  -43,  34,  -17,  7,  3,  28,  26,  23,  8,  -1,  -30,  15,  8,  9,  1,  -1,  -14,  5,  10,  13,  -34,  -46,  -4,  -27,  11,  -16,  -33,  -38,  -15,  -56,  -29,  -45,  4,  93,  43,  -12,  -3,  20,  -5,  -3,  -13,  -24,  -23,  32,  -3,  32,  -10,  15,  -47,  -45,  -2,  -6,  -1,  6,  7,  6,  -12,  -13,  5,  24,  46,  -8,  11,  49,  23,  49,  0,  -11,  38,  -43,  76,  23,  -41,  -128,  32,  20,  119,  120,  -18,  -75,  -78,  20,  99,  127,  -28,  -12,  -8,  33,  48,  -9,  -24,  6,  -36,  1,  -4,  13,  -1,  -1,  6,  22,  20,  12,  35,  -15,  -6,  -11,  33,  -6,  -1,  -19,  -15,  14,  9,  2,  -7,  -13,  20,  -3,  -4,  6,  -3,  -18,  -20,  90,  28,  57,  28,  -112,  -87,  -75,  93,  28,  -60,  38,  64,  -39,  40,  56,  34,  -8,  5,  17,  10,  -16,  -68,  -4,  2,  12,  3,  -7,  -32,  1,  31,  10,  13,  7,  8,  25,  -2,  -21,  -4,  16,  -17,  8,  28,  -22,  33,  -14,  -26,  -7,  13,  0,  -17,  -17,  -22,  -13,  -12,  74,  39,  -24,  3,  13,  15,  -3,  -2,  1,  5,  29,  -15,  13,  78,  -72,  -45,  -68,  -23,  -8,  -5,  -27,  -127,  -26,  -71,  -34,  9,  -50,  -80,  -99,  7,  -6,  12,  51,  -36,  30,  4,  -4,  7,  14,  -20,  6,  -1,  -79,  -53,  9,  111,  33,  -37,  28,  -66,  -1,  -35,  46,  46,  -89,  4,  -40,  -42,  -1,  15,  -41,  -19,  -8,  16,  30,  12,  -15,  -39,  -45,  34,  30,  -43,  -15,  28,  -1,  -5,  -1,  -19,  -28,  -19,  -7,  15,  -11,  -47,  40,  -5,  -72,  74,  -53,  -4,  -2,  -6,  29,  -56,  33,  -57,  -87,  -22,  80,  7,  -74,  -1,  -63,  -30,  3,  1,  35,  53,  5,  -28,  -34,  38,  -6,  -19,  8,  -36,  82,  -11,  55,  5,  -80,  41,  -19,  31,  -61,  -31,  -13,  5,  41,  -47,  31,  10,  22,  73,  -1,  4,  -18,  -4,  12,  20,  -9,  10,  -3,  -16,  16,  20,  22,  -16,  -32,  103,  114,  -16,  -32,  -73,  -83,  -3,  30,  25,  -79,  -21,  34,  56,  16,  71,  -47,  -126,  113,  52,  45,  79,  -51,  -71,  0,  16,  -34,  9,  -60,  -26,  -25,  -20,  -38,  -23,  -1,  10,  -34,  -25,  18,  -37,  -6,  15,  -40,  -54,  -31,  -4,  17,  -17,  33,  47,  -3,  -19,  4,  16,  34,  -21,  -7,  15,  -39,  56,  -4,  -1,  -1,  -5,  -14,  -3,  28,  66,  71,  41,  0,  -10,  -64,  -119,  7,  39,  35,  -82,  -128,  -104,  37,  127,  -27,  -17,  -3,  -12,  -38,  -40,  -24,  -23,  -11,  -3,  -9,  13,  16,  -5,  9,  0,  14,  -8,  6,  -17,  19,  11,  -6,  -11,  -20,  13,  5,  14,  12,  -4,  16,  -1,  9,  0,  -12,  12,  31,  4,  -52,  -1,  -10,  -14,  25,  20,  -7,  -1,  -4,  5,  6,  11,  -3,  -37,  -24,  -48,  115,  124,  -88,  -107,  -68,  -113,  -108,  -127,  -45,  20,  82,  127,  98,  4,  -1,  5,  9,  24,  -6,  2,  2,  1,  -4,  8,  -5,  1,  -18,  36,  -6,  -9,  -6,  45,  2,  44,  26,  13,  29,  23,  -49,  -32,  6,  8,  24,  20,  34,  29,  -31,  -30,  -10,  -128,  -44,  -7,  13,  -30,  -39,  31,  -7,  6,  3,  1,  11,  21,  26,  15,  4,  0,  30,  102,  69,  33,  37,  22,  20,  73,  37,  28,  -40,  -34,  20,  44,  -38,  15,  40,  24,  2,  14,  -30,  13,  13,  4,  -7,  6,  -12,  -8,  27,  -16,  17,  17,  -24,  23,  2,  -55,  -12,  -10,  61,  -91,  5,  -20,  8,  21,  -17,  -15,  32,  -24,  7,  23,  -8,  -5,  -4,  -53,  15,  3,  -4,  -36,  27,  7,  -13,  -18,  18,  2,  -25,  38,  126,  -92,  -78,  72,  -53,  73,  -62,  -26,  -108,  127,  113,  -127,  -71,  73,  116,  9,  -26,  -39,  35,  -13,  -49,  1,  -10,  -9,  28,  -14,  -18,  -2,  -36,  27,  15,  -19,  2,  18,  13,  39,  -33,  25,  51,  -74,  28,  -4,  75,  34,  -52,  -41,  71,  99,  21,  5,  26,  -11,  -10,  -9,  0,  -8,  26,  4,  50,  -15,  21,  15,  11,  27,  23,  20,  -11,  1,  21,  112,  26,  43,  28,  -38,  50,  89,  54,  -64,  0,  5,  84,  -9,  48,  24,  17,  68,  66,  45,  45,  12,  -3,  15,  18,  11,  -19,  13,  -16,  23,  14,  0,  -13,  -19,  15,  16,  13,  -9,  53,  -15,  -7,  28,  -8,  -26,  -38,  20,  -13,  -1,  -24,  38,  -26,  -5,  16,  5,  18,  18,  -39,  19,  -4,  5,  13,  1,  -10,  -27,  -19,  -31,  27,  -27,  -58,  48,  -70,  -94,  31,  61,  -22,  -70,  -49,  10,  -22,  -9,  -55,  5,  7,  12,  -31,  -56,  -48,  3,  2,  9,  -11,  -12,  -22,  -1,  -89,  -4,  24,  -38,  33,  20,  41,  0,  29,  -47,  76,  24,  18,  36,  0,  -86,  3,  17,  -57,  5,  -32,  -22,  -45,  -10,  27,  36,  -37,  32,  -1,  -52,  18,  -2,  -5,  -13,  -32,  -39,  -39,  -43,  -127,  -127,  -64,  15,  24,  125,  69,  80,  87,  12,  99,  110,  108,  77,  124,  43,  6,  -19,  -33,  -78,  -76,  -79,  -10,  -24,  -22,  -33,  -42,  1,  0,  44,  10,  -3,  -9,  -6,  25,  -21,  16,  6,  3,  -15,  -11,  80,  -8,  -11,  18,  12,  17,  13,  -9,  3,  -21,  -39,  7,  9,  22,  13,  -15,  -15,  26,  15,  -9,  -6,  -2,  10,  22,  16,  7,  -60,  -34,  18,  -69,  2,  -39,  -7,  59,  -10,  127,  127,  127,  121,  127,  126,  87,  1,  5,  11,  30,  44,  18,  -1,  0,  0,  9,  21,  7,  -1,  5,  -1,  -26,  -28,  54,  -15,  -4,  -42,  -15,  9,  -8,  34,  3,  7,  18,  21,  5,  -45,  0,  44,  -23,  22,  -3,  13,  8,  -16,  -28,  6,  -1,  22,  -17,  5,  10,  -4,  1,  6,  -20,  15,  10,  -60,  106,  127,  -19,  -106,  66,  127,  79,  6,  36,  50,  114,  114,  51,  37,  7,  -13,  -2,  22,  -83,  54,  1,  -7,  1,  18,  -35,  26,  -2,  -10,  -15,  -15,  -18,  8,  -21,  24,  -22,  31,  11,  -26,  14,  23,  -1,  -11,  13,  2,  -13,  -5,  23,  -27,  8,  40,  31,  0,  -83,  41,  0,  12,  20,  6,  2,  8,  1,  18,  8,  -8,  -30,  -56,  78,  0,  -34,  58,  74,  76,  44,  -28,  -33,  37,  11,  39,  19,  -88,  -65,  8,  2,  36,  18,  -24,  -64,  -5,  -7,  18,  24,  -18,  -17,  2,  -62,  8,  63,  19,  -17,  -20,  16,  68,  -32,  80,  -65,  -70,  57,  7,  60,  -40,  -10,  -37,  41,  3,  39,  -36,  17,  -25,  -5,  29,  -15,  45,  -28,  -26,  13,  -31,  5,  8,  -21,  -26,  -22,  -6,  -18,  41,  -39,  -93,  -62,  -14,  18,  107,  48,  -31,  -46,  -47,  84,  111,  52,  -34,  19,  7,  5,  24,  70,  10,  1,  -35,  46,  27,  -14,  22,  -19,  -2,  18,  12,  -6,  -7,  2,  -37,  6,  3,  11,  -17,  -29,  96,  4,  -9,  0,  -9,  39,  18,  -7,  3,  -16,  -11,  2,  -4,  -16,  31,  -20,  -10,  5,  31,  -8,  -5,  2,  11,  0,  0,  9,  55,  58,  -93,  77,  50,  -34,  -74,  -126,  97,  127,  111,  90,  108,  20,  -73,  -80,  2,  5,  24,  3,  -2,  11,  4,  3,  11,  -5,  0,  -4,  -3,  22,  -21,  53,  5,  33,  -44,  -52,  33,  -25,  -30,  29,  48,  -101,  -4,  30,  -51,  10,  47,  -32,  7,  -12,  -23,  -18,  -6,  10,  -70,  -23,  37,  -12,  -57,  -32,  12,  -5,  -14,  -15,  -30,  -20,  -42,  -120,  -127,  -118,  -128,  -126,  -127,  -125,  -110,  -126,  -65,  -61,  -65,  32,  11,  6,  2,  -6,  -34,  -50,  -99,  -86,  -100,  -17,  -27,  -57,  -67,  -88,  -73,  11,  -25,  2,  -10,  9,  9,  30,  16,  29,  -6,  9,  13,  27,  3,  -2,  33,  14,  5,  7,  -8,  27,  -3,  -17,  -6,  9,  6,  -16,  17,  13,  -53,  30,  2,  -12,  -5,  -14,  -4,  4,  2,  -6,  -25,  125,  127,  -29,  -120,  -128,  -107,  -63,  -22,  17,  -66,  -92,  -74,  -74,  -16,  8,  -1,  -18,  -11,  -2,  15,  -3,  -1,  -2,  -10,  -5,  7,  7,  -4,  13,  6,  16,  -15,  29,  17,  -15,  -25,  20,  -2,  9,  23,  -13,  -5,  10,  12,  16,  -24,  -17,  -7,  4,  -3,  72,  -15,  2,  23,  -31,  -1,  -12,  34,  8,  -11,  -2,  -2,  -9,  5,  -5,  -8,  -5,  4,  127,  121,  126,  122,  -100,  -50,  -1,  11,  70,  21,  -48,  -31,  -2,  11,  -3,  0,  -15,  19,  -19,  -14,  -1,  -4,  -8,  7,  -6,  -9,  0,  -8,  1,  -11,  -24,  56,  4,  -14,  11,  -8,  -49,  84,  42,  -55,  8,  4,  -16,  -126,  7,  8,  1,  14,  48,  14,  0,  -45,  -26,  22,  21,  23,  -25,  -11,  -7,  1,  3,  12,  -9,  -25,  -20,  -22,  -65,  -43,  22,  36,  -23,  -30,  -35,  -20,  28,  -55,  -82,  82,  11,  -39,  -64,  61,  27,  -39,  -121,  -5,  52,  44,  39,  -35,  -34,  15,  20,  -1,  -15,  20,  2,  8,  43,  21,  33,  1,  9,  13,  38,  41,  53,  -6,  16,  0,  -2,  -2,  -30,  93,  -20,  9,  -16,  7,  7,  -87,  -26,  5,  3,  25,  10,  -2,  13,  -15,  -2,  7,  2,  -4,  53,  64,  5,  -48,  -14,  110,  43,  -2,  68,  102,  14,  -78,  50,  104,  87,  44,  20,  -25,  9,  11,  -7,  -8,  11,  -4,  3,  -3,  -7,  -7,  2,  -5,  21,  2,  -8,  -18,  29,  -27,  -26,  12,  17,  3,  -16,  48,  -14,  16,  2,  -5,  8,  4,  -63,  18,  -15,  27,  -17,  -13,  45,  39,  0,  -5,  5,  1,  -3,  -12,  4,  1,  -11,  -4,  4,  22,  107,  82,  14,  -34,  71,  127,  -44,  -111,  -113,  -45,  20,  55,  93,  42,  17,  -11,  11,  1,  -20,  6,  1,  -3,  5,  0,  -11,  5,  -3,  -2,  13,  -18,  54,  -35,  -15,  -4,  38,  11,  -13,  -22,  -28,  -29,  38,  -2,  3,  -30,  13,  -28,  -46,  5,  45,  22,  -26,  -15,  60,  26,  -8,  2,  -5,  10,  5,  -54,  -1,  -4,  -5,  7,  -3,  -14,  12,  5,  -19,  -9,  -16,  -26,  -2,  16,  3,  -2,  -67,  -46,  73,  58,  -43,  -55,  -114,  123,  89,  -128,  49,  57,  -99,  103,  55,  -128,  70,  5,  3,  -51,  36,  -30,  -19,  41,  -11,  11,  -66,  -10,  -1,  9,  15,  -11,  8,  -2,  6,  26,  21,  -47,  2,  -9,  32,  5,  -16,  7,  -23,  -45,  16,  -3,  -21,  -47,  58,  -5,  -18,  -11,  -12,  -15,  -12,  21,  43,  9,  -86,  86,  76,  -12,  -30,  0,  117,  -65,  -37,  66,  127,  35,  24,  -18,  -37,  -9,  -21,  -45,  -9,  -15,  -18,  6,  1,  -9,  8,  -1,  63,  1,  -18,  10,  11,  11,  7,  -63,  -35,  45,  67,  4,  -69,  -45,  -32,  -8,  46,  85,  -63,  -23,  -51,  21,  -11,  26,  -12,  10,  41,  -50,  -30,  -52,  -20,  5,  -15,  -28,  -31,  -48,  -35,  -21,  -24,  -61,  -31,  2,  28,  -17,  -17,  10,  118,  85,  -8,  -31,  9,  23,  15,  -26,  -72,  -93,  -43,  -59,  -33,  -22,  16,  11,  32,  80,  33,  29,  7,  -42,  14,  33,  -15,  26,  52,  34,  44,  41,  34,  28,  -18,  -32,  10,  -26,  -18,  -13,  21,  16,  -35,  -11,  14,  -17,  8,  -15,  14,  45,  3,  -1,  14,  28,  -18,  -5,  6,  17,  -21,  -32,  9,  90,  7,  -123,  -20,  90,  -16,  79,  -85,  -127,  99,  88,  -18,  -72,  -117,  59,  126,  -54,  15,  107,  -52,  -128,  37,  -41,  1,  63,  -22,  -69,  22,  -10,  4,  27,  -5,  15,  1,  16,  -2,  40,  -76,  3,  12,  11,  -53,  -14,  23,  -36,  35,  -2,  20,  15,  -44,  -11,  32,  -15,  22,  -5,  35,  -20,  -17,  -9,  -65,  -2,  2,  -4,  -10,  12,  16,  -21,  -127,  -128,  -108,  -36,  52,  -30,  -71,  32,  -5,  -14,  -50,  75,  122,  96,  30,  -48,  -6,  16,  -8,  -15,  -14,  29,  -2,  -6,  38,  -63,  -20,  -17,  -8,  2,  49,  36,  1,  20,  -10,  -27,  18,  -2,  2,  15,  69,  -15,  2,  -44,  65,  13,  -7,  -27,  12,  -24,  1,  26,  11,  5,  34,  -26,  18,  5,  -15,  -33,  -71,  0,  -14,  -36,  -21,  25,  44,  107,  12,  -9,  8,  -21,  52,  92,  59,  -16,  -98,  -127,  -18,  121,  72,  -59,  -29,  -36,  -62,  -6,  -6,  126,  77,  21,  26,  57,  70,  -51,  10,  -12
};


const rnn_weight denoise_dense_b[22] ALIGN64SFX = {
127,  127,  116,  -63,  -119,  -128,  -127,  -90,  -41,  -20,  -32,  -44,  -91,  -91,  -76,  -119,  -128,  -117,  -82,  -25,  -11,  -35
};


const rnn_weight denoise_dense_w[792] ALIGN64SFX = {
78,  52,  126,  74,  103,  -127,  -15,  -54,  -127,  56,  -128,  126,  -38,  18,  -125,  16,  127,  127,  -128,  29,  8,  -126,  50,  19,  -128,  24,  41,  2,  26,  27,  5,  -127,  -128,  90,  -128,  -81,  127,  76,  127,  0,  -5,  -128,  -116,  -28,  -128,  -53,  -128,  66,  -96,  -52,  -25,  -36,  127,  27,  -128,  125,  107,  -31,  51,  87,  -128,  -78,  127,  -64,  124,  127,  -10,  -128,  -128,  42,  11,  -128,  127,  4,  49,  -27,  -48,  -99,  -128,  106,  -125,  125,  -127,  -31,  -127,  123,  5,  -39,  127,  -118,  -128,  -128,  -23,  -41,  17,  11,  -128,  127,  127,  -107,  28,  127,  14,  -128,  -118,  19,  127,  -128,  -127,  21,  92,  85,  10,  -91,  -128,  127,  -2,  110,  -127,  -17,  -128,  127,  29,  -27,  127,  -128,  -69,  127,  8,  -128,  71,  127,  -126,  127,  32,  -127,  76,  127,  30,  -126,  -66,  11,  127,  -128,  127,  13,  82,  -25,  -1,  -91,  -128,  127,  -66,  127,  -127,  2,  -128,  -128,  60,  -33,  127,  -128,  -80,  127,  -81,  -128,  99,  127,  -128,  127,  -127,  -127,  -20,  -127,  5,  -128,  -1,  -3,  69,  -128,  127,  6,  56,  -128,  126,  -85,  -128,  127,  -128,  127,  -127,  49,  -128,  127,  112,  -36,  127,  -128,  -12,  127,  -59,  -109,  127,  -128,  -115,  -96,  -128,  -128,  100,  50,  18,  -106,  103,  -12,  -45,  -101,  96,  19,  41,  28,  127,  -42,  -12,  127,  -126,  127,  -128,  24,  -128,  127,  127,  -27,  115,  -128,  3,  127,  -81,  20,  127,  120,  -80,  -17,  127,  -128,  -82,  -35,  16,  -128,  66,  8,  -128,  64,  113,  42,  36,  -128,  127,  -50,  37,  127,  25,  32,  -126,  -43,  -128,  124,  127,  -33,  126,  -64,  -24,  127,  -15,  5,  96,  62,  -113,  127,  127,  -128,  -63,  -80,  24,  -127,  41,  33,  -59,  113,  127,  55,  118,  -128,  127,  -48,  14,  126,  127,  98,  -107,  61,  -128,  38,  127,  -38,  127,  28,  -6,  127,  51,  127,  79,  53,  -96,  127,  29,  -128,  -40,  98,  43,  -127,  -4,  -17,  29,  94,  55,  -4,  107,  -128,  118,  -88,  10,  99,  112,  127,  -113,  122,  -128,  -48,  127,  55,  126,  24,  -9,  113,  -81,  127,  99,  50,  -101,  90,  59,  -103,  46,  127,  41,  -97,  -22,  127,  108,  126,  -23,  -3,  47,  -128,  127,  -98,  -127,  127,  57,  127,  -110,  127,  -123,  23,  127,  -80,  127,  121,  -17,  5,  -66,  78,  96,  127,  -99,  -41,  53,  -94,  58,  12,  102,  -1,  -9,  127,  107,  126,  69,  -74,  0,  -128,  46,  -95,  -127,  127,  116,  98,  -106,  127,  -114,  110,  127,  -96,  127,  115,  0,  0,  93,  -58,  80,  127,  -75,  -127,  -11,  -41,  -120,  -13,  127,  -118,  -3,  127,  90,  127,  85,  -123,  -21,  -96,  -3,  -85,  65,  127,  34,  57,  -127,  127,  -75,  30,  127,  -128,  127,  21,  -16,  48,  112,  -115,  106,  99,  -40,  -57,  -42,  -10,  -128,  106,  127,  -126,  -26,  127,  92,  126,  0,  -128,  -37,  -127,  37,  -45,  123,  127,  -103,  -56,  -127,  127,  -33,  -57,  127,  -128,  127,  5,  -20,  58,  -26,  -128,  124,  65,  -38,  39,  -17,  -6,  -100,  127,  127,  -91,  -19,  96,  78,  109,  -8,  -128,  -85,  -90,  19,  -22,  -50,  127,  -47,  -125,  -128,  127,  -35,  -24,  127,  -128,  127,  125,  -4,  127,  -128,  -65,  92,  8,  -44,  11,  16,  -13,  -119,  111,  127,  -128,  -24,  6,  74,  84,  53,  47,  -125,  -95,  -38,  4,  -9,  126,  -71,  -128,  -93,  127,  -20,  50,  127,  -91,  117,  127,  -35,  127,  -128,  -26,  45,  73,  -42,  2,  -65,  7,  -128,  127,  127,  -126,  -6,  41,  48,  41,  54,  127,  -125,  -127,  22,  -10,  63,  112,  -20,  -128,  -99,  126,  -24,  31,  127,  -46,  120,  48,  -34,  -9,  -128,  -113,  21,  127,  -58,  -19,  -90,  -11,  -126,  127,  127,  -128,  -12,  22,  54,  29,  -2,  127,  -126,  -77,  94,  -79,  -5,  123,  126,  -82,  -115,  126,  -21,  -69,  127,  -96,  127,  1,  6,  -78,  -128,  -128,  57,  81,  -51,  -107,  33,  -37,  -81,  127,  127,  -128,  -54,  -69,  78,  41,  -55,  127,  -128,  -70,  16,  -50,  -17,  127,  127,  94,  -105,  92,  -1,  -93,  127,  -125,  127,  80,  12,  64,  -128,  -128,  72,  -89,  -57,  -77,  127,  -22,  -91,  60,  123,  -78,  -56,  -64,  62,  52,  -90,  127,  -128,  -122,  -26,  -56,  8,  121,  13,  127,  -115,  19,  31,  -125,  127,  -36,  93,  127,  -4,  125,  -61,  -128,  100,  -115,  -62,  -55,  126,  -27,  -128,  95,  83,  -57,  -36,  -29,  78,  101,  -125,  123,  -98,  -128,  24,  -37,  25,  125,  -108,  127,  -74,  -32,  70,  -128,  127,  38,  108,  127,  59,  51,  -2,  -124,  113,  -31,  -106,  -49,  84,  -43,  -127,  127,  37,  -122,  -19,  -16,  87,  127,  -126,  103,  -51,  -128,  8,  -36,  9,  125,  -108,  126,  -86,  -54,  68,  -125,  126,  24,  71,  116,  83,  32,  14,  -108,  110,  -19,  -114,  -60,  90,  -55,  -128,  127,  15,  -124,  -51,  -54,  56,  127
};


const rnn_weight input_dense_b[16] ALIGN64SFX = {
32,  -47,  28,  -123,  -34,  3,  -92,  25,  -71,  118,  98,  127,  -128,  -120,  115,  31
};


const rnn_weight input_dense_w[560] ALIGN64SFX = {
-3,  9,  2,  6,  -11,  6,  -17,  -56,  -54,  17,  74,  52,  56,  12,  -61,  29,  77,  28,  97,  -48,  -31,  -33,  -2,  117,  -126,  -67,  15,  63,  67,  29,  -72,  -22,  -10,  1,  127,  3,  -5,  -18,  -23,  4,  14,  87,  18,  11,  -96,  -92,  -28,  102,  73,  -68,  -32,  39,  15,  51,  47,  -57,  -128,  127,  -35,  -127,  -121,  -68,  23,  85,  -39,  -37,  -26,  -51,  -45,  121,  7,  1,  41,  -11,  -27,  15,  20,  66,  -120,  -59,  93,  11,  -95,  -110,  76,  -41,  73,  -40,  -47,  33,  -125,  52,  125,  8,  22,  -128,  -127,  89,  117,  23,  1,  -50,  -111,  -21,  -11,  28,  28,  3,  -31,  -87,  -98,  21,  13,  -64,  -117,  -15,  -18,  -83,  10,  9,  -37,  -40,  -42,  -27,  -12,  -52,  -125,  114,  95,  -66,  -21,  -78,  -27,  55,  -79,  -90,  -74,  -7,  -28,  79,  7,  -21,  22,  -30,  -21,  10,  -128,  -52,  76,  91,  85,  48,  -14,  -9,  93,  61,  91,  43,  15,  -78,  96,  40,  33,  -25,  127,  -126,  56,  78,  2,  -36,  53,  -71,  1,  2,  -25,  0,  1,  -3,  -15,  -9,  -18,  42,  -26,  -20,  4,  95,  -32,  -7,  102,  84,  50,  27,  85,  79,  20,  -124,  22,  121,  -84,  121,  -75,  38,  4,  -61,  -13,  2,  12,  -26,  49,  127,  11,  13,  -11,  -35,  -40,  4,  94,  91,  29,  -33,  -82,  -51,  -22,  54,  90,  13,  -25,  -122,  -107,  54,  24,  -28,  56,  127,  -56,  -59,  -96,  24,  84,  84,  113,  45,  -73,  -115,  0,  -6,  -19,  -56,  -37,  -14,  32,  49,  38,  16,  -52,  1,  -27,  -42,  89,  42,  -49,  -47,  -53,  -54,  33,  57,  -11,  41,  -115,  -123,  -127,  -68,  20,  127,  25,  30,  54,  72,  86,  94,  -2,  1,  10,  34,  37,  17,  54,  47,  72,  69,  69,  87,  -64,  -80,  26,  28,  3,  -18,  53,  -83,  -3,  127,  -36,  9,  -74,  57,  22,  28,  127,  -75,  120,  56,  124,  -27,  23,  -2,  -1,  -13,  -17,  -18,  -22,  8,  12,  10,  -109,  -66,  -15,  -11,  -29,  -36,  -21,  50,  -5,  7,  62,  -10,  79,  -126,  8,  127,  -15,  21,  63,  -127,  -22,  126,  -2,  -81,  15,  25,  -2,  -34,  17,  -13,  25,  32,  69,  40,  -85,  11,  -5,  22,  59,  43,  42,  -64,  -36,  21,  25,  29,  -81,  -67,  -128,  124,  -66,  -56,  -69,  39,  -3,  -77,  -17,  42,  34,  104,  17,  14,  14,  -29,  -28,  -31,  14,  74,  75,  10,  -65,  -82,  -36,  -8,  24,  -105,  -118,  -50,  -74,  -127,  -43,  -122,  -21,  92,  -75,  -62,  -48,  49,  -71,  55,  9,  -77,  22,  46,  99,  2,  8,  5,  10,  -10,  -12,  -28,  -3,  -73,  8,  -24,  -18,  -10,  30,  -21,  43,  -26,  25,  52,  1,  5,  38,  -23,  125,  126,  -85,  -127,  -117,  3,  -27,  -8,  73,  10,  -25,  -28,  -55,  5,  -8,  7,  27,  -4,  -36,  -49,  39,  79,  80,  25,  -14,  -71,  62,  -35,  -4,  -9,  -28,  44,  -74,  67,  30,  127,  -101,  34,  -113,  -22,  64,  118,  66,  -73,  -69,  9,  12,  119,  -4,  5,  4,  -5,  35,  37,  28,  -51,  9,  42,  -69,  83,  -125,  -127,  79,  -46,  12,  -73,  -70,  31,  -75,  55,  117,  78,  -42,  126,  -14,  127,  -67,  -91,  -94,  -21,  -45,  75,  73,  9,  4,  -2,  -4,  -8,  0,  -22,  1,  86,  70,  32,  -27,  -23,  -2,  71,  49,  61,  -11,  -79,  -44,  94,  80,  -128,  -128,  127,  64,  -48,  -49,  88,  -24,  -27,  -31,  29,  21,  99
};


const rnn_weight gru_b_noise[48] ALIGN64SFX = {
-86,  113,  8,  21,  -69,  52,  127,  -99,  -16,  84,  36,  98,  23,  2,  -34,  -9,  -13,  4,  -13,  102,  -1,  91,  56,  51,  -94,  24,  -105,  127,  120,  49,  1,  97,  36,  47,  93,  127,  111,  79,  48,  20,  -42,  97,  -44,  127,  -36,  90,  100,  101
};


const rnn_weight gru_re_w_noise[768] ALIGN64SFX = {
-6,  -38,  -18,  -68,  -69,  -56,  -62,  -10,  85,  7,  93,  -59,  45,  4,  -66,  8,  2,  85,  102,  98,  23,  51,  64,  22,  7,  7,  -55,  80,  28,  -32,  10,  11,  29,  127,  55,  97,  67,  39,  11,  16,  26,  15,  -46,  -15,  -4,  28,  32,  -21,  37,  98,  46,  65,  33,  56,  57,  44,  -38,  4,  -112,  38,  -44,  -46,  2,  80,  -44,  38,  -52,  64,  16,  39,  -23,  -30,  48,  -34,  -72,  43,  24,  -37,  2,  50,  -60,  2,  25,  13,  20,  -86,  25,  -19,  7,  56,  33,  25,  -27,  -38,  -26,  10,  28,  27,  -70,  124,  126,  74,  127,  1,  44,  12,  2,  120,  48,  -65,  -76,  92,  26,  -57,  -16,  97,  -81,  49,  -16,  -38,  -17,  -126,  -89,  80,  -13,  33,  -28,  18,  -42,  -8,  -3,  37,  -22,  -5,  18,  -81,  35,  -22,  -27,  -14,  -5,  -45,  -83,  -9,  36,  127,  24,  127,  2,  15,  66,  12,  83,  -28,  -65,  96,  -60,  -24,  36,  10,  -33,  124,  -78,  25,  18,  -27,  2,  -4,  -50,  111,  7,  50,  -65,  -84,  -23,  -20,  -89,  -17,  7,  42,  68,  -93,  3,  16,  -29,  -127,  55,  -93,  38,  -75,  -126,  -28,  -97,  15,  36,  106,  127,  60,  74,  -9,  -60,  -9,  -17,  123,  58,  -127,  34,  127,  55,  69,  20,  63,  95,  61,  36,  -79,  13,  0,  -54,  127,  -33,  -38,  60,  60,  -13,  120,  -65,  -41,  -44,  5,  -11,  7,  52,  -85,  10,  -68,  35,  92,  14,  47,  39,  -27,  -18,  88,  2,  39,  60,  -7,  83,  -127,  -124,  -84,  -7,  -67,  -81,  -4,  -5,  117,  17,  67,  -91,  -13,  98,  32,  -101,  126,  61,  83,  -127,  127,  90,  -95,  -52,  14,  39,  -61,  -31,  -41,  -75,  49,  -87,  63,  123,  -25,  -127,  75,  5,  -49,  12,  -5,  83,  1,  -2,  -67,  51,  41,  -124,  -37,  -94,  5,  30,  67,  40,  1,  65,  1,  54,  35,  52,  -4,  64,  5,  -31,  126,  3,  86,  45,  102,  74,  31,  -27,  -27,  -127,  -1,  -76,  86,  -80,  -87,  14,  -4,  -24,  6,  28,  -11,  86,  -84,  -38,  -62,  127,  9,  -20,  -126,  -35,  -19,  127,  83,  127,  1,  85,  -6,  -20,  -83,  127,  -81,  -26,  2,  37,  62,  -53,  26,  -18,  -6,  -78,  -11,  36,  11,  -7,  -69,  -4,  -18,  127,  -12,  12,  -92,  32,  -77,  -72,  104,  -56,  -10,  8,  73,  49,  -52,  -128,  43,  78,  55,  13,  -68,  -107,  1,  7,  118,  -12,  -45,  80,  45,  -90,  -59,  106,  3,  -69,  -49,  -35,  -50,  -75,  16,  -14,  98,  118,  -33,  69,  -11,  -15,  81,  -52,  -70,  107,  69,  10,  -96,  -19,  122,  13,  -11,  -66,  42,  98,  -127,  -73,  26,  -125,  -97,  101,  85,  45,  -40,  -2,  -23,  2,  -125,  -5,  43,  60,  -75,  60,  14,  63,  -17,  66,  3,  78,  -19,  60,  98,  32,  40,  -6,  53,  39,  101,  95,  -33,  22,  120,  88,  81,  39,  29,  113,  14,  60,  17,  -114,  -4,  -33,  73,  -58,  109,  -43,  -54,  16,  -13,  44,  91,  -44,  -46,  -4,  55,  -32,  84,  -26,  9,  -56,  -6,  -69,  71,  88,  -33,  28,  50,  57,  -37,  -14,  127,  -88,  -74,  -27,  16,  -27,  3,  111,  109,  2,  5,  126,  -11,  -68,  42,  -40,  20,  -44,  -66,  -128,  126,  52,  13,  -25,  -105,  20,  63,  -123,  -7,  56,  127,  -53,  -57,  127,  76,  36,  102,  5,  50,  38,  8,  -64,  14,  65,  1,  -29,  -19,  -13,  51,  -91,  25,  -1,  83,  26,  22,  28,  -5,  -34,  -5,  -29,  61,  50,  60,  -128,  107,  1,  35,  -40,  28,  -19,  98,  3,  -86,  121,  79,  78,  32,  87,  -45,  -28,  -127,  -117,  38,  -28,  -87,  -36,  19,  127,  48,  -106,  -2,  -23,  -45,  -21,  26,  -77,  82,  44,  -56,  23,  20,  -35,  63,  18,  61,  -28,  36,  -127,  5,  21,  -58,  -54,  31,  24,  -86,  23,  22,  24,  3,  62,  -33,  11,  -20,  -94,  -77,  -34,  127,  -32,  52,  14,  -7,  34,  -39,  7,  -25,  -65,  -122,  2,  118,  8,  10,  -31,  33,  20,  -21,  56,  -20,  127,  -15,  -50,  13,  -20,  -35,  42,  60,  -41,  59,  127,  -108,  21,  40,  -62,  48,  -23,  72,  77,  49,  62,  -127,  90,  119,  127,  -92,  16,  6,  126,  -87,  7,  -43,  18,  -54,  126,  23,  23,  100,  76,  85,  -128,  116,  -42,  22,  -61,  -82,  -116,  69,  22,  -82,  -37,  -3,  49,  59,  19,  -36,  26,  -27,  -12,  6,  27,  55,  -84,  -22,  -56,  125,  -5,  86,  -125,  38,  109,  20,  -20,  16,  -5,  69,  91,  -42,  -51,  2,  28,  -7,  33,  102,  -14,  71,  -33,  31,  126,  72,  49,  99,  21,  -33,  -15,  -18,  -37,  37,  65,  83,  8,  -97,  23,  -6,  -9,  78,  -6,  -38,  -86,  -34,  -56,  110,  2,  -82,  -54,  62
};


const rnn_weight gru_w_noise[3216] ALIGN64SFX = {
-8,  -11,  57,  71,  24,  91,  -1,  2,  -29,  -15,  -107,  -17,  75,  70,  11,  -96,  68,  19,  9,  -2,  29,  -4,  -49,  -29,  17,  -72,  109,  60,  -72,  -69,  -45,  -40,  7,  25,  56,  19,  -33,  -97,  -120,  -84,  -45,  -126,  -12,  57,  38,  -101,  23,  -7,  73,  66,  21,  -63,  -62,  4,  -41,  30,  42,  -65,  -66,  -126,  25,  44,  -43,  -7,  14,  27,  0,  -11,  -34,  -22,  -55,  -57,  -15,  -12,  -63,  74,  21,  22,  -19,  -57,  -38,  -38,  -11,  10,  -42,  4,  -42,  -27,  19,  52,  -13,  11,  19,  -17,  -106,  56,  -28,  7,  37,  6,  1,  0,  3,  -14,  -4,  -36,  2,  78,  89,  114,  36,  -8,  -10,  14,  -29,  -48,  75,  102,  9,  -117,  83,  42,  57,  38,  67,  38,  22,  25,  -28,  30,  -15,  12,  -49,  -26,  67,  43,  -25,  9,  16,  46,  -26,  -51,  -61,  90,  -32,  18,  -63,  -7,  9,  71,  -31,  74,  49,  -37,  -85,  -59,  9,  4,  -23,  -70,  2,  -55,  -10,  24,  27,  45,  -9,  -9,  7,  20,  11,  6,  15,  31,  0,  44,  27,  48,  -26,  -27,  17,  1,  40,  116,  4,  -25,  47,  -84,  7,  -9,  -48,  61,  47,  6,  -19,  18,  -12,  34,  -39,  -35,  -11,  -29,  -20,  -87,  16,  -111,  54,  -17,  36,  -38,  29,  -22,  13,  32,  -81,  107,  95,  -77,  6,  11,  77,  94,  -17,  -2,  41,  8,  -51,  -12,  -33,  46,  -9,  -23,  1,  -2,  -15,  1,  -13,  -13,  4,  -8,  3,  -55,  -48,  -10,  -27,  -55,  -83,  -89,  85,  -51,  -92,  -3,  -53,  -26,  21,  -46,  51,  -4,  -33,  16,  36,  -2,  23,  -31,  -65,  30,  12,  -16,  -60,  -115,  38,  5,  -2,  14,  -6,  -65,  1,  -70,  -14,  -64,  -56,  -9,  -61,  83,  -64,  -16,  -83,  28,  9,  20,  -61,  -6,  -24,  -30,  -51,  90,  -45,  79,  -11,  95,  -1,  -20,  -18,  -2,  6,  6,  -14,  -27,  -99,  0,  13,  37,  10,  -78,  -87,  91,  -45,  4,  81,  2,  43,  -30,  43,  78,  -15,  64,  -8,  -28,  -11,  51,  -32,  84,  -20,  -38,  -15,  -4,  -127,  31,  -86,  -66,  -11,  36,  55,  -53,  100,  10,  -56,  -126,  -19,  18,  1,  65,  -13,  20,  -65,  -48,  6,  -45,  33,  24,  -54,  -1,  48,  116,  11,  -57,  65,  -3,  1,  -27,  -4,  -18,  -12,  23,  9,  53,  -4,  61,  -127,  -124,  76,  85,  47,  -19,  -128,  -87,  -106,  49,  127,  52,  -3,  12,  -112,  -86,  -109,  57,  -25,  95,  -70,  7,  22,  -15,  58,  -30,  -48,  -3,  -4,  21,  10,  -5,  -48,  50,  67,  -20,  41,  17,  24,  99,  -21,  -8,  -12,  69,  59,  39,  3,  19,  46,  1,  8,  35,  16,  -22,  -44,  -83,  1,  -17,  -12,  -16,  -52,  -40,  13,  68,  76,  -2,  90,  -40,  -93,  -48,  120,  -8,  48,  -8,  -94,  -31,  83,  124,  49,  23,  4,  38,  13,  4,  -8,  -19,  -8,  10,  2,  22,  -35,  90,  88,  65,  -39,  62,  -68,  -6,  43,  -20,  -126,  58,  5,  80,  -83,  112,  92,  12,  -1,  17,  23,  67,  51,  38,  -79,  -49,  32,  -87,  -13,  -86,  -20,  92,  46,  19,  -28,  24,  -31,  -2,  2,  -3,  -14,  28,  8,  -123,  18,  -71,  124,  -111,  -20,  -95,  2,  10,  -68,  17,  -79,  5,  -31,  12,  -46,  59,  -41,  -22,  10,  -11,  48,  -21,  -64,  -24,  29,  68,  39,  -68,  -18,  -78,  -43,  7,  15,  80,  50,  -2,  -127,  -59,  19,  -50,  97,  85,  -47,  8,  -37,  82,  -115,  -23,  -25,  -5,  -73,  50,  24,  20,  -32,  17,  12,  -11,  -26,  -16,  27,  39,  127,  -128,  -127,  -14,  127,  127,  98,  -126,  -100,  126,  117,  45,  12,  -96,  -64,  122,  49,  -13,  -76,  -83,  39,  86,  39,  115,  -9,  -26,  -31,  40,  12,  6,  3,  24,  36,  -33,  13,  45,  81,  -9,  -32,  -49,  1,  26,  81,  -24,  -97,  -115,  13,  -34,  100,  126,  -61,  9,  -93,  -43,  -19,  25,  -47,  125,  11,  -24,  113,  -6,  -20,  -2,  -13,  10,  -1,  -10,  119,  -19,  -2,  7,  47,  67,  -97,  -111,  15,  -52,  -12,  -40,  0,  21,  -30,  52,  -65,  -28,  8,  65,  -70,  46,  -25,  65,  -78,  52,  -24,  16,  90,  -35,  -30,  -125,  -59,  -5,  89,  16,  -3,  69,  -4,  36,  66,  -1,  8,  -85,  -81,  79,  -88,  2,  83,  0,  -53,  66,  -58,  -100,  16,  -10,  34,  -4,  37,  -6,  -18,  -25,  -30,  -14,  -2,  11,  -19,  -125,  -8,  -80,  -95,  -84,  -24,  -3,  -117,  -102,  5,  -122,  -24,  -40,  -123,  -35,  -20,  -50,  -70,  -75,  -46,  44,  -51,  -33,  -56,  -74,  -64,  17,  -11,  -37,  36,  35,  73,  30,  -52,  49,  68,  -119,  -52,  3,  76,  54,  28,  -126,  -74,  -16,  81,  -15,  -52,  -20,  -22,  62,  56,  -9,  -1,  -126,  51,  55,  35,  73,  38,  10,  13,  23,  21,  11,  -37,  -121,  61,  72,  35,  127,  -63,  -75,  125,  87,  68,  -41,  -8,  -52,  44,  -120,  1,  -61,  -3,  -51,  17,  -49,  4,  12,  -97,  30,  -92,  -75,  -127,  -6,  -16,  14,  11,  -27,  32,  20,  -50,  21,  28,  30,  24,  24,  -14,  9,  -19,  -23,  -57,  -13,  13,  14,  43,  39,  -24,  14,  96,  -58,  -32,  7,  37,  5,  2,  45,  11,  11,  -2,  -23,  -28,  5,  10,  61,  33,  33,  25,  -25,  -60,  -9,  54,  111,  3,  -90,  -126,  -74,  40,  58,  51,  36,  -14,  -32,  -47,  -42,  9,  34,  -51,  -82,  -58,  8,  -3,  -10,  -37,  -54,  19,  0,  -43,  49,  -1,  -118,  47,  -14,  -5,  26,  20,  14,  44,  -54,  83,  -17,  88,  109,  19,  15,  -39,  -19,  -11,  6,  -29,  20,  -14,  -53,  -64,  -1,  -8,  6,  -13,  -28,  -17,  43,  74,  -34,  -54,  -79,  -83,  -104,  7,  99,  -24,  -75,  -8,  61,  -19,  -68,  55,  57,  84,  36,  1,  -8,  18,  23,  -23,  -6,  101,  -70,  -102,  21,  -69,  71,  -33,  42,  -11,  17,  -56,  -17,  -26,  31,  -27,  61,  -8,  -66,  -39,  -80,  72,  94,  47,  79,  61,  -55,  -100,  -39,  -17,  -80,  -105,  -7,  50,  78,  2,  16,  -23,  -15,  21,  42,  38,  -3,  -90,  -51,  15,  -62,  78,  119,  -14,  -128,  -99,  99,  126,  43,  18,  -126,  20,  127,  -49,  -20,  12,  126,  58,  -58,  83,  -1,  115,  2,  60,  -26,  2,  -2,  58,  -35,  -3,  118,  24,  -43,  127,  16,  44,  -3,  -15,  -12,  22,  -83,  2,  99,  -5,  -124,  -43,  -42,  15,  -37,  -31,  -22,  40,  0,  84,  -69,  90,  -42,  46,  9,  -15,  -12,  21,  43,  25,  39,  15,  123,  125,  103,  127,  126,  -23,  85,  127,  126,  97,  -14,  -123,  85,  -17,  15,  11,  90,  82,  45,  34,  -8,  18,  9,  55,  32,  55,  6,  -57,  106,  90,  70,  -11,  59,  93,  -32,  -87,  -88,  -44,  -19,  11,  -84,  -54,  -3,  58,  -3,  -35,  88,  -102,  67,  -36,  -118,  -22,  27,  -31,  42,  -5,  8,  -46,  85,  -19,  -4,  7,  49,  21,  7,  9,  73,  108,  65,  125,  121,  41,  21,  122,  86,  118,  20,  -67,  120,  -4,  33,  14,  54,  -78,  -20,  8,  -13,  -11,  4,  -51,  -32,  1,  32,  -29,  39,  -31,  36,  7,  127,  -20,  51,  37,  20,  51,  -35,  20,  -2,  2,  -44,  -8,  27,  1,  17,  19,  -55,  24,  16,  47,  -92,  19,  -94,  42,  31,  -11,  -12,  6,  -20,  9,  25,  30,  29,  -11,  -58,  16,  27,  48,  -35,  -19,  41,  68,  8,  89,  70,  -40,  -20,  22,  -18,  -57,  -43,  1,  125,  117,  51,  -9,  -27,  -7,  15,  55,  91,  70,  -20,  -19,  -10,  -69,  35,  25,  124,  19,  -41,  -44,  -15,  -34,  59,  7,  -20,  -26,  77,  37,  9,  -34,  -15,  67,  -58,  126,  2,  51,  38,  44,  1,  -22,  4,  -41,  -67,  -10,  27,  21,  35,  68,  28,  -47,  -127,  -108,  76,  66,  -8,  -123,  -31,  26,  42,  88,  22,  -11,  -43,  -100,  22,  -50,  70,  49,  77,  93,  91,  -28,  65,  -21,  -98,  -40,  -62,  2,  57,  -8,  -27,  16,  -122,  -80,  6,  35,  -88,  -52,  82,  -1,  7,  -76,  -28,  -19,  61,  33,  -2,  99,  -31,  10,  31,  4,  22,  10,  -1,  -44,  14,  30,  12,  15,  -18,  60,  -32,  -42,  -22,  -1,  34,  -106,  28,  -23,  -62,  -58,  -45,  -61,  -30,  78,  101,  101,  14,  81,  55,  -100,  30,  52,  24,  -14,  -51,  -117,  -91,  42,  93,  -87,  -81,  5,  20,  -101,  -24,  -56,  49,  88,  -36,  -108,  31,  75,  -58,  53,  -9,  -109,  5,  29,  93,  23,  -31,  6,  -12,  -46,  -47,  -55,  12,  44,  -1,  -38,  31,  -46,  15,  -1,  -36,  9,  -32,  -6,  48,  -12,  -60,  -101,  -81,  -3,  102,  -54,  -128,  -39,  125,  8,  -24,  -97,  -56,  82,  15,  -116,  10,  43,  -75,  -125,  127,  39,  -56,  -95,  1,  -127,  114,  123,  -41,  -36,  84,  80,  36,  11,  13,  -125,  32,  -57,  38,  49,  -13,  -59,  -71,  36,  -9,  20,  -32,  -38,  33,  -127,  -50,  60,  -14,  2,  -72,  -18,  10,  8,  46,  31,  -15,  89,  18,  42,  -13,  10,  9,  -37,  -5,  71,  67,  -1,  66,  -8,  69,  -52,  -10,  48,  1,  49,  -9,  57,  0,  -59,  -7,  113,  -71,  124,  51,  30,  -97,  123,  -81,  10,  103,  -15,  -6,  -128,  -29,  -34,  -17,  119,  12,  -68,  69,  29,  63,  -11,  69,  -22,  56,  -127,  126,  47,  -11,  -48,  -26,  -18,  67,  19,  73,  39,  -31,  -105,  -22,  60,  67,  24,  92,  -3,  -18,  49,  4,  21,  24,  40,  -32,  7,  23,  -101,  -13,  -62,  -14,  -4,  -5,  63,  -31,  -58,  -107,  116,  47,  100,  -127,  127,  -73,  127,  -56,  2,  -125,  121,  -14,  52,  -10,  9,  30,  -42,  38,  -36,  0,  127,  -24,  -51,  24,  57,  -20,  101,  -46,  3,  -27,  17,  45,  -4,  -54,  37,  1,  -55,  74,  14,  -26,  1,  -101,  0,  22,  47,  -1,  -3,  17,  -21,  -3,  29,  53,  -23,  -1,  -45,  -99,  35,  56,  127,  -87,  -21,  30,  59,  -61,  -54,  74,  22,  -37,  -30,  9,  45,  9,  18,  -37,  -106,  14,  5,  82,  -60,  59,  -60,  5,  20,  38,  18,  -18,  25,  -73,  -39,  -30,  23,  25,  16,  60,  -28,  82,  -72,  19,  61,  -42,  -89,  -114,  -41,  47,  -51,  -12,  -44,  11,  15,  4,  -41,  -79,  -53,  61,  5,  16,  33,  58,  17,  -29,  42,  127,  94,  51,  76,  79,  -6,  100,  127,  95,  29,  -51,  74,  67,  -64,  66,  125,  -28,  113,  34,  -121,  -116,  -3,  55,  43,  127,  127,  -52,  -12,  -88,  77,  -27,  -41,  -89,  61,  -46,  -1,  67,  14,  61,  -24,  -18,  12,  54,  2,  42,  80,  47,  -58,  -1,  -22,  -9,  70,  -12,  -107,  -3,  -109,  32,  -51,  -30,  79,  -18,  4,  5,  22,  -14,  33,  58,  41,  63,  -93,  -9,  -90,  47,  -128,  127,  -36,  26,  -29,  1,  10,  122,  87,  -84,  -31,  -12,  -15,  -70,  16,  30,  -23,  118,  30,  90,  -25,  125,  -8,  56,  60,  1,  -37,  -21,  -125,  -13,  3,  12,  -12,  -38,  -56,  73,  -19,  57,  -3,  -48,  29,  77,  11,  -40,  45,  46,  -25,  -13,  -55,  -25,  -11,  -4,  -1,  4,  13,  40,  24,  6,  -64,  -98,  -58,  127,  54,  -95,  -48,  -55,  -118,  -23,  114,  42,  109,  106,  20,  -101,  -30,  21,  -51,  -56,  23,  21,  -43,  9,  -25,  -41,  65,  -29,  -4,  46,  -59,  -100,  7,  66,  86,  -17,  20,  8,  -68,  4,  -78,  28,  -2,  44,  -61,  59,  -16,  23,  18,  -45,  21,  101,  -35,  108,  -2,  -17,  82,  -41,  32,  68,  -2,  24,  12,  41,  25,  13,  -10,  -24,  -22,  -39,  125,  53,  16,  3,  35,  84,  79,  77,  1,  46,  -57,  -11,  82,  52,  32,  127,  80,  127,  -111,  -16,  -47,  39,  85,  91,  45,  -127,  57,  -15,  113,  -49,  -46,  -128,  -27,  -117,  -77,  71,  26,  1,  127,  -72,  -96,  -22,  78,  -90,  -55,  -40,  92,  17,  4,  3,  -34,  -15,  -60,  44,  98,  -112,  116,  79,  92,  -44,  32,  31,  -66,  -85,  -32,  47,  20,  -7,  -108,  21,  62,  122,  127,  -39,  -77,  -77,  -128,  -127,  -57,  113,  -76,  -124,  80,  20,  -122,  -127,  0,  127,  25,  -9,  3,  -123,  45,  74,  11,  -128,  -127,  -34,  62,  -14,  -40,  -49,  -82,  -3,  -51,  -27,  9,  -65,  -47,  -2,  101,  -35,  -42,  10,  40,  54,  45,  2,  3,  -28,  -22,  -111,  50,  33,  47,  11,  -24,  -13,  -28,  -14,  17,  -24,  1,  -56,  127,  127,  50,  45,  127,  -125,  -128,  -127,  -98,  31,  20,  65,  26,  127,  127,  -32,  28,  -81,  75,  113,  -127,  94,  51,  78,  25,  -47,  -78,  -85,  89,  -6,  -81,  3,  127,  126,  1,  39,  -117,  59,  125,  -25,  21,  34,  126,  9,  -109,  36,  -29,  -80,  10,  -17,  101,  -18,  -10,  -14,  4,  -51,  31,  33,  -38,  7,  -4,  20,  -6,  -40,  -15,  85,  34,  -128,  -51,  127,  -66,  -128,  -128,  126,  127,  -127,  -128,  60,  126,  -57,  -128,  -127,  -6,  -25,  -47,  -87,  -58,  127,  -12,  50,  22,  -50,  -56,  7,  -15,  40,  -126,  -27,  -41,  -64,  6,  35,  51,  -8,  -118,  40,  -41,  -37,  -18,  82,  -125,  15,  -31,  43,  3,  27,  -52,  -13,  34,  19,  -10,  62,  -58,  31,  14,  48,  -2,  -4,  35,  -15,  -28,  -17,  2,  -123,  -117,  61,  -84,  -34,  97,  -127,  -127,  16,  32,  6,  -103,  127,  61,  -121,  -38,  -20,  45,  -76,  -52,  114,  -6,  121,  92,  12,  119,  -9,  47,  100,  -9,  13,  13,  26,  40,  9,  16,  -9,  -15,  8,  -13,  45,  17,  47,  -34,  18,  51,  -19,  16,  26,  -14,  -40,  -14,  -71,  36,  0,  -42,  16,  37,  32,  22,  30,  -17,  -16,  12,  48,  54,  22,  -42,  -52,  -40,  54,  121,  127,  -4,  -118,  -72,  28,  64,  73,  -12,  -55,  -27,  38,  -98,  -103,  63,  108,  114,  -15,  -63,  -97,  77,  64,  52,  -20,  -24,  37,  24,  21,  -50,  53,  61,  -22,  41,  82,  -13,  -1,  56,  -75,  98,  -19,  107,  -29,  -4,  52,  -68,  96,  -10,  49,  12,  4,  1,  -47,  30,  68,  -32,  -45,  52,  32,  18,  -1,  11,  13,  20,  67,  55,  -17,  -13,  81,  -13,  80,  -24,  39,  -9,  -10,  34,  -62,  -22,  16,  -57,  55,  9,  60,  -91,  100,  -24,  40,  21,  19,  -28,  -6,  -9,  -19,  -2,  57,  22,  -8,  -19,  106,  1,  58,  -69,  77,  49,  87,  -69,  80,  -12,  8,  -59,  -11,  31,  -20,  79,  -61,  8,  22,  39,  3,  -79,  -70,  104,  31,  85,  -30,  -33,  -60,  -13,  16,  16,  5,  -34,  7,  23,  -17,  18,  -14,  -95,  -23,  -112,  -121,  -83,  -23,  32,  -71,  -87,  -41,  -19,  -17,  4,  36,  39,  124,  -34,  7,  7,  70,  91,  74,  -24,  27,  34,  -58,  15,  -24,  35,  20,  -20,  -43,  -20,  34,  32,  10,  32,  56,  -3,  -66,  7,  84,  4,  59,  -13,  -14,  2,  32,  -16,  -68,  -111,  112,  -8,  40,  -9,  -39,  2,  4,  -23,  -27,  10,  -3,  -45,  23,  -20,  42,  31,  28,  8,  -35,  -80,  -39,  35,  -2,  -61,  -78,  25,  -24,  22,  25,  -48,  95,  1,  32,  46,  -22,  -25,  18,  -4,  -11,  104,  60,  14,  26,  7,  -9,  56,  55,  4,  -7,  35,  100,  -33,  -25,  81,  -100,  -52,  -35,  -10,  29,  -103,  -12,  32,  25,  -34,  33,  -31,  -9,  38,  -19,  -28,  -7,  32,  8,  -9,  -3,  8,  -3,  41,  9,  31,  -64,  35,  -34,  -4,  23,  31,  28,  -3,  71,  55,  24,  6,  85,  46,  47,  78,  -116,  37,  18,  25,  -1,  18,  -19,  31,  48,  0,  70,  99,  4,  -35,  38,  -39,  -67,  13,  -36,  -19,  -51,  27,  22,  -25,  69,  -34,  10,  20,  -58,  -12,  -14,  33,  32,  -63,  -8,  0,  -85,  53,  75,  28,  28,  5,  -7,  -9,  -29,  20,  51,  -5,  -2,  98,  26,  54,  3,  55,  -113,  -115,  -16,  55,  17,  46,  -48,  -16,  127,  93,  -25,  -83,  -85,  -40,  114,  45,  24,  -53,  30,  -40,  79,  106,  -14,  54,  36,  -3,  28,  23,  -61,  0,  37,  -6,  76,  14,  -9,  12,  -23,  71,  -17,  -62,  -7,  16,  -11,  -7,  -45,  5,  52,  13,  32,  -40,  -37,  52,  20,  -43,  -54,  4,  -13,  24,  39,  48,  57,  43,  -128,  -128,  -127,  -128,  -86,  5,  32,  83,  -45,  -59,  -21,  35,  38,  39,  -126,  34,  4,  -27,  88,  -2,  -7,  11,  -34,  -46,  3,  2,  -74,  -30,  -89,  17,  43,  -44,  43,  98,  -76,  26,  21,  38,  -17,  29,  60,  49,  -9,  47,  4,  -14,  15,  18,  -72,  43,  -7,  42,  73,  74,  64,  23,  -14,  38,  -13,  11,  8,  7,  -8,  1,  3,  -4,  15,  -6,  -1,  -24,  -30,  -63,  32,  -12,  2,  -36,  -22,  -45,  -21,  -33,  76,  -99,  93,  -127,  127,  -83,  105,  -1,  108,  -127,  123,  -22,  19,  9,  -11,  51,  0,  39,  -40,  31,  -27,  -68,  19,  85,  34,  29,  -6,  -50,  4,  11,  -7,  47,  12,  -4,  -47,  -11,  78,  -2,  -10,  -21,  -16,  3,  -7,  4,  -3,  7,  41,  27,  14,  2,  -6,  15,  38,  26,  -52,  -31,  98,  79,  -7,  -32,  -16,  52,  93,  41,  2,  -88,  -94,  16,  0,  45,  35,  50,  -4,  32,  65,  -18,  26,  2,  -15,  8,  7,  -33,  -113,  14,  9,  -18,  72,  46,  -119,  12,  -11,  23,  33,  -7,  27,  15,  -45,  -39,  -41,  -46,  19,  96,  53,  39,  -88,  69,  -15,  17,  16,  -40,  47,  -3,  -16,  -85,  27,  9,  25,  -12,  -6,  -26,  -17,  127,  6,  110,  67,  126,  107,  -86,  -95,  40,  64,  32,  -27,  50,  -12,  50,  108,  -22,  127,  -115,  127,  -36,  26,  -99,  -84,  -7,  85,  -19,  27,  1,  28,  59,  -23,  110,  -72,  -6,  -62,  127,  -23,  -16,  16,  -44,  12,  -35,  -40,  98,  -49,  -20,  -20,  -90,  -22,  21,  -18,  -51,  -27,  43,  -6,  -50,  -4,  54,  27,  38,  26,  -34,  0,  47,  38,  -63,  -117,  75,  127,  127,  21,  44,  -65,  4,  48,  62,  52,  -73,  -68,  -47,  63,  119,  118,  32,  -2,  127,  107,  25,  15,  31,  86,  127,  51,  15,  2,  4,  -21,  -11,  -28,  10,  103,  65,  -74,  14,  -1,  29,  27,  -4,  27,  -27,  -12,  -47,  54,  -7,  10,  -54,  4,  35,  -5,  -14,  -92,  16,  127,  46,  -8,  -21,  21,  14,  17,  19,  8,  19,  53,  -12,  85,  99,  21,  94,  40,  -37,  14,  -34,  -15,  37,  75,  5,  -6,  4,  -6,  -19,  -32,  -27,  -86,  -62,  -29,  -77,  36,  -27,  -35,  -79,  -7,  -30,  -51,  -15,  10,  -34,  54,  31,  -20,  15,  -17,  18,  2,  24,  -28,  12,  32,  -22,  -22,  27,  -20,  77,  -79,  19,  9,  13,  17,  84,  47,  -30,  21,  1,  -7,  -38,  -41,  -7,  34,  39,  2,  11,  57,  45,  20,  56,  -33,  -66,  -31,  -12,  -80,  -31,  -30,  -85,  -27,  -68,  82,  -51,  -79,  10,  35,  54,  -5,  -34,  -56,  -32,  -58,  13,  36,  5,  68,  17,  37,  32,  -25,  37,  9,  75,  -29,  26,  -17,  32,  -41,  -64,  71,  -17,  -54,  48,  -33,  -26,  -31,  54,  -2,  -27,  -18,  2,  -55,  -37,  36,  43,  -3,  87,  23,  31,  -4,  -34,  -32,  -6,  -38,  -125,  -123,  -114,  -81,  -44,  -123,  -115,  14,  -19,  -13,  37,  71,  80,  -28,  45,  74,  73,  62,  53,  -5,  -50,  32,  -34,  -46,  10,  -12,  3,  -28,  35,  -4,  9,  9,  24,  26,  -57,  -5,  -28,  50,  -14,  44,  21,  -1,  40,  13,  3,  -9,  -52,  -68,  12,  10,  1,  -64,  8,  56,  -42,  17,  56,  32,  -38,  51,  -12,  -31,  -15,  16,  12,  4,  64,  124,  90,  -75,  -46,  -56,  39,  47,  -1,  -11,  -65,  -62,  19,  62,  27,  -120,  -12,  -78,  -4,  -21,  -72,  -67,  83,  -43,  41,  -50,  20,  -35,  -23,  -13,  -39,  31,  12,  -56,  36,  57,  10,  -16,  -99,  15,  -12,  45,  -26,  -9,  -6,  -40,  55,  57,  0,  61,  -6,  40,  -25,  -51,  -9,  85,  -64,  108,  -16,  35,  -28,  8,  12,  5,  -21,  -34,  -32,  -27,  -70,  -17,  -64,  -96,  -24,  -34,  118,  29,  -39,  -9,  -74,  -25,  28,  4,  -14,  101,  67,  58,  61,  0,  11,  90,  24,  -27,  -15,  -30,  26,  0
};


const rnn_weight gru_b_vad[48] ALIGN64SFX = {
72,  -125,  15,  109,  -59,  -122,  125,  -118,  -99,  -85,  -127,  -106,  107,  78,  -127,  -69,  -35,  54,  53,  79,  44,  124,  47,  -5,  35,  62,  58,  68,  35,  125,  64,  120,  -35,  22,  29,  21,  -66,  -11,  28,  31,  -43,  15,  -68,  -87,  127,  11,  5,  28
};


const rnn_weight gru_re_w_vad[768] ALIGN64SFX = {
111,  23,  -108,  -60,  -49,  -25,  -13,  125,  125,  -35,  -124,  -80,  48,  85,  36,  -118,  117,  67,  -125,  -32,  -78,  44,  -30,  36,  90,  35,  -16,  123,  -88,  -70,  -126,  66,  104,  98,  -85,  104,  -40,  8,  41,  5,  -67,  11,  -105,  50,  16,  -6,  -33,  125,  53,  35,  -22,  -128,  -11,  -23,  123,  28,  65,  -60,  -90,  14,  127,  120,  107,  84,  13,  123,  -117,  -81,  18,  -57,  60,  50,  110,  -99,  -122,  89,  -51,  117,  -11,  0,  86,  81,  -124,  -20,  -15,  -32,  108,  5,  122,  -27,  -128,  82,  -99,  102,  -44,  -6,  -56,  64,  58,  67,  -102,  -7,  110,  93,  -105,  72,  -127,  -127,  91,  95,  84,  -4,  -49,  58,  -126,  -99,  -64,  -90,  49,  55,  85,  -123,  -79,  -1,  -46,  74,  -25,  95,  91,  24,  -83,  29,  -27,  -63,  -110,  -26,  84,  -37,  -33,  76,  -105,  -23,  -52,  9,  -26,  125,  -51,  -125,  58,  -45,  32,  96,  77,  -100,  15,  48,  -47,  62,  25,  -10,  92,  6,  -81,  -97,  -104,  90,  -109,  -70,  83,  -28,  1,  121,  -123,  -99,  -115,  18,  -90,  93,  16,  -124,  107,  -96,  -6,  122,  -6,  -126,  -42,  -14,  -104,  11,  38,  -63,  -66,  -100,  103,  127,  -95,  122,  28,  -89,  -122,  93,  -46,  -121,  122,  -109,  -69,  85,  108,  -3,  39,  127,  -65,  46,  2,  -113,  -106,  115,  -15,  115,  103,  38,  -78,  82,  60,  111,  -122,  -13,  -33,  -101,  26,  32,  121,  -7,  -70,  127,  -104,  119,  -42,  -47,  60,  98,  -115,  93,  -55,  -44,  81,  75,  105,  -76,  -94,  102,  -90,  97,  -72,  -19,  38,  -19,  21,  127,  -40,  43,  -70,  53,  58,  24,  112,  -45,  -27,  -7,  46,  -45,  -24,  32,  13,  -60,  62,  9,  121,  -13,  53,  -30,  0,  -104,  90,  111,  7,  -13,  -11,  45,  3,  58,  29,  -83,  58,  61,  -23,  -42,  -54,  -66,  -50,  -124,  9,  10,  9,  85,  36,  -3,  -45,  -3,  57,  112,  72,  -33,  -123,  -13,  119,  121,  -17,  -45,  -28,  18,  -16,  20,  -2,  -23,  -26,  37,  89,  28,  -56,  10,  -33,  -54,  -106,  -15,  104,  121,  -119,  -46,  23,  -38,  85,  36,  45,  -72,  -5,  24,  4,  -89,  -6,  83,  11,  35,  -66,  126,  -38,  -70,  -9,  -12,  45,  11,  -11,  -13,  102,  15,  42,  -19,  37,  -36,  -7,  117,  -19,  26,  90,  -3,  -18,  38,  23,  38,  1,  -34,  45,  16,  68,  -72,  -28,  78,  -26,  -20,  53,  -20,  8,  -13,  -17,  29,  -52,  -124,  -10,  60,  51,  -43,  77,  -110,  35,  37,  -42,  -32,  -48,  -25,  0,  -37,  -27,  -30,  -20,  112,  68,  -66,  71,  -124,  -85,  13,  37,  -38,  28,  22,  63,  -37,  55,  -22,  54,  8,  -5,  119,  -36,  -106,  32,  -83,  49,  86,  30,  -122,  -74,  -26,  51,  -21,  101,  -56,  39,  63,  -15,  37,  2,  -69,  41,  31,  7,  10,  2,  -50,  58,  94,  -5,  24,  30,  -12,  13,  124,  -54,  -2,  3,  -40,  -58,  115,  12,  12,  46,  -1,  32,  65,  43,  49,  -3,  81,  -40,  20,  -5,  26,  36,  114,  33,  13,  40,  -119,  -45,  89,  40,  27,  -8,  -18,  2,  17,  34,  29,  13,  19,  -71,  15,  12,  -119,  -25,  100,  34,  13,  -58,  69,  23,  -39,  68,  45,  116,  -41,  44,  101,  45,  61,  115,  -89,  -10,  38,  -96,  127,  120,  -123,  38,  -64,  110,  -22,  50,  -82,  53,  56,  35,  -121,  -60,  -54,  107,  -119,  -94,  39,  -39,  -96,  -114,  15,  -42,  -46,  5,  -90,  -97,  45,  -38,  -76,  18,  124,  -93,  7,  29,  55,  -8,  111,  -31,  75,  1,  48,  21,  62,  2,  13,  -6,  21,  23,  0,  -45,  3,  57,  -42,  119,  -49,  -14,  124,  27,  -40,  -29,  -76,  46,  -73,  -109,  119,  -32,  -68,  -31,  8,  -94,  76,  -63,  -119,  -59,  117,  71,  33,  -99,  9,  17,  -105,  95,  13,  0,  -24,  39,  20,  44,  119,  75,  -90,  -9,  86,  -40,  89,  114,  -76,  63,  -1,  45,  -59,  18,  -102,  73,  105,  53,  -114,  98,  108,  -45,  94,  103,  -126,  8,  101,  114,  -120,  121,  -6,  37,  -5,  94,  -110,  -16,  -30,  65,  4,  -128,  123,  38,  21,  -39,  14,  -51,  125,  -53,  -85,  -20,  60,  -30,  -120,  102,  44,  34,  30,  25,  -48,  -39,  -27,  -15,  91,  -20,  54,  -33,  38,  23,  -39,  28,  -49,  51,  112,  -14,  63,  -69,  -21,  -114,  -7,  -66,  28,  30,  23,  -40,  82,  -34,  -21,  14,  -120,  119,  3,  -106,  34,  -23,  -97,  107,  103,  52,  -80,  50,  123,  -123,  126,  -24,  -55,  93,  6,  124,  50,  25,  14,  -40,  125,  41,  -72,  41,  64,  -68,  84,  56,  -89,  55,  42,  33,  -30,  86,  -118,  66,  98,  34,  -97,  -38,  31,  25,  -127,  2,  -4,  34,  -30,  -75,  57,  -121,  33,  23,  -47,  -120,  119
};


const rnn_weight gru_w_vad[768] ALIGN64SFX = {
-98,  38,  125,  -38,  127,  -8,  1,  -7,  9,  15,  -111,  117,  82,  91,  -47,  -5,  -25,  -95,  -54,  31,  118,  -112,  126,  -127,  -128,  61,  2,  -11,  28,  -37,  -23,  90,  -81,  -96,  114,  -4,  38,  85,  113,  -61,  66,  -31,  -105,  4,  21,  -11,  -8,  17,  58,  67,  -29,  -113,  -124,  -90,  78,  83,  5,  -70,  17,  126,  -94,  -30,  66,  -114,  124,  -127,  -54,  42,  121,  -39,  -22,  -52,  -66,  83,  -51,  -3,  -91,  -31,  -128,  114,  -6,  -123,  -11,  -48,  127,  -128,  96,  -90,  -126,  107,  -52,  -48,  -78,  -40,  -128,  127,  -120,  -115,  3,  -122,  76,  -1,  -127,  18,  69,  56,  -89,  42,  -20,  -19,  0,  126,  -16,  -116,  -72,  -3,  -89,  -128,  -28,  -32,  -94,  73,  -16,  -81,  -68,  74,  -59,  3,  -115,  -105,  28,  7,  125,  -8,  -78,  -127,  -128,  25,  38,  -30,  -19,  -34,  50,  -24,  -63,  -5,  18,  -10,  126,  -128,  -30,  -106,  -128,  83,  -65,  105,  41,  -79,  -124,  54,  22,  41,  11,  37,  52,  45,  65,  39,  -27,  75,  -59,  -63,  -68,  100,  -110,  93,  74,  -65,  -18,  -50,  -54,  -2,  -10,  -126,  -55,  120,  -20,  -93,  -90,  -113,  -30,  58,  -6,  117,  -106,  -30,  -80,  87,  38,  -114,  75,  -128,  -26,  -51,  40,  127,  127,  50,  50,  -83,  -75,  -1,  -106,  -84,  87,  -46,  -79,  -30,  55,  53,  -78,  -47,  103,  -128,  -74,  -128,  -57,  -4,  -96,  -69,  48,  -127,  -58,  91,  -90,  -35,  -51,  29,  -128,  70,  -113,  -126,  -110,  -86,  2,  -83,  -4,  -60,  -28,  65,  -30,  2,  -99,  -39,  -85,  127,  44,  125,  -35,  37,  -8,  -20,  -36,  29,  44,  77,  103,  -61,  -27,  80,  21,  -46,  55,  -49,  -126,  1,  -46,  4,  -61,  -108,  -3,  85,  -5,  16,  -110,  -24,  -65,  113,  -23,  -76,  -52,  -22,  -71,  8,  -17,  -16,  68,  61,  127,  -77,  -53,  30,  25,  -72,  11,  14,  -30,  -88,  -16,  -48,  77,  52,  -71,  -33,  -17,  97,  -87,  19,  -2,  -51,  -119,  33,  17,  -2,  13,  -39,  42,  6,  -9,  -50,  -52,  98,  41,  -42,  -66,  -15,  -125,  -113,  49,  34,  54,  -126,  82,  -92,  -82,  108,  -11,  117,  -35,  -44,  -3,  -82,  -101,  -39,  72,  -44,  -6,  -60,  -22,  10,  20,  20,  -64,  11,  -52,  -18,  1,  -4,  -108,  62,  -44,  -40,  -16,  -61,  -44,  119,  -36,  21,  -6,  -64,  13,  -9,  51,  -24,  78,  -121,  -121,  -59,  -23,  -33,  -18,  -19,  -10,  98,  126,  -113,  -108,  -21,  125,  36,  83,  -48,  -49,  -50,  -108,  -56,  67,  -104,  -26,  -12,  56,  38,  39,  -66,  125,  -1,  120,  93,  -51,  121,  -97,  -128,  122,  66,  43,  2,  62,  18,  65,  -21,  45,  -126,  -31,  101,  86,  57,  31,  -31,  40,  -90,  -8,  -65,  -41,  95,  9,  14,  -30,  -28,  18,  126,  -17,  124,  28,  2,  94,  29,  9,  -83,  -41,  55,  65,  37,  -43,  -20,  2,  -77,  25,  -64,  -5,  14,  -30,  14,  -48,  -104,  70,  83,  -106,  -10,  109,  -53,  13,  -94,  74,  -73,  -61,  -126,  68,  -68,  114,  -4,  83,  95,  82,  -32,  -41,  -108,  6,  -121,  -1,  -101,  -7,  -114,  -31,  -107,  -49,  83,  82,  39,  -115,  -113,  29,  -13,  -62,  48,  -33,  7,  -59,  -61,  102,  -34,  34,  -64,  33,  78,  36,  17,  23,  -83,  -17,  122,  38,  122,  30,  66,  -33,  25,  -22,  -76,  -96,  119,  23,  27,  15,  3,  26,  -125,  71,  -56,  -68,  -72,  -74,  -6,  -35,  65,  41,  -8,  23,  -70,  -16,  81,  -29,  -113,  64,  -116,  30,  -30,  -13,  43,  17,  30,  7,  -102,  -2,  9,  44,  85,  3,  124,  17,  34,  -51,  95,  73,  60,  83,  -110,  -57,  69,  15,  120,  69,  80,  -78,  -126,  -22,  -118,  -6,  -51,  -84,  9,  -34,  77,  80,  -73,  -26,  -115,  -14,  -4,  57,  21,  -111,  45,  -76,  5,  109,  8,  -44,  -10,  25,  -13,  25,  -81,  -55,  34,  -13,  124,  19,  76,  42,  4,  61,  -20,  23,  -53,  -64,  118,  21,  26,  -89,  31,  1,  56,  -13,  84,  48,  17,  39,  18,  -50,  106,  -57,  56,  79,  -53,  -38,  10,  -112,  -94,  -85,  -104,  -52,  -59,  -51,  -17,  13,  97,  5,  -89,  20,  -69,  -60,  -34,  101,  34,  -62,  -14,  -40,  -101,  22,  75,  25,  -97,  -36,  -58,  112,  62,  -8,  -117,  -119,  -116,  13,  -7,  -18,  -127,  38,  -29,  33,  29,  -10,  -29,  -28,  -94,  -6,  18,  2,  -97,  23,  11,  17,  25,  -22,  11,  -10,  106,  27,  101,  -69,  -45,  20,  -36,  -73,  85,  65,  32,  2,  39,  -83,  -46,  -52,  5,  6,  1,  -80,  88,  -15,  29,  -25,  125,  91,  75,  -55,  19,  -42,  56,  -9,  -117,  -11,  -15,  90,  17,  14,  -66,  16,  -123,  -30,  -42,  -39,  -71,  -100,  -72,  -42,  108,  51,  28,  -12,  -11,  -12,  121
};


const rnn_weight vad_dense_b[1] ALIGN64SFX = {
127
};


const rnn_weight vad_dense_w[16] ALIGN64SFX = {
127,  127,  -128,  -128,  127,  -128,  127,  127,  127,  -128,  -128,  -128,  127,  127,  127,  -128
};


/*--------------RNN_tansig_table.h----------------*/
const int tansig_table_fix[257] ALIGN64SFX = {
	0, 262059, 523606, 784136, 1043149, 1300156, 1554688, 1806288,
	2054527, 2298995, 2539313, 2775129, 3006120, 3231996, 3452500, 3667405,
	3876520, 4079682, 4276764, 4467666, 4652320, 4830684, 5002744, 5168510,
	5328016, 5481314, 5628480, 5769602, 5904788, 6034156, 6157838, 6275975,
	6388715, 6496215, 6598637, 6696146, 6788909, 6877098, 6960883, 7040433,
	7115919, 7187507, 7255363, 7319648, 7380521, 7438138, 7492649, 7544200,
	7592934, 7638987, 7682493, 7723579, 7762367, 7798975, 7833517, 7866101,
	7896830, 7925804, 7953116, 7978857, 8003112, 8025963, 8047488, 8067760,
	8086849, 8104823, 8121743, 8137670, 8152659, 8166766, 8180040, 8192528,
	8204278, 8215330, 8225727, 8235505, 8244702, 8253350, 8261483, 8269130,
	8276321, 8283081, 8289437, 8295412, 8301029, 8306309, 8311272, 8315937,
	8320322, 8324444, 8328317, 8331958, 8335379, 8338595, 8341616, 8344456,
	8347124, 8349632, 8351988, 8354202, 8356283, 8358238, 8360075, 8361801,
	8363422, 8364946, 8366378, 8367723, 8368987, 8370174, 8371290, 8372338,
	8373323, 8374248, 8375118, 8375934, 8376702, 8377423, 8378100, 8378736,
	8379334, 8379896, 8380423, 8380919, 8381384, 8381822, 8382233, 8382619,
	8382982, 8383323, 8383643, 8383943, 8384226, 8384491, 8384741, 8384975,
	8385195, 8385402, 8385596, 8385778, 8385950, 8386111, 8386262, 8386404,
	8386538, 8386663, 8386781, 8386892, 8386996, 8387093, 8387185, 8387271,
	8387352, 8387428, 8387500, 8387567, 8387630, 8387689, 8387745, 8387797,
	8387846, 8387892, 8387936, 8387977, 8388015, 8388051, 8388085, 8388116,
	8388146, 8388174, 8388200, 8388225, 8388248, 8388270, 8388290, 8388310,
	8388328, 8388345, 8388361, 8388376, 8388390, 8388403, 8388415, 8388427,
	8388438, 8388448, 8388458, 8388467, 8388476, 8388484, 8388491, 8388498,
	8388505, 8388511, 8388517, 8388523, 8388528, 8388533, 8388537, 8388541,
	8388545, 8388549, 8388553, 8388556, 8388559, 8388562, 8388565, 8388568,
	8388570, 8388572, 8388575, 8388577, 8388578, 8388580, 8388582, 8388584,
	8388585, 8388586, 8388588, 8388589, 8388590, 8388591, 8388592, 8388593,
	8388594, 8388595, 8388596, 8388596, 8388597, 8388598, 8388598, 8388599,
	8388600, 8388600, 8388601, 8388601, 8388601, 8388602, 8388602, 8388603,
	8388603, 8388603, 8388603, 8388604, 8388604, 8388604, 8388604, 8388605,
	8388605, 8388605, 8388605, 8388605, 8388606, 8388606, 8388606, 8388606,
	8388606
};


static const short eband5ms[NB_BANDS] ALIGN64SFX = {
	//22 BANDS
	0, 3, 5, 7, 9, 11, 13, 20, 28, 37, 47, 57, 69, 81, 93, 106, 120, 134, 150, 185, 218, 256

};


static const short frac_array[256] ALIGN64SFX = {
	0, 10923, 21845, 0, 16384, 0, 16384, 0, 16384, 0, 16384, 0, 16384, 0, 4681, 9362, 14043, 18725, 23406,
	28087, 0, 4096, 8192, 12288, 16384, 20480, 24576, 28672, 0, 3641, 7282, 10923, 14564, 18204, 21845,
	25486, 29127, 0, 3277, 6554, 9830, 13107, 16384, 19661, 22938, 26214, 29491, 0, 3277, 6554, 9830, 13107,
	16384, 19661, 22938, 26214, 29491, 0, 2731, 5461, 8192, 10923, 13653, 16384, 19115, 21845, 24576, 27307,
	30037, 0, 2731, 5461, 8192, 10923, 13653, 16384, 19115, 21845, 24576, 27307, 30037, 0, 2731, 5461, 8192,
	10923, 13653, 16384, 19115, 21845, 24576, 27307, 30037, 0, 2521, 5041, 7562, 10082, 12603, 15124, 17644,
	20165, 22686, 25206, 27727, 30247, 0, 2341, 4681, 7022, 9362, 11703, 14043, 16384, 18725, 21065, 23406,
	25746, 28087, 30427, 0, 2341, 4681, 7022, 9362, 11703, 14043, 16384, 18725, 21065, 23406, 25746, 28087,
	30427, 0, 2048, 4096, 6144, 8192, 10240, 12288, 14336, 16384, 18432, 20480, 22528, 24576, 26624, 28672,
	30720, 0, 936, 1872, 2809, 3745, 4681, 5617, 6554, 7490, 8426, 9362, 10299, 11235, 12171, 13107, 14043,
	14980, 15916, 16852, 17788, 18725, 19661, 20597, 21533, 22469, 23406, 24342, 25278, 26214, 27151, 28087,
	29023, 29959, 30896, 31832, 0, 993, 1986, 2979, 3972, 4965, 5958, 6951, 7944, 8937, 9930, 10923, 11916,
	12909, 13902, 14895, 15888, 16880, 17873, 18866, 19859, 20852, 21845, 22838, 23831, 24824, 25817, 26810,
	27803, 28796, 29789, 30782, 31775, 0, 862, 1725, 2587, 3449, 4312, 5174, 6036, 6899, 7761, 8623, 9485,
	10348, 11210, 12072, 12935, 13797, 14659, 15522, 16384, 17246, 18109, 18971, 19833, 20696, 21558, 22420,
	23283, 24145, 25007, 25869, 26732, 27594, 28456, 29319, 30181, 31043, 31906 };


static const short dct_table_fx[NB_BANDS*NB_BANDS] ALIGN64SFX = {
23170, 32685, 32434, 32019, 31441, 30702, 29807, 28760, 27566, 26232, 24764, 23170, 21458, 19637, 17716, 15704, 13612,
11451, 9232, 6965, 4663, 2338, 23170, 32019, 29807, 26232, 21458, 15704, 9232, 2338, -4663, -11451, -17716, -23170,
-27566, -30702, -32434, -32685, -31441, -28760, -24764, -19637, -13612, -6965, 23170, 30702, 24764, 15704, 4663,
-6965, -17716, -26232, -31441, -32685, -29807, -23170, -13612, -2338, 9232, 19637, 27566, 32019, 32434, 28760, 21458,
11451, 23170, 28760, 17716, 2338, -13612, -26232, -32434, -30702, -21458, -6965, 9232, 23170, 31441, 32019, 24764,
11451, -4663, -19637, -29807, -32685, -27566, -15704, 23170, 26232, 9232, -11451, -27566, -32685, -24764, -6965, 13612,
28760, 32434, 23170, 4663, -15704, -29807, -32019, -21458, -2338, 17716, 30702, 31441, 19637, 23170, 23170, 0, -23170,
-32768, -23170, 0, 23170, 32767, 23170, 0, -23170, -32768, -23170, 0, 23170, 32767, 23170, 0, -23170, -32768, -23170,
23170, 19637, -9232, -30702, -27566, -2338, 24764, 32019, 13612, -15704, -32434, -23170, 4663, 28760, 29807, 6965,
-21458, -32685, -17716, 11451, 31441, 26232, 23170, 15704, -17716, -32685, -13612, 19637, 32434, 11451, -21458, -32019,
-9232, 23170, 31441, 6965, -24764, -30702, -4663, 26232, 29807, 2338, -27566, -28760, 23170, 11451, -24764, -28760,
4663, 32019, 17716, -19637, -31441, -2338, 29807, 23170, -13612, -32685, -9232, 26232, 27566, -6965, -32434, -15704,
21458, 30702, 23170, 6965, -29807, -19637, 21458, 28760, -9232, -32685, -4663, 30702, 17716, -23170, -27566, 11451,
32434, 2338, -31441, -15704, 24764, 26232, -13612, -32019, 23170, 2338, -32434, -6965, 31441, 11451, -29807, -15704,
27566, 19637, -24764, -23170, 21458, 26232, -17716, -28760, 13612, 30702, -9232, -32019, 4663, 32685, 23170, -2338,
-32434, 6965, 31441, -11451, -29807, 15704, 27566, -19637, -24764, 23170, 21458, -26232, -17716, 28760, 13612, -30702,
-9232, 32019, 4663, -32685, 23170, -6965, -29807, 19637, 21458, -28760, -9232, 32685, -4663, -30702, 17716, 23170,
-27566, -11451, 32434, -2338, -31441, 15704, 24764, -26232, -13612, 32019, 23170, -11451, -24764, 28760, 4663, -32019,
17716, 19637, -31441, 2338, 29807, -23170, -13612, 32685, -9232, -26232, 27566, 6965, -32434, 15704, 21458, -30702,
23170, -15704, -17716, 32685, -13612, -19637, 32434, -11451, -21458, 32019, -9232, -23170, 31441, -6965, -24764, 30702,
-4663, -26232, 29807, -2338, -27566, 28760, 23170, -19637, -9232, 30702, -27566, 2338, 24764, -32019, 13612, 15704,
-32434, 23170, 4663, -28760, 29807, -6965, -21458, 32685, -17716, -11451, 31441, -26232, 23170, -23170, 0, 23170,
-32768, 23170, 0, -23170, 32767, -23170, 0, 23170, -32768, 23170, 0, -23170, 32767, -23170, 0, 23170, -32768, 23170,
23170, -26232, 9232, 11451, -27566, 32685, -24764, 6965, 13612, -28760, 32434, -23170, 4663, 15704, -29807, 32019,
-21458, 2338, 17716, -30702, 31441, -19637, 23170, -28760, 17716, -2338, -13612, 26232, -32434, 30702, -21458, 6965,
9232, -23170, 31441, -32019, 24764, -11451, -4663, 19637, -29807, 32685, -27566, 15704, 23170, -30702, 24764, -15704,
4663, 6965, -17716, 26232, -31441, 32685, -29807, 23170, -13612, 2338, 9232, -19637, 27566, -32019, 32434, -28760,
21458, -11451, 23170, -32019, 29807, -26232, 21458, -15704, 9232, -2338, -4663, 11451, -17716, 23170, -27566, 30702,
-32434, 32685, -31441, 28760, -24764, 19637, -13612, 6965, 23170, -32685, 32434, -32019, 31441, -30702, 29807, -28760,
27566, -26232, 24764, -23170, 21458, -19637, 17716, -15704, 13612, -11451, 9232, -6965, 4663, -2338 };



static __inline int DVTXOP_L_mpy_32_16(int L_var2, short var1);
static __inline int DVTXOP_LL_mpy_high(int L_var1, int L_var2);
static __inline int tansig_approx_fix(int x_fix); //input in Q19, return in Q19
static __inline int sigmoid_approx_fix(int x_fix);  //input in Q19, output in Q19
static __inline int relu_fix(int x_fix);
static __inline long long DVTXOP_Mpy_Ls_32bit(int Lvar1, short var2);

void compute_dense_fx(const DenseLayer *layer, const rnn_weight *fx_w, const rnn_weight *fx_b, int *output_fx, const int *input_fx);
void compute_gru_fx(RNNState *rnn, const GRULayer *gru, const rnn_weight *fx_kernel_w, const rnn_weight *fx_re_kernel_w, const rnn_weight *fx_b, short *state_fx, const int *input_fx);

int rnnnoise_init(DenoiseState *st);
static __inline int Fx_log10_q0(int pwr);
int fx_rnnoise_process_frame(DenoiseState *st, short *in, short *denoiseout);

#endif
#endif /* _MLP_H_ */
