diff CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/opt/mummer-3.23/src/tigr/translate.hh @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/opt/mummer-3.23/src/tigr/translate.hh	Tue Mar 18 17:55:14 2025 -0400
@@ -0,0 +1,581 @@
+//-- Values and function for DNA -> Amino Acid translation
+
+#ifndef __TRANSLATE_HH
+#define __TRANSLATE_HH
+
+#include <cstdio>
+#include <cstring>
+
+long int Translate_DNA
+(char * A, char * tA, int Frame);
+
+     // function to translate dna sequence to aminoacid sequence
+     // uses esttrans' headers and algo
+     // A as read in from gene.h Read_String
+     // tA should be an empty string, malloced to atleast (len A / 3)
+     // frame is 1,2,3,4,5,6
+     // returns new (strlen(A+1)) or -1 on error
+     // See end of file for source.
+
+#define BAD_PEP_CHAR	-1
+#define SKIP_PEP_CHAR	-2
+#define NUM_DNA_SYMBOLS	16
+#define DNA_A		 0
+#define DNA_C		 1
+#define DNA_G		 2
+#define DNA_TU		 3
+#define DNA_M		 4
+#define DNA_R		 5
+#define DNA_W		 6
+#define DNA_S		 7
+#define DNA_Y		 8
+#define DNA_K		 9
+#define DNA_V		10
+#define DNA_H		11
+#define DNA_D		12
+#define DNA_B		13
+#define DNA_XN		14
+#define DNA_dot		15
+
+#define AA_LEN		8192
+#define DNA_LEN		32768
+#define AA_LINE_LEN	60
+
+const int	compdna[NUM_DNA_SYMBOLS] = {
+		DNA_TU,
+		DNA_G,
+		DNA_C,
+		DNA_A,
+		DNA_K,
+		DNA_Y,
+		DNA_W,
+		DNA_S,
+		DNA_R,
+		DNA_M,
+		DNA_B,
+		DNA_D,
+		DNA_H,
+		DNA_V,
+		DNA_XN,
+		DNA_dot
+};
+
+const int	transdna[256] = {
+		BAD_PEP_CHAR,	/*  0 NUL*/
+		BAD_PEP_CHAR,	/*  1 SOH*/
+		BAD_PEP_CHAR,	/*  2 STX*/
+		BAD_PEP_CHAR,	/*  3 ETX*/
+		BAD_PEP_CHAR,	/*  4 EOT*/
+		BAD_PEP_CHAR,	/*  5 ENQ*/
+		BAD_PEP_CHAR,	/*  6 ACK*/
+		BAD_PEP_CHAR,	/*  7 BEL*/
+		BAD_PEP_CHAR,	/*  8 BS */
+		SKIP_PEP_CHAR,	/*  9 HT */
+		SKIP_PEP_CHAR,	/* 10 NL */
+		SKIP_PEP_CHAR,	/* 11 VT */
+		SKIP_PEP_CHAR,	/* 12 NP */
+		SKIP_PEP_CHAR,	/* 13 CR */
+		BAD_PEP_CHAR,	/* 14 SO */
+		BAD_PEP_CHAR,	/* 15 SI */
+		BAD_PEP_CHAR,	/* 16 DLE*/
+		BAD_PEP_CHAR,	/* 17 DC1*/
+		BAD_PEP_CHAR,	/* 18 DC2*/
+		BAD_PEP_CHAR,	/* 19 DC3*/
+		BAD_PEP_CHAR,	/* 20 DC4*/
+		BAD_PEP_CHAR,	/* 21 NAK*/
+		BAD_PEP_CHAR,	/* 22 SYN*/
+		BAD_PEP_CHAR,	/* 23 ETB*/
+		BAD_PEP_CHAR,	/* 24 CAN*/
+		BAD_PEP_CHAR,	/* 25 EM */
+		BAD_PEP_CHAR,	/* 26 SUB*/
+		BAD_PEP_CHAR,	/* 27 ESC*/
+		BAD_PEP_CHAR,	/* 28 FS */
+		BAD_PEP_CHAR,	/* 29 GS */
+		BAD_PEP_CHAR,	/* 30 RS */
+		BAD_PEP_CHAR,	/* 31 US */
+		SKIP_PEP_CHAR,	/* 32 SP */
+		BAD_PEP_CHAR,	/* 33  ! */
+		BAD_PEP_CHAR,	/* 34  " */
+		BAD_PEP_CHAR,	/* 35  # */
+		BAD_PEP_CHAR,	/* 36  $ */
+		BAD_PEP_CHAR,	/* 37  % */
+		BAD_PEP_CHAR,	/* 38  & */
+		BAD_PEP_CHAR,	/* 39  ' */
+		BAD_PEP_CHAR,	/* 40  ( */
+		BAD_PEP_CHAR,	/* 41  ) */
+		BAD_PEP_CHAR,	/* 42  * */
+		BAD_PEP_CHAR,	/* 43  + */
+		BAD_PEP_CHAR,	/* 44  , */
+		BAD_PEP_CHAR,	/* 45  - */
+		DNA_dot,	/* 46  . */
+		BAD_PEP_CHAR,	/* 47  / */
+		BAD_PEP_CHAR,	/* 48  0 */
+		BAD_PEP_CHAR,	/* 49  1 */
+		BAD_PEP_CHAR,	/* 50  2 */
+		BAD_PEP_CHAR,	/* 51  3 */
+		BAD_PEP_CHAR,	/* 52  4 */
+		BAD_PEP_CHAR,	/* 53  5 */
+		BAD_PEP_CHAR,	/* 54  6 */
+		BAD_PEP_CHAR,	/* 55  7 */
+		BAD_PEP_CHAR,	/* 56  8 */
+		BAD_PEP_CHAR,	/* 57  9 */
+		BAD_PEP_CHAR,	/* 58  : */
+		BAD_PEP_CHAR,	/* 59  ; */
+		BAD_PEP_CHAR,	/* 60  < */
+		BAD_PEP_CHAR,	/* 61  = */
+		BAD_PEP_CHAR,	/* 62  > */
+		BAD_PEP_CHAR,	/* 63  ? */
+		BAD_PEP_CHAR,	/* 64  @ */
+		DNA_A,		/* 65  A */
+		DNA_B,		/* 66  B */
+		DNA_C,		/* 67  C */
+		DNA_D,		/* 68  D */
+		BAD_PEP_CHAR,	/* 69  E */
+		BAD_PEP_CHAR,	/* 70  F */
+		DNA_G,		/* 71  G */
+		DNA_H,		/* 72  H */
+		BAD_PEP_CHAR,	/* 73  I */
+		BAD_PEP_CHAR,	/* 74  J */
+		DNA_K,		/* 75  K */
+		BAD_PEP_CHAR,	/* 76  L */
+		DNA_M,		/* 77  M */
+		DNA_XN,		/* 78  N */
+		BAD_PEP_CHAR,	/* 79  O */
+		BAD_PEP_CHAR,	/* 80  P */
+		BAD_PEP_CHAR,	/* 81  Q */
+		DNA_R,		/* 82  R */
+		DNA_S,		/* 83  S */
+		DNA_TU,		/* 84  T */
+		DNA_TU,		/* 85  U */
+		DNA_V,		/* 86  V */
+		DNA_W,		/* 87  W */
+		DNA_XN,		/* 88  X */
+		DNA_Y,		/* 89  Y */
+		BAD_PEP_CHAR,	/* 90  Z */
+		BAD_PEP_CHAR,	/* 91  [ */
+		BAD_PEP_CHAR,	/* 92  \ */
+		BAD_PEP_CHAR,	/* 93  ] */
+		BAD_PEP_CHAR,	/* 94  ^ */
+		BAD_PEP_CHAR,	/* 95  _ */
+		BAD_PEP_CHAR,	/* 96  ` */
+		DNA_A,		/* 97  a */
+		DNA_B,		/* 98  b */
+		DNA_C,		/* 99  c */
+		DNA_D,		/*100  d */
+		BAD_PEP_CHAR,	/*101  e */
+		BAD_PEP_CHAR,	/*102  f */
+		DNA_G,		/*103  g */
+		DNA_H,		/*104  h */
+		BAD_PEP_CHAR,	/*105  i */
+		BAD_PEP_CHAR,	/*106  j */
+		DNA_K,		/*107  k */
+		BAD_PEP_CHAR,	/*108  l */
+		DNA_M,		/*109  m */
+		DNA_XN,		/*110  n */
+		BAD_PEP_CHAR,	/*111  o */
+		BAD_PEP_CHAR,	/*112  p */
+		BAD_PEP_CHAR,	/*113  q */
+		DNA_R,		/*114  r */
+		DNA_S,		/*115  s */
+		DNA_TU,		/*116  t */
+		DNA_TU,		/*117  u */
+		DNA_V,		/*118  v */
+		DNA_W,		/*119  w */
+		DNA_XN,		/*120  x */
+		DNA_Y,		/*121  y */
+		BAD_PEP_CHAR,	/*122  z */
+		BAD_PEP_CHAR,	/*123  { */
+		BAD_PEP_CHAR,	/*124  | */
+		BAD_PEP_CHAR,	/*125  } */
+		BAD_PEP_CHAR,	/*126  ~ */
+		BAD_PEP_CHAR,	/*127 DEL*/
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR,
+		BAD_PEP_CHAR
+};
+
+const char	universal[NUM_DNA_SYMBOLS * NUM_DNA_SYMBOLS * NUM_DNA_SYMBOLS] = {
+		'K','N','K','N','X','K','X','X','N','X','X','X','X','X','X','X',
+		'T','T','T','T','T','T','T','T','T','T','T','T','T','T','T','X',
+		'R','S','R','S','X','R','X','X','S','X','X','X','X','X','X','X',
+		'I','I','M','I','I','X','I','X','I','X','X','I','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'Q','H','Q','H','X','Q','X','X','H','X','X','X','X','X','X','X',
+		'P','P','P','P','P','P','P','P','P','P','P','P','P','P','P','X',
+		'R','R','R','R','R','R','R','R','R','R','R','R','R','R','R','X',
+		'L','L','L','L','L','L','L','L','L','L','L','L','L','L','L','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'E','D','E','D','X','E','X','X','D','X','X','X','X','X','X','X',
+		'A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','X',
+		'G','G','G','G','G','G','G','G','G','G','G','G','G','G','G','X',
+		'V','V','V','V','V','V','V','V','V','V','V','V','V','V','V','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'*','Y','*','Y','X','*','X','X','Y','X','X','X','X','X','X','X',
+		'S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','X',
+		'*','C','W','C','X','X','X','X','C','X','X','X','X','X','X','X',
+		'L','F','L','F','X','L','X','X','F','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'*','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'R','X','R','X','X','R','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','B','X','B','X','X','X','X','B','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'Z','X','Z','X','X','Z','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'L','X','L','X','X','L','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X',
+		'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X'
+};
+
+#endif // #ifndef __TRANSLATE_HH