[asterisk-commits] branch murf/bug_6072 - r8268 in /team/murf/bug_6072: ./ utils/

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Thu Jan 19 11:35:44 MST 2006


Author: murf
Date: Thu Jan 19 12:35:39 2006
New Revision: 8268

URL: http://svn.digium.com/view/asterisk?rev=8268&view=rev
Log:
fixed some bugs in the expression parser, and plugged all the 
memory leaks. The expression parser now will not leak, as long
as there are no syntax errors. Sorry, but freeing tokens on error 
is a pretty complex affair. Maybe some future rev. Usually the 
amount leaked on syntax errors is fairly small.

Added checking, fixed the makefile to make the check_expr.c
program. Added an extra entry to make "testexpr2s", a new
exec that tests all the expressions in a file, where the filename
is the only argument.

The expr2.testinput is a set of expressions to provide some regression 
testing for the expr2 stuff.

Also noted that ast_expr2.fl was not returning the =~ operator,
or the ~ operator, and had an entry in the TOKEN pattern that would 
glom a % to the nearest token. I considered all these as bugs!


Added:
    team/murf/bug_6072/utils/expr2.testinput
Modified:
    team/murf/bug_6072/ast_expr2.c
    team/murf/bug_6072/ast_expr2.fl
    team/murf/bug_6072/ast_expr2.h
    team/murf/bug_6072/ast_expr2.y
    team/murf/bug_6072/ast_expr2f.c
    team/murf/bug_6072/utils/Makefile
    team/murf/bug_6072/utils/check_expr.c

Modified: team/murf/bug_6072/ast_expr2.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug_6072/ast_expr2.c?rev=8268&r1=8267&r2=8268&view=diff
==============================================================================
--- team/murf/bug_6072/ast_expr2.c (original)
+++ team/murf/bug_6072/ast_expr2.c Thu Jan 19 12:35:39 2006
@@ -130,6 +130,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <locale.h>
+#include <unistd.h>
 #include <ctype.h>
 #if !defined(SOLARIS) && !defined(__CYGWIN__)
 #include <err.h>
@@ -259,12 +260,12 @@
 #endif
 
 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 142 "ast_expr2.y"
+#line 143 "ast_expr2.y"
 typedef union YYSTYPE {
 	struct val *val;
 } YYSTYPE;
 /* Line 190 of yacc.c.  */
-#line 268 "ast_expr2.c"
+#line 269 "ast_expr2.c"
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
 # define YYSTYPE_IS_TRIVIAL 1
@@ -285,13 +286,13 @@
 
 
 /* Copy the second part of user declarations.  */
-#line 146 "ast_expr2.y"
+#line 147 "ast_expr2.y"
 
 extern int		ast_yylex __P((YYSTYPE *, YYLTYPE *, yyscan_t));
 
 
 /* Line 213 of yacc.c.  */
-#line 295 "ast_expr2.c"
+#line 296 "ast_expr2.c"
 
 #if ! defined (yyoverflow) || YYERROR_VERBOSE
 
@@ -473,9 +474,9 @@
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const unsigned char yyrline[] =
 {
-       0,   165,   165,   175,   176,   180,   184,   188,   192,   196,
-     200,   204,   208,   212,   216,   220,   224,   228,   232,   236,
-     240,   244,   248
+       0,   166,   166,   176,   177,   181,   185,   189,   193,   197,
+     201,   205,   209,   213,   217,   221,   225,   229,   233,   237,
+     241,   245,   249
 };
 #endif
 
@@ -1268,7 +1269,7 @@
   switch (yyn)
     {
         case 2:
-#line 165 "ast_expr2.y"
+#line 166 "ast_expr2.y"
     { ((struct parse_io *)parseio)->val = (struct val *)calloc(sizeof(struct val),1);
               ((struct parse_io *)parseio)->val->type = (yyvsp[0].val)->type;
               if( (yyvsp[0].val)->type == AST_EXPR_integer )
@@ -1280,12 +1281,12 @@
     break;
 
   case 3:
-#line 175 "ast_expr2.y"
+#line 176 "ast_expr2.y"
     { (yyval.val)= (yyvsp[0].val);;}
     break;
 
   case 4:
-#line 176 "ast_expr2.y"
+#line 177 "ast_expr2.y"
     { (yyval.val) = (yyvsp[-1].val); 
 	                       (yyloc).first_column = (yylsp[-2]).first_column; (yyloc).last_column = (yylsp[0]).last_column; 
 						   (yyloc).first_line=0; (yyloc).last_line=0;
@@ -1293,7 +1294,7 @@
     break;
 
   case 5:
-#line 180 "ast_expr2.y"
+#line 181 "ast_expr2.y"
     { (yyval.val) = op_or ((yyvsp[-2].val), (yyvsp[0].val));
 						DESTROY((yyvsp[-1].val));	
                          (yyloc).first_column = (yylsp[-2]).first_column; (yyloc).last_column = (yylsp[0]).last_column; 
@@ -1301,7 +1302,7 @@
     break;
 
   case 6:
-#line 184 "ast_expr2.y"
+#line 185 "ast_expr2.y"
     { (yyval.val) = op_and ((yyvsp[-2].val), (yyvsp[0].val)); 
 						DESTROY((yyvsp[-1].val));	
 	                      (yyloc).first_column = (yylsp[-2]).first_column; (yyloc).last_column = (yylsp[0]).last_column; 
@@ -1309,7 +1310,7 @@
     break;
 
   case 7:
-#line 188 "ast_expr2.y"
+#line 189 "ast_expr2.y"
     { (yyval.val) = op_eq ((yyvsp[-2].val), (yyvsp[0].val));
 						DESTROY((yyvsp[-1].val));	
 	                     (yyloc).first_column = (yylsp[-2]).first_column; (yyloc).last_column = (yylsp[0]).last_column;
@@ -1317,7 +1318,7 @@
     break;
 
   case 8:
-#line 192 "ast_expr2.y"
+#line 193 "ast_expr2.y"
     { (yyval.val) = op_gt ((yyvsp[-2].val), (yyvsp[0].val));
 						DESTROY((yyvsp[-1].val));	
                          (yyloc).first_column = (yylsp[-2]).first_column; (yyloc).last_column = (yylsp[0]).last_column;
@@ -1325,7 +1326,7 @@
     break;
 
   case 9:
-#line 196 "ast_expr2.y"
+#line 197 "ast_expr2.y"
     { (yyval.val) = op_lt ((yyvsp[-2].val), (yyvsp[0].val)); 
 						DESTROY((yyvsp[-1].val));	
 	                     (yyloc).first_column = (yylsp[-2]).first_column; (yyloc).last_column = (yylsp[0]).last_column; 
@@ -1333,7 +1334,7 @@
     break;
 
   case 10:
-#line 200 "ast_expr2.y"
+#line 201 "ast_expr2.y"
     { (yyval.val) = op_ge ((yyvsp[-2].val), (yyvsp[0].val)); 
 						DESTROY((yyvsp[-1].val));	
 	                      (yyloc).first_column = (yylsp[-2]).first_column; (yyloc).last_column = (yylsp[0]).last_column; 
@@ -1341,7 +1342,7 @@
     break;
 
   case 11:
-#line 204 "ast_expr2.y"
+#line 205 "ast_expr2.y"
     { (yyval.val) = op_le ((yyvsp[-2].val), (yyvsp[0].val)); 
 						DESTROY((yyvsp[-1].val));	
 	                      (yyloc).first_column = (yylsp[-2]).first_column; (yyloc).last_column = (yylsp[0]).last_column; 
@@ -1349,7 +1350,7 @@
     break;
 
   case 12:
-#line 208 "ast_expr2.y"
+#line 209 "ast_expr2.y"
     { (yyval.val) = op_ne ((yyvsp[-2].val), (yyvsp[0].val)); 
 						DESTROY((yyvsp[-1].val));	
 	                      (yyloc).first_column = (yylsp[-2]).first_column; (yyloc).last_column = (yylsp[0]).last_column; 
@@ -1357,7 +1358,7 @@
     break;
 
   case 13:
-#line 212 "ast_expr2.y"
+#line 213 "ast_expr2.y"
     { (yyval.val) = op_plus ((yyvsp[-2].val), (yyvsp[0].val)); 
 						DESTROY((yyvsp[-1].val));	
 	                       (yyloc).first_column = (yylsp[-2]).first_column; (yyloc).last_column = (yylsp[0]).last_column; 
@@ -1365,7 +1366,7 @@
     break;
 
   case 14:
-#line 216 "ast_expr2.y"
+#line 217 "ast_expr2.y"
     { (yyval.val) = op_minus ((yyvsp[-2].val), (yyvsp[0].val)); 
 						DESTROY((yyvsp[-1].val));	
 	                        (yyloc).first_column = (yylsp[-2]).first_column; (yyloc).last_column = (yylsp[0]).last_column; 
@@ -1373,7 +1374,7 @@
     break;
 
   case 15:
-#line 220 "ast_expr2.y"
+#line 221 "ast_expr2.y"
     { (yyval.val) = op_negate ((yyvsp[0].val)); 
 						DESTROY((yyvsp[-1].val));	
 	                        (yyloc).first_column = (yylsp[-1]).first_column; (yyloc).last_column = (yylsp[0]).last_column; 
@@ -1381,7 +1382,7 @@
     break;
 
   case 16:
-#line 224 "ast_expr2.y"
+#line 225 "ast_expr2.y"
     { (yyval.val) = op_compl ((yyvsp[0].val)); 
 						DESTROY((yyvsp[-1].val));	
 	                        (yyloc).first_column = (yylsp[-1]).first_column; (yyloc).last_column = (yylsp[0]).last_column; 
@@ -1389,7 +1390,7 @@
     break;
 
   case 17:
-#line 228 "ast_expr2.y"
+#line 229 "ast_expr2.y"
     { (yyval.val) = op_times ((yyvsp[-2].val), (yyvsp[0].val)); 
 						DESTROY((yyvsp[-1].val));	
 	                       (yyloc).first_column = (yylsp[-2]).first_column; (yyloc).last_column = (yylsp[0]).last_column; 
@@ -1397,7 +1398,7 @@
     break;
 
   case 18:
-#line 232 "ast_expr2.y"
+#line 233 "ast_expr2.y"
     { (yyval.val) = op_div ((yyvsp[-2].val), (yyvsp[0].val)); 
 						DESTROY((yyvsp[-1].val));	
 	                      (yyloc).first_column = (yylsp[-2]).first_column; (yyloc).last_column = (yylsp[0]).last_column; 
@@ -1405,7 +1406,7 @@
     break;
 
   case 19:
-#line 236 "ast_expr2.y"
+#line 237 "ast_expr2.y"
     { (yyval.val) = op_rem ((yyvsp[-2].val), (yyvsp[0].val)); 
 						DESTROY((yyvsp[-1].val));	
 	                      (yyloc).first_column = (yylsp[-2]).first_column; (yyloc).last_column = (yylsp[0]).last_column; 
@@ -1413,7 +1414,7 @@
     break;
 
   case 20:
-#line 240 "ast_expr2.y"
+#line 241 "ast_expr2.y"
     { (yyval.val) = op_colon ((yyvsp[-2].val), (yyvsp[0].val)); 
 						DESTROY((yyvsp[-1].val));	
 	                        (yyloc).first_column = (yylsp[-2]).first_column; (yyloc).last_column = (yylsp[0]).last_column; 
@@ -1421,7 +1422,7 @@
     break;
 
   case 21:
-#line 244 "ast_expr2.y"
+#line 245 "ast_expr2.y"
     { (yyval.val) = op_eqtilde ((yyvsp[-2].val), (yyvsp[0].val)); 
 						DESTROY((yyvsp[-1].val));	
 	                        (yyloc).first_column = (yylsp[-2]).first_column; (yyloc).last_column = (yylsp[0]).last_column; 
@@ -1429,7 +1430,7 @@
     break;
 
   case 22:
-#line 248 "ast_expr2.y"
+#line 249 "ast_expr2.y"
     { (yyval.val) = op_cond ((yyvsp[-4].val), (yyvsp[-2].val), (yyvsp[0].val)); 
 						DESTROY((yyvsp[-3].val));	
 						DESTROY((yyvsp[-1].val));	
@@ -1441,7 +1442,7 @@
     }
 
 /* Line 1037 of yacc.c.  */
-#line 1445 "ast_expr2.c"
+#line 1446 "ast_expr2.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -1676,7 +1677,7 @@
 }
 
 
-#line 255 "ast_expr2.y"
+#line 256 "ast_expr2.y"
 
 
 static struct val *
@@ -1847,11 +1848,41 @@
 
 int main(int argc,char **argv) {
 	char s[4096];
+	char out[4096];
+	FILE *infile;
 	
-	if (ast_expr(argv[1], s, sizeof(s)))
-		printf("=====%s======\n",s);
+	if( !argv[1] )
+		exit(20);
+	
+	if( access(argv[1],F_OK)== 0 )
+	{
+		int ret;
+		
+		infile = fopen(argv[1],"r");
+		if( !infile )
+		{
+			printf("Sorry, couldn't open %s for reading!\n", argv[1]);
+			exit(10);
+		}
+		while( fgets(s,sizeof(s),infile) )
+		{
+			if( s[strlen(s)-1] == '\n' )
+				s[strlen(s)-1] = 0;
+			
+			ret = ast_expr(s, out, sizeof(out));
+			printf("Expression: %s    Result: [%d] '%s'\n",
+				   s, ret, out);
+		}
+		fclose(infile);
+	}
 	else
-		printf("No result\n");
+	{
+		if (ast_expr(argv[1], s, sizeof(s)))
+			printf("=====%s======\n",s);
+		else
+			printf("No result\n");
+	}
+	
 }
 
 #endif

Modified: team/murf/bug_6072/ast_expr2.fl
URL: http://svn.digium.com/view/asterisk/team/murf/bug_6072/ast_expr2.fl?rev=8268&r1=8267&r2=8268&view=diff
==============================================================================
--- team/murf/bug_6072/ast_expr2.fl (original)
+++ team/murf/bug_6072/ast_expr2.fl Thu Jan 19 12:35:39 2006
@@ -1,4 +1,22 @@
 %{
+/*
+ * Asterisk -- An open source telephony toolkit.
+ *
+ * Copyright (C) 1999 - 2006, Digium, Inc.
+ *
+ * Mark Spencer <markster at digium.com>
+ *
+ * See http://www.asterisk.org for more information about
+ * the Asterisk project. Please do not directly contact
+ * any of the maintainers of this project for assistance;
+ * the project provides a web site, mailing lists and IRC
+ * channels for your use.
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License Version 2. See the LICENSE file
+ * at the top of the source tree.
+ */
+
 /*! \file
  *
  * \brief Dialplan Expression Parser
@@ -10,6 +28,7 @@
 #include <string.h>
 #include <locale.h>
 #include <ctype.h>
+#include <unistd.h>
 #if !defined(SOLARIS) && !defined(__CYGWIN__)
 #include <err.h>
 #else
@@ -65,6 +84,7 @@
 
 \|	{ SET_COLUMNS; SET_STRING; return TOK_OR;}
 \&	{ SET_COLUMNS; SET_STRING; return TOK_AND;}
+\=\~	{ SET_COLUMNS; SET_STRING; return TOK_EQTILDE;}
 \=	{ SET_COLUMNS; SET_STRING; return TOK_EQ;}
 \>	{ SET_COLUMNS; SET_STRING; return TOK_GT;}
 \<	{ SET_COLUMNS; SET_STRING; return TOK_LT;}
@@ -78,6 +98,7 @@
 \%	{ SET_COLUMNS; SET_STRING; return TOK_MOD;}
 \?	{ SET_COLUMNS; SET_STRING; return TOK_COND;}
 \:	{ SET_COLUMNS; SET_STRING; return TOK_COLON;}
+\~	{ SET_COLUMNS; SET_STRING; return TOK_COMPL;}
 \:\:	{ SET_COLUMNS; SET_STRING; return TOK_COLONCOLON;}
 \(	{ SET_COLUMNS; SET_STRING; return TOK_LP;}
 \)	{ SET_COLUMNS; SET_STRING; return TOK_RP;}
@@ -91,7 +112,7 @@
 [0-9]+		{   SET_COLUMNS;  /* the original behavior of the expression parser was to bring in numbers as a numeric string */
 				SET_NUMERIC_STRING;
 				return TOKEN;}
-[a-zA-Z0-9,.';\\_^%$#@!]+	{SET_COLUMNS; SET_STRING; return TOKEN;}
+[a-zA-Z0-9,.';\\_^$#@]+	{SET_COLUMNS; SET_STRING; return TOKEN;}
 
 <var>[^{}]*\}  {curlycount--; if(curlycount < 0){ BEGIN(trail);  yymore();} else {  yymore();}}
 <var>[^{}]*\{  {curlycount++; yymore();  }

Modified: team/murf/bug_6072/ast_expr2.h
URL: http://svn.digium.com/view/asterisk/team/murf/bug_6072/ast_expr2.h?rev=8268&r1=8267&r2=8268&view=diff
==============================================================================
--- team/murf/bug_6072/ast_expr2.h (original)
+++ team/murf/bug_6072/ast_expr2.h Thu Jan 19 12:35:39 2006
@@ -78,7 +78,7 @@
 
 
 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 142 "ast_expr2.y"
+#line 143 "ast_expr2.y"
 typedef union YYSTYPE {
 	struct val *val;
 } YYSTYPE;

Modified: team/murf/bug_6072/ast_expr2.y
URL: http://svn.digium.com/view/asterisk/team/murf/bug_6072/ast_expr2.y?rev=8268&r1=8267&r2=8268&view=diff
==============================================================================
--- team/murf/bug_6072/ast_expr2.y (original)
+++ team/murf/bug_6072/ast_expr2.y Thu Jan 19 12:35:39 2006
@@ -17,6 +17,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <locale.h>
+#include <unistd.h>
 #include <ctype.h>
 #if !defined(SOLARIS) && !defined(__CYGWIN__)
 #include <err.h>
@@ -422,11 +423,41 @@
 
 int main(int argc,char **argv) {
 	char s[4096];
+	char out[4096];
+	FILE *infile;
 	
-	if (ast_expr(argv[1], s, sizeof(s)))
-		printf("=====%s======\n",s);
+	if( !argv[1] )
+		exit(20);
+	
+	if( access(argv[1],F_OK)== 0 )
+	{
+		int ret;
+		
+		infile = fopen(argv[1],"r");
+		if( !infile )
+		{
+			printf("Sorry, couldn't open %s for reading!\n", argv[1]);
+			exit(10);
+		}
+		while( fgets(s,sizeof(s),infile) )
+		{
+			if( s[strlen(s)-1] == '\n' )
+				s[strlen(s)-1] = 0;
+			
+			ret = ast_expr(s, out, sizeof(out));
+			printf("Expression: %s    Result: [%d] '%s'\n",
+				   s, ret, out);
+		}
+		fclose(infile);
+	}
 	else
-		printf("No result\n");
+	{
+		if (ast_expr(argv[1], s, sizeof(s)))
+			printf("=====%s======\n",s);
+		else
+			printf("No result\n");
+	}
+	
 }
 
 #endif

Modified: team/murf/bug_6072/ast_expr2f.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug_6072/ast_expr2f.c?rev=8268&r1=8267&r2=8268&view=diff
==============================================================================
--- team/murf/bug_6072/ast_expr2f.c (original)
+++ team/murf/bug_6072/ast_expr2f.c Thu Jan 19 12:35:39 2006
@@ -360,7 +360,7 @@
        13,    8,   13,    8,   13,   13,    8,   13,   13,   13,
        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
-       13,   13,   13,    8,   29,    8,    8,    8
+       13,   13,   13,    8,   29,    8,   30,    8
     },
 
     {
@@ -377,77 +377,77 @@
        13,    8,   13,    8,   13,   13,    8,   13,   13,   13,
        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
-       13,   13,   13,    8,   29,    8,    8,    8
-    },
-
-    {
-        7,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   31,   30,   32,   30,   30
-    },
-
-    {
-        7,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
-       30,   30,   30,   31,   30,   32,   30,   30
-    },
-
-    {
-        7,   33,   33,   33,   33,   33,   33,   33,   33,   34,
-       34,   33,   33,   34,   33,   33,   33,   33,   33,   33,
-       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
-       33,   33,   34,   34,   33,   33,   35,   34,   34,   33,
-       34,   34,   34,   34,   33,   34,   33,   34,   33,   33,
-
-       33,   33,   33,   33,   33,   33,   33,   33,   34,   33,
-       34,   34,   34,   34,   33,   33,   33,   33,   33,   33,
-       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
-       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
-       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
-       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
-       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
-       33,   33,   33,   33,   34,   33,   33,   33
-    },
-
-    {
-        7,   33,   33,   33,   33,   33,   33,   33,   33,   34,
-       34,   33,   33,   34,   33,   33,   33,   33,   33,   33,
-
-       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
-       33,   33,   34,   34,   33,   33,   35,   34,   34,   33,
-       34,   34,   34,   34,   33,   34,   33,   34,   33,   33,
-       33,   33,   33,   33,   33,   33,   33,   33,   34,   33,
-       34,   34,   34,   34,   33,   33,   33,   33,   33,   33,
-       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
-       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
-       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
-       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
-       33,   33,   33,   33,   33,   33,   33,   33,   33,   33,
-
-       33,   33,   33,   33,   34,   33,   33,   33
+       13,   13,   13,    8,   29,    8,   30,    8
+    },
+
+    {
+        7,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   32,   31,   33,   31,   31
+    },
+
+    {
+        7,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   32,   31,   33,   31,   31
+    },
+
+    {
+        7,   34,   34,   34,   34,   34,   34,   34,   34,   35,
+       35,   34,   34,   35,   34,   34,   34,   34,   34,   34,
+       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
+       34,   34,   35,   35,   34,   34,   36,   35,   35,   34,
+       35,   35,   35,   35,   34,   35,   34,   35,   34,   34,
+
+       34,   34,   34,   34,   34,   34,   34,   34,   35,   34,
+       35,   35,   35,   35,   34,   34,   34,   34,   34,   34,
+       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
+       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
+       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
+       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
+       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
+       34,   34,   34,   34,   35,   34,   34,   34
+    },
+
+    {
+        7,   34,   34,   34,   34,   34,   34,   34,   34,   35,
+       35,   34,   34,   35,   34,   34,   34,   34,   34,   34,
+
+       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
+       34,   34,   35,   35,   34,   34,   36,   35,   35,   34,
+       35,   35,   35,   35,   34,   35,   34,   35,   34,   34,
+       34,   34,   34,   34,   34,   34,   34,   34,   35,   34,
+       35,   35,   35,   35,   34,   34,   34,   34,   34,   34,
+       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
+       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
+       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
+       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
+       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
+
+       34,   34,   34,   34,   35,   34,   34,   34
     },
 
     {
@@ -523,17 +523,17 @@
         7,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,   36,  -11,   36,   36,   36,  -11,   36,
-      -11,  -11,  -11,  -11,   36,  -11,   36,  -11,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,  -11,   36,
-      -11,   37,  -11,  -11,   36,   36,   36,   36,   36,   36,
-
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,  -11,   36,  -11,   36,   36,  -11,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,  -11,  -11,  -11,  -11,  -11
+      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
+      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
+      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
+      -11,   37,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
+
+      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
+      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
+      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
+      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
+      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
+      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11
     },
 
     {
@@ -558,51 +558,51 @@
 
       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,   36,  -13,   36,   36,   36,  -13,   36,
-      -13,  -13,  -13,  -13,   36,  -13,   36,  -13,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,  -13,   36,
-      -13,  -13,  -13,  -13,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,  -13,   36,  -13,   36,   36,  -13,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,  -13,  -13,  -13,  -13,  -13
+      -13,  -13,  -13,  -13,  -13,   40,   40,  -13,  -13,   40,
+      -13,  -13,  -13,  -13,   40,  -13,   40,  -13,   40,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,  -13,   40,
+      -13,  -13,  -13,  -13,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,  -13,   40,  -13,   40,   40,  -13,   40,   40,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,  -13,  -13,  -13,  -13,  -13
     },
 
     {
         7,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,   36,  -14,   36,   36,   36,  -14,   36,
-      -14,  -14,  -14,  -14,   36,  -14,   36,  -14,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,  -14,   36,
-      -14,  -14,  -14,  -14,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,  -14,   36,  -14,   36,   36,  -14,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   40,  -14,  -14,  -14,  -14
+      -14,  -14,  -14,  -14,  -14,   40,   40,  -14,  -14,   40,
+      -14,  -14,  -14,  -14,   40,  -14,   40,  -14,   40,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,  -14,   40,
+      -14,  -14,  -14,  -14,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,  -14,   40,  -14,   40,   40,  -14,   40,   40,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,   41,  -14,  -14,  -14,  -14
     },
 
     {
         7,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,   36,  -15,   36,   36,   36,  -15,   36,
-      -15,  -15,  -15,  -15,   36,  -15,   36,  -15,   36,   36,
-
-       36,   36,   36,   36,   36,   36,   36,   36,  -15,   36,
-      -15,  -15,  -15,  -15,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,  -15,   36,  -15,   36,   36,  -15,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,  -15,  -15,  -15,  -15,  -15
+      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
+      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
+
+      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
+      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
+      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
+      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
+      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
+      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
+      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
+      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15
     },
 
     {
@@ -731,17 +731,17 @@
 
       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,   36,  -23,   36,   36,   36,  -23,   36,
-      -23,  -23,  -23,  -23,   36,  -23,   36,  -23,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,  -23,   36,
-      -23,  -23,  -23,  -23,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,  -23,   36,  -23,   36,   36,  -23,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,  -23,  -23,  -23,  -23,  -23
+      -23,  -23,  -23,  -23,  -23,   40,   40,  -23,  -23,   40,
+      -23,  -23,  -23,  -23,   40,  -23,   40,  -23,   42,   42,
+       42,   42,   42,   42,   42,   42,   42,   42,  -23,   40,
+      -23,  -23,  -23,  -23,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,  -23,   40,  -23,   40,   40,  -23,   40,   40,   40,
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+
+       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
+       40,   40,   40,  -23,  -23,  -23,  -23,  -23
     },
 
     {
@@ -750,7 +750,7 @@
       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,   42,  -24,
+      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,   43,  -24,
       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
 
@@ -769,7 +769,7 @@
       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
 
       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,   43,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
+      -25,   44,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
@@ -793,7 +793,7 @@
       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
 
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26
+      -26,  -26,  -26,  -26,  -26,  -26,   45,  -26
     },
 
     {
@@ -803,7 +803,7 @@
       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,   44,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
+      -27,   46,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
 
@@ -849,37 +849,37 @@
     },
 
     {
-        7,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   46,   45,   47,   45,   45
-    },
-
-    {
-        7,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31
+        7,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
+      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
+      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
+      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
+      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
+      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
+      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
+      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
+      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
+      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
+
+      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
+      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
+      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30
+    },
+
+    {
+        7,   47,   47,   47,   47,   47,   47,   47,   47,   47,
+       47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
+       47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
+       47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
+       47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
+       47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
+       47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
+
+       47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
+       47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
+       47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
+       47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
+       47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
+       47,   47,   47,   48,   47,   49,   47,   47
     },
 
     {
@@ -900,38 +900,38 @@
     },
 
     {
-        7,   48,   48,   48,   48,   48,   48,   48,   48,  -33,
-
-      -33,   48,   48,  -33,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,  -33,  -33,   48,   48,  -33,  -33,  -33,   48,
-      -33,  -33,  -33,  -33,   48,  -33,   48,  -33,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,  -33,   48,
-      -33,  -33,  -33,  -33,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,  -33,   48,   48,   48
-    },
-
-    {
-        7,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34
+        7,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
+
+      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
+      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
+      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
+      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
+      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
+      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
+      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
+      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
+      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
+      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
+
+      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
+      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33
+    },
+
+    {
+        7,   50,   50,   50,   50,   50,   50,   50,   50,  -34,
+      -34,   50,   50,  -34,   50,   50,   50,   50,   50,   50,
+       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
+       50,   50,  -34,  -34,   50,   50,  -34,  -34,  -34,   50,
+      -34,  -34,  -34,  -34,   50,  -34,   50,  -34,   50,   50,
+       50,   50,   50,   50,   50,   50,   50,   50,  -34,   50,
+      -34,  -34,  -34,  -34,   50,   50,   50,   50,   50,   50,
+       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
+
+       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
+       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
+       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
+       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
+       50,   50,   50,   50,  -34,   50,   50,   50
     },
 
     {
@@ -948,7 +948,7 @@
       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
       -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,   49,  -35,  -35,  -35,  -35
+      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35
     },
 
     {
@@ -956,17 +956,17 @@
       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
 
       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,   36,  -36,   36,   36,   36,  -36,   36,
-      -36,  -36,  -36,  -36,   36,  -36,   36,  -36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,  -36,   36,
-      -36,  -36,  -36,  -36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,  -36,   36,  -36,   36,   36,  -36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-
-       36,   36,   36,  -36,  -36,  -36,  -36,  -36
+      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,

[... 744 lines stripped ...]


More information about the asterisk-commits mailing list