LCOV - code coverage report
Current view: top level - jenkins/02/workspace/oss.Equalizer.documentation/build_type/Debug/platform/cscsviz-vm/build/eq/server - parser.cpp (source / functions) Hit Total Coverage
Test: Equalizer Lines: 652 888 73.4 %
Date: 2016-09-29 05:02:09 Functions: 6 8 75.0 %

          Line data    Source code
       1             : 
       2             : /* A Bison parser, made by GNU Bison 2.4.1.  */
       3             : 
       4             : /* Skeleton implementation for Bison's Yacc-like parsers in C
       5             :    
       6             :       Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
       7             :    Free Software Foundation, Inc.
       8             :    
       9             :    This program is free software: you can redistribute it and/or modify
      10             :    it under the terms of the GNU General Public License as published by
      11             :    the Free Software Foundation, either version 3 of the License, or
      12             :    (at your option) any later version.
      13             :    
      14             :    This program is distributed in the hope that it will be useful,
      15             :    but WITHOUT ANY WARRANTY; without even the implied warranty of
      16             :    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      17             :    GNU General Public License for more details.
      18             :    
      19             :    You should have received a copy of the GNU General Public License
      20             :    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
      21             : 
      22             : /* As a special exception, you may create a larger work that contains
      23             :    part or all of the Bison parser skeleton and distribute that work
      24             :    under terms of your choice, so long as that work isn't itself a
      25             :    parser generator using the skeleton or a modified version thereof
      26             :    as a parser skeleton.  Alternatively, if you modify or redistribute
      27             :    the parser skeleton itself, you may (at your option) remove this
      28             :    special exception, which will cause the skeleton and the resulting
      29             :    Bison output files to be licensed under the GNU General Public
      30             :    License without this special exception.
      31             :    
      32             :    This special exception was added by the Free Software Foundation in
      33             :    version 2.2 of Bison.  */
      34             : 
      35             : /* C LALR(1) parser skeleton written by Richard Stallman, by
      36             :    simplifying the original so-called "semantic" parser.  */
      37             : 
      38             : /* All symbols defined below should begin with yy or YY, to avoid
      39             :    infringing on user name space.  This should be done even for local
      40             :    variables, as they might otherwise be expanded by user macros.
      41             :    There are some unavoidable exceptions within include files to
      42             :    define necessary library symbols; they are noted "INFRINGES ON
      43             :    USER NAME SPACE" below.  */
      44             : 
      45             : /* Identify Bison output.  */
      46             : #define YYBISON 1
      47             : 
      48             : /* Bison version.  */
      49             : #define YYBISON_VERSION "2.4.1"
      50             : 
      51             : /* Skeleton name.  */
      52             : #define YYSKELETON_NAME "yacc.c"
      53             : 
      54             : /* Pure parsers.  */
      55             : #define YYPURE 0
      56             : 
      57             : /* Push parsers.  */
      58             : #define YYPUSH 0
      59             : 
      60             : /* Pull parsers.  */
      61             : #define YYPULL 1
      62             : 
      63             : /* Using locations.  */
      64             : #define YYLSP_NEEDED 0
      65             : 
      66             : /* Substitute the variable and function names.  */
      67             : #define yyparse         eqLoader_parse
      68             : #define yylex           eqLoader_lex
      69             : #define yyerror         eqLoader_error
      70             : #define yylval          eqLoader_lval
      71             : #define yychar          eqLoader_char
      72             : #define yydebug         eqLoader_debug
      73             : #define yynerrs         eqLoader_nerrs
      74             : 
      75             : 
      76             : /* Copy the first part of user declarations.  */
      77             : 
      78             : 
      79             : #include "loader.h"
      80             : 
      81             : #include "canvas.h"
      82             : #include "channel.h"
      83             : #include "compound.h"
      84             : #include "equalizers/dfrEqualizer.h"
      85             : #include "equalizers/framerateEqualizer.h"
      86             : #include "equalizers/loadEqualizer.h"
      87             : #include "equalizers/treeEqualizer.h"
      88             : #include "equalizers/monitorEqualizer.h"
      89             : #include "equalizers/viewEqualizer.h"
      90             : #include "equalizers/tileEqualizer.h"
      91             : #include "frame.h"
      92             : #include "tileQueue.h"
      93             : #include "global.h"
      94             : #include "layout.h"
      95             : #include "node.h"
      96             : #include "observer.h"
      97             : #include "pipe.h"
      98             : #include "segment.h"
      99             : #include "server.h"
     100             : #include "view.h"
     101             : #include "window.h"
     102             : 
     103             : #include <eq/fabric/paths.h>
     104             : #include <lunchbox/os.h>
     105             : #include <lunchbox/file.h>
     106             : 
     107             : #include <locale.h>
     108             : #include <string>
     109             : 
     110             : #pragma warning(disable: 4065)
     111             : 
     112             :     namespace eq
     113             :     {
     114             :     namespace loader
     115             :     {
     116             :         static eq::server::Loader*      loader = 0;
     117          28 :         std::string filename;
     118             : 
     119          28 :         static eq::server::ServerPtr    server;
     120             :         static eq::server::Config*      config = 0;
     121             :         static eq::server::Node*        node = 0;
     122             :         static eq::server::Pipe*        eqPipe = 0; // avoid name clash
     123             :         static eq::server::Window*      window = 0;
     124             :         static eq::server::Channel*     channel = 0;
     125             :         static eq::server::Layout*      layout = 0;
     126             :         static eq::server::View*        view = 0;
     127             :         static eq::server::Canvas*      canvas = 0;
     128             :         static eq::server::Segment*     segment = 0;
     129             :         static eq::server::Observer*    observer = 0;
     130             :         static eq::server::Compound*    eqCompound = 0; // avoid name clash
     131             :         static eq::server::DFREqualizer* dfrEqualizer = 0;
     132             :         static eq::server::LoadEqualizer* loadEqualizer = 0;
     133             :         static eq::server::TreeEqualizer* treeEqualizer = 0;
     134             :         static eq::server::TileEqualizer* tileEqualizer = 0;
     135          28 :         static eq::server::SwapBarrierPtr swapBarrier;
     136             :         static eq::server::Frame*       frame = 0;
     137             :         static eq::server::TileQueue*   tileQueue = 0;
     138          28 :         static co::ConnectionDescriptionPtr connectionDescription;
     139          28 :         static eq::fabric::Wall         wall;
     140          28 :         static eq::fabric::Projection   projection;
     141             :         static uint32_t                 flags = 0;
     142             :     }
     143             :     }
     144             : 
     145             :     using namespace lunchbox;
     146             :     using namespace eq::loader;
     147             : 
     148             :     int eqLoader_lex();
     149             : 
     150             :     #define yylineno eqLoader_lineno
     151             :     void yyerror( const char *errmsg );
     152             :     extern char* yytext;
     153             :     extern FILE*       yyin;
     154             :     extern const char* yyinString;
     155             :     extern int yylineno;
     156             : 
     157             : 
     158             : 
     159             : /* Enabling traces.  */
     160             : #ifndef YYDEBUG
     161             : # define YYDEBUG 0
     162             : #endif
     163             : 
     164             : /* Enabling verbose error messages.  */
     165             : #ifdef YYERROR_VERBOSE
     166             : # undef YYERROR_VERBOSE
     167             : # define YYERROR_VERBOSE 1
     168             : #else
     169             : # define YYERROR_VERBOSE 0
     170             : #endif
     171             : 
     172             : /* Enabling the token table.  */
     173             : #ifndef YYTOKEN_TABLE
     174             : # define YYTOKEN_TABLE 0
     175             : #endif
     176             : 
     177             : 
     178             : /* Tokens.  */
     179             : #ifndef YYTOKENTYPE
     180             : # define YYTOKENTYPE
     181             :    /* Put the tokens into the symbol table, so that GDB and other debuggers
     182             :       know about them.  */
     183             :    enum yytokentype {
     184             :      EQTOKEN_HEADER = 258,
     185             :      EQTOKEN_ASCII = 259,
     186             :      EQTOKEN_GLOBAL = 260,
     187             :      EQTOKEN_CHANNEL_IATTR_HINT_STATISTICS = 261,
     188             :      EQTOKEN_CHANNEL_IATTR_HINT_SENDTOKEN = 262,
     189             :      EQTOKEN_CHANNEL_SATTR_DUMP_IMAGE = 263,
     190             :      EQTOKEN_COMPOUND_IATTR_STEREO_MODE = 264,
     191             :      EQTOKEN_COMPOUND_IATTR_STEREO_ANAGLYPH_LEFT_MASK = 265,
     192             :      EQTOKEN_COMPOUND_IATTR_STEREO_ANAGLYPH_RIGHT_MASK = 266,
     193             :      EQTOKEN_COMPOUND_IATTR_UPDATE_FOV = 267,
     194             :      EQTOKEN_CONNECTION_SATTR_FILENAME = 268,
     195             :      EQTOKEN_CONNECTION_SATTR_HOSTNAME = 269,
     196             :      EQTOKEN_CONNECTION_IATTR_BANDWIDTH = 270,
     197             :      EQTOKEN_CONNECTION_IATTR_TYPE = 271,
     198             :      EQTOKEN_CONNECTION_IATTR_PORT = 272,
     199             :      EQTOKEN_CONFIG_FATTR_EYE_BASE = 273,
     200             :      EQTOKEN_CONFIG_IATTR_ROBUSTNESS = 274,
     201             :      EQTOKEN_NODE_SATTR_LAUNCH_COMMAND = 275,
     202             :      EQTOKEN_NODE_CATTR_LAUNCH_COMMAND_QUOTE = 276,
     203             :      EQTOKEN_NODE_IATTR_THREAD_MODEL = 277,
     204             :      EQTOKEN_NODE_IATTR_HINT_AFFINITY = 278,
     205             :      EQTOKEN_NODE_IATTR_HINT_STATISTICS = 279,
     206             :      EQTOKEN_NODE_IATTR_LAUNCH_TIMEOUT = 280,
     207             :      EQTOKEN_PIPE_IATTR_HINT_THREAD = 281,
     208             :      EQTOKEN_PIPE_IATTR_HINT_AFFINITY = 282,
     209             :      EQTOKEN_VIEW_SATTR_DEFLECT_HOST = 283,
     210             :      EQTOKEN_WINDOW_IATTR_HINT_CORE_PROFILE = 284,
     211             :      EQTOKEN_WINDOW_IATTR_HINT_OPENGL_MAJOR = 285,
     212             :      EQTOKEN_WINDOW_IATTR_HINT_OPENGL_MINOR = 286,
     213             :      EQTOKEN_WINDOW_IATTR_HINT_STEREO = 287,
     214             :      EQTOKEN_WINDOW_IATTR_HINT_DOUBLEBUFFER = 288,
     215             :      EQTOKEN_WINDOW_IATTR_HINT_FULLSCREEN = 289,
     216             :      EQTOKEN_WINDOW_IATTR_HINT_DECORATION = 290,
     217             :      EQTOKEN_WINDOW_IATTR_HINT_SWAPSYNC = 291,
     218             :      EQTOKEN_WINDOW_IATTR_HINT_DRAWABLE = 292,
     219             :      EQTOKEN_WINDOW_IATTR_HINT_STATISTICS = 293,
     220             :      EQTOKEN_WINDOW_IATTR_HINT_SCREENSAVER = 294,
     221             :      EQTOKEN_WINDOW_IATTR_HINT_GRAB_POINTER = 295,
     222             :      EQTOKEN_WINDOW_IATTR_PLANES_ACCUM = 296,
     223             :      EQTOKEN_WINDOW_IATTR_PLANES_ACCUM_ALPHA = 297,
     224             :      EQTOKEN_WINDOW_IATTR_PLANES_ALPHA = 298,
     225             :      EQTOKEN_WINDOW_IATTR_PLANES_COLOR = 299,
     226             :      EQTOKEN_WINDOW_IATTR_PLANES_DEPTH = 300,
     227             :      EQTOKEN_WINDOW_IATTR_PLANES_SAMPLES = 301,
     228             :      EQTOKEN_WINDOW_IATTR_PLANES_STENCIL = 302,
     229             :      EQTOKEN_SERVER = 303,
     230             :      EQTOKEN_CONFIG = 304,
     231             :      EQTOKEN_APPNODE = 305,
     232             :      EQTOKEN_NODE = 306,
     233             :      EQTOKEN_PIPE = 307,
     234             :      EQTOKEN_WINDOW = 308,
     235             :      EQTOKEN_ATTRIBUTES = 309,
     236             :      EQTOKEN_HINT_CORE_PROFILE = 310,
     237             :      EQTOKEN_HINT_OPENGL_MAJOR = 311,
     238             :      EQTOKEN_HINT_OPENGL_MINOR = 312,
     239             :      EQTOKEN_HINT_STEREO = 313,
     240             :      EQTOKEN_HINT_DOUBLEBUFFER = 314,
     241             :      EQTOKEN_HINT_FULLSCREEN = 315,
     242             :      EQTOKEN_HINT_DECORATION = 316,
     243             :      EQTOKEN_HINT_STATISTICS = 317,
     244             :      EQTOKEN_HINT_SENDTOKEN = 318,
     245             :      EQTOKEN_HINT_SWAPSYNC = 319,
     246             :      EQTOKEN_HINT_DRAWABLE = 320,
     247             :      EQTOKEN_HINT_THREAD = 321,
     248             :      EQTOKEN_HINT_AFFINITY = 322,
     249             :      EQTOKEN_HINT_SCREENSAVER = 323,
     250             :      EQTOKEN_HINT_GRAB_POINTER = 324,
     251             :      EQTOKEN_PLANES_COLOR = 325,
     252             :      EQTOKEN_PLANES_ALPHA = 326,
     253             :      EQTOKEN_PLANES_DEPTH = 327,
     254             :      EQTOKEN_PLANES_STENCIL = 328,
     255             :      EQTOKEN_PLANES_ACCUM = 329,
     256             :      EQTOKEN_PLANES_ACCUM_ALPHA = 330,
     257             :      EQTOKEN_PLANES_SAMPLES = 331,
     258             :      EQTOKEN_ON = 332,
     259             :      EQTOKEN_OFF = 333,
     260             :      EQTOKEN_AUTO = 334,
     261             :      EQTOKEN_FASTEST = 335,
     262             :      EQTOKEN_NICEST = 336,
     263             :      EQTOKEN_QUAD = 337,
     264             :      EQTOKEN_ANAGLYPH = 338,
     265             :      EQTOKEN_PASSIVE = 339,
     266             :      EQTOKEN_RED = 340,
     267             :      EQTOKEN_GREEN = 341,
     268             :      EQTOKEN_BLUE = 342,
     269             :      EQTOKEN_HORIZONTAL = 343,
     270             :      EQTOKEN_VERTICAL = 344,
     271             :      EQTOKEN_FRAMERATE = 345,
     272             :      EQTOKEN_CHANNEL = 346,
     273             :      EQTOKEN_OBSERVER = 347,
     274             :      EQTOKEN_LAYOUT = 348,
     275             :      EQTOKEN_VIEW = 349,
     276             :      EQTOKEN_CANVAS = 350,
     277             :      EQTOKEN_SEGMENT = 351,
     278             :      EQTOKEN_COMPOUND = 352,
     279             :      EQTOKEN_DFREQUALIZER = 353,
     280             :      EQTOKEN_FRAMERATEEQUALIZER = 354,
     281             :      EQTOKEN_LOADEQUALIZER = 355,
     282             :      EQTOKEN_TREEEQUALIZER = 356,
     283             :      EQTOKEN_MONITOREQUALIZER = 357,
     284             :      EQTOKEN_VIEWEQUALIZER = 358,
     285             :      EQTOKEN_TILEEQUALIZER = 359,
     286             :      EQTOKEN_DAMPING = 360,
     287             :      EQTOKEN_CONNECTION = 361,
     288             :      EQTOKEN_NAME = 362,
     289             :      EQTOKEN_TYPE = 363,
     290             :      EQTOKEN_TCPIP = 364,
     291             :      EQTOKEN_RSP = 365,
     292             :      EQTOKEN_RDMA = 366,
     293             :      EQTOKEN_UDT = 367,
     294             :      EQTOKEN_TEXTURE = 368,
     295             :      EQTOKEN_MEMORY = 369,
     296             :      EQTOKEN_FIXED = 370,
     297             :      EQTOKEN_RELATIVE_TO_ORIGIN = 371,
     298             :      EQTOKEN_RELATIVE_TO_OBSERVER = 372,
     299             :      EQTOKEN_HMD = 373,
     300             :      EQTOKEN_HOST = 374,
     301             :      EQTOKEN_HOSTNAME = 375,
     302             :      EQTOKEN_INTERFACE = 376,
     303             :      EQTOKEN_LAUNCH_COMMAND = 377,
     304             :      EQTOKEN_LAUNCH_COMMAND_QUOTE = 378,
     305             :      EQTOKEN_LAUNCH_TIMEOUT = 379,
     306             :      EQTOKEN_PORT = 380,
     307             :      EQTOKEN_FILENAME = 381,
     308             :      EQTOKEN_TASK = 382,
     309             :      EQTOKEN_EYE = 383,
     310             :      EQTOKEN_EYE_BASE = 384,
     311             :      EQTOKEN_EYE_LEFT = 385,
     312             :      EQTOKEN_EYE_CYCLOP = 386,
     313             :      EQTOKEN_EYE_RIGHT = 387,
     314             :      EQTOKEN_FOCUS_DISTANCE = 388,
     315             :      EQTOKEN_FOCUS_MODE = 389,
     316             :      EQTOKEN_OPENCV_CAMERA = 390,
     317             :      EQTOKEN_VRPN_TRACKER = 391,
     318             :      EQTOKEN_ROBUSTNESS = 392,
     319             :      EQTOKEN_THREAD_MODEL = 393,
     320             :      EQTOKEN_ASYNC = 394,
     321             :      EQTOKEN_DRAW_SYNC = 395,
     322             :      EQTOKEN_LOCAL_SYNC = 396,
     323             :      EQTOKEN_BUFFER = 397,
     324             :      EQTOKEN_CLEAR = 398,
     325             :      EQTOKEN_DRAW = 399,
     326             :      EQTOKEN_ASSEMBLE = 400,
     327             :      EQTOKEN_READBACK = 401,
     328             :      EQTOKEN_COLOR = 402,
     329             :      EQTOKEN_DEPTH = 403,
     330             :      EQTOKEN_CYCLOP = 404,
     331             :      EQTOKEN_LEFT = 405,
     332             :      EQTOKEN_RIGHT = 406,
     333             :      EQTOKEN_VIEWPORT = 407,
     334             :      EQTOKEN_RANGE = 408,
     335             :      EQTOKEN_PERIOD = 409,
     336             :      EQTOKEN_PHASE = 410,
     337             :      EQTOKEN_PIXEL = 411,
     338             :      EQTOKEN_SUBPIXEL = 412,
     339             :      EQTOKEN_BANDWIDTH = 413,
     340             :      EQTOKEN_DEVICE = 414,
     341             :      EQTOKEN_WALL = 415,
     342             :      EQTOKEN_BOTTOM_LEFT = 416,
     343             :      EQTOKEN_BOTTOM_RIGHT = 417,
     344             :      EQTOKEN_TOP_LEFT = 418,
     345             :      EQTOKEN_PROJECTION = 419,
     346             :      EQTOKEN_ORIGIN = 420,
     347             :      EQTOKEN_DISTANCE = 421,
     348             :      EQTOKEN_FOV = 422,
     349             :      EQTOKEN_HPR = 423,
     350             :      EQTOKEN_LATENCY = 424,
     351             :      EQTOKEN_SWAPBARRIER = 425,
     352             :      EQTOKEN_NVGROUP = 426,
     353             :      EQTOKEN_NVBARRIER = 427,
     354             :      EQTOKEN_OUTPUTFRAME = 428,
     355             :      EQTOKEN_INPUTFRAME = 429,
     356             :      EQTOKEN_OUTPUTTILES = 430,
     357             :      EQTOKEN_INPUTTILES = 431,
     358             :      EQTOKEN_STEREO_MODE = 432,
     359             :      EQTOKEN_STEREO_ANAGLYPH_LEFT_MASK = 433,
     360             :      EQTOKEN_STEREO_ANAGLYPH_RIGHT_MASK = 434,
     361             :      EQTOKEN_UPDATE_FOV = 435,
     362             :      EQTOKEN_PBUFFER = 436,
     363             :      EQTOKEN_FBO = 437,
     364             :      EQTOKEN_RGBA16F = 438,
     365             :      EQTOKEN_RGBA32F = 439,
     366             :      EQTOKEN_MODE = 440,
     367             :      EQTOKEN_2D = 441,
     368             :      EQTOKEN_ASSEMBLE_ONLY_LIMIT = 442,
     369             :      EQTOKEN_DB = 443,
     370             :      EQTOKEN_BOUNDARY = 444,
     371             :      EQTOKEN_RESISTANCE = 445,
     372             :      EQTOKEN_ZOOM = 446,
     373             :      EQTOKEN_MONO = 447,
     374             :      EQTOKEN_STEREO = 448,
     375             :      EQTOKEN_STRING = 449,
     376             :      EQTOKEN_CHARACTER = 450,
     377             :      EQTOKEN_FLOAT = 451,
     378             :      EQTOKEN_INTEGER = 452,
     379             :      EQTOKEN_UNSIGNED = 453,
     380             :      EQTOKEN_SIZE = 454,
     381             :      EQTOKEN_CORE = 455,
     382             :      EQTOKEN_SOCKET = 456,
     383             :      EQTOKEN_DEFLECT_HOST = 457,
     384             :      EQTOKEN_DUMP_IMAGE = 458
     385             :    };
     386             : #endif
     387             : 
     388             : 
     389             : 
     390             : #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
     391             : typedef union YYSTYPE
     392             : {
     393             : 
     394             : 
     395             :     const char*             _string;
     396             :     char                    _character;
     397             :     int                     _int;
     398             :     unsigned                _unsigned;
     399             :     float                   _float;
     400             :     co::ConnectionType   _connectionType;
     401             :     eq::server::LoadEqualizer::Mode _loadEqualizerMode;
     402             :     eq::server::TreeEqualizer::Mode _treeEqualizerMode;
     403             :     float                   _viewport[4];
     404             : 
     405             : 
     406             : 
     407             : } YYSTYPE;
     408             : # define YYSTYPE_IS_TRIVIAL 1
     409             : # define yystype YYSTYPE /* obsolescent; will be withdrawn */
     410             : # define YYSTYPE_IS_DECLARED 1
     411             : #endif
     412             : 
     413             : 
     414             : /* Copy the second part of user declarations.  */
     415             : 
     416             : 
     417             : 
     418             : #ifdef short
     419             : # undef short
     420             : #endif
     421             : 
     422             : #ifdef YYTYPE_UINT8
     423             : typedef YYTYPE_UINT8 yytype_uint8;
     424             : #else
     425             : typedef unsigned char yytype_uint8;
     426             : #endif
     427             : 
     428             : #ifdef YYTYPE_INT8
     429             : typedef YYTYPE_INT8 yytype_int8;
     430             : #elif (defined __STDC__ || defined __C99__FUNC__ \
     431             :      || defined __cplusplus || defined _MSC_VER)
     432             : typedef signed char yytype_int8;
     433             : #else
     434             : typedef short int yytype_int8;
     435             : #endif
     436             : 
     437             : #ifdef YYTYPE_UINT16
     438             : typedef YYTYPE_UINT16 yytype_uint16;
     439             : #else
     440             : typedef unsigned short int yytype_uint16;
     441             : #endif
     442             : 
     443             : #ifdef YYTYPE_INT16
     444             : typedef YYTYPE_INT16 yytype_int16;
     445             : #else
     446             : typedef short int yytype_int16;
     447             : #endif
     448             : 
     449             : #ifndef YYSIZE_T
     450             : # ifdef __SIZE_TYPE__
     451             : #  define YYSIZE_T __SIZE_TYPE__
     452             : # elif defined size_t
     453             : #  define YYSIZE_T size_t
     454             : # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
     455             :      || defined __cplusplus || defined _MSC_VER)
     456             : #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
     457             : #  define YYSIZE_T size_t
     458             : # else
     459             : #  define YYSIZE_T unsigned int
     460             : # endif
     461             : #endif
     462             : 
     463             : #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
     464             : 
     465             : #ifndef YY_
     466             : # if YYENABLE_NLS
     467             : #  if ENABLE_NLS
     468             : #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
     469             : #   define YY_(msgid) dgettext ("bison-runtime", msgid)
     470             : #  endif
     471             : # endif
     472             : # ifndef YY_
     473             : #  define YY_(msgid) msgid
     474             : # endif
     475             : #endif
     476             : 
     477             : /* Suppress unused-variable warnings by "using" E.  */
     478             : #if ! defined lint || defined __GNUC__
     479             : # define YYUSE(e) ((void) (e))
     480             : #else
     481             : # define YYUSE(e) /* empty */
     482             : #endif
     483             : 
     484             : /* Identity function, used to suppress warnings about constant conditions.  */
     485             : #ifndef lint
     486             : # define YYID(n) (n)
     487             : #else
     488             : #if (defined __STDC__ || defined __C99__FUNC__ \
     489             :      || defined __cplusplus || defined _MSC_VER)
     490             : static int
     491             : YYID (int yyi)
     492             : #else
     493             : static int
     494             : YYID (yyi)
     495             :     int yyi;
     496             : #endif
     497             : {
     498             :   return yyi;
     499             : }
     500             : #endif
     501             : 
     502             : #if ! defined yyoverflow || YYERROR_VERBOSE
     503             : 
     504             : /* The parser invokes alloca or malloc; define the necessary symbols.  */
     505             : 
     506             : # ifdef YYSTACK_USE_ALLOCA
     507             : #  if YYSTACK_USE_ALLOCA
     508             : #   ifdef __GNUC__
     509             : #    define YYSTACK_ALLOC __builtin_alloca
     510             : #   elif defined __BUILTIN_VA_ARG_INCR
     511             : #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
     512             : #   elif defined _AIX
     513             : #    define YYSTACK_ALLOC __alloca
     514             : #   elif defined _MSC_VER
     515             : #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
     516             : #    define alloca _alloca
     517             : #   else
     518             : #    define YYSTACK_ALLOC alloca
     519             : #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
     520             :      || defined __cplusplus || defined _MSC_VER)
     521             : #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
     522             : #     ifndef _STDLIB_H
     523             : #      define _STDLIB_H 1
     524             : #     endif
     525             : #    endif
     526             : #   endif
     527             : #  endif
     528             : # endif
     529             : 
     530             : # ifdef YYSTACK_ALLOC
     531             :    /* Pacify GCC's `empty if-body' warning.  */
     532             : #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
     533             : #  ifndef YYSTACK_ALLOC_MAXIMUM
     534             :     /* The OS might guarantee only one guard page at the bottom of the stack,
     535             :        and a page size can be as small as 4096 bytes.  So we cannot safely
     536             :        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
     537             :        to allow for a few compiler-allocated temporary stack slots.  */
     538             : #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
     539             : #  endif
     540             : # else
     541             : #  define YYSTACK_ALLOC YYMALLOC
     542             : #  define YYSTACK_FREE YYFREE
     543             : #  ifndef YYSTACK_ALLOC_MAXIMUM
     544             : #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
     545             : #  endif
     546             : #  if (defined __cplusplus && ! defined _STDLIB_H \
     547             :        && ! ((defined YYMALLOC || defined malloc) \
     548             :              && (defined YYFREE || defined free)))
     549             : #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
     550             : #   ifndef _STDLIB_H
     551             : #    define _STDLIB_H 1
     552             : #   endif
     553             : #  endif
     554             : #  ifndef YYMALLOC
     555             : #   define YYMALLOC malloc
     556             : #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
     557             :      || defined __cplusplus || defined _MSC_VER)
     558             : void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
     559             : #   endif
     560             : #  endif
     561             : #  ifndef YYFREE
     562             : #   define YYFREE free
     563             : #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
     564             :      || defined __cplusplus || defined _MSC_VER)
     565             : void free (void *); /* INFRINGES ON USER NAME SPACE */
     566             : #   endif
     567             : #  endif
     568             : # endif
     569             : #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
     570             : 
     571             : 
     572             : #if (! defined yyoverflow \
     573             :      && (! defined __cplusplus \
     574             :          || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
     575             : 
     576             : /* A type that is properly aligned for any stack member.  */
     577             : union yyalloc
     578             : {
     579             :   yytype_int16 yyss_alloc;
     580             :   YYSTYPE yyvs_alloc;
     581             : };
     582             : 
     583             : /* The size of the maximum gap between one aligned stack and the next.  */
     584             : # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
     585             : 
     586             : /* The size of an array large to enough to hold all stacks, each with
     587             :    N elements.  */
     588             : # define YYSTACK_BYTES(N) \
     589             :      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
     590             :       + YYSTACK_GAP_MAXIMUM)
     591             : 
     592             : /* Copy COUNT objects from FROM to TO.  The source and destination do
     593             :    not overlap.  */
     594             : # ifndef YYCOPY
     595             : #  if defined __GNUC__ && 1 < __GNUC__
     596             : #   define YYCOPY(To, From, Count) \
     597             :       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
     598             : #  else
     599             : #   define YYCOPY(To, From, Count)              \
     600             :       do                                        \
     601             :         {                                       \
     602             :           YYSIZE_T yyi;                         \
     603             :           for (yyi = 0; yyi < (Count); yyi++)        \
     604             :             (To)[yyi] = (From)[yyi];            \
     605             :         }                                       \
     606             :       while (YYID (0))
     607             : #  endif
     608             : # endif
     609             : 
     610             : /* Relocate STACK from its old location to the new one.  The
     611             :    local variables YYSIZE and YYSTACKSIZE give the old and new number of
     612             :    elements in the stack, and YYPTR gives the new location of the
     613             :    stack.  Advance YYPTR to a properly aligned location for the next
     614             :    stack.  */
     615             : # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
     616             :     do                                                                  \
     617             :       {                                                                 \
     618             :         YYSIZE_T yynewbytes;                                            \
     619             :         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                     \
     620             :         Stack = &yyptr->Stack_alloc;                                     \
     621             :         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
     622             :         yyptr += yynewbytes / sizeof (*yyptr);                          \
     623             :       }                                                                 \
     624             :     while (YYID (0))
     625             : 
     626             : #endif
     627             : 
     628             : /* YYFINAL -- State number of the termination state.  */
     629             : #define YYFINAL  10
     630             : /* YYLAST -- Last index in YYTABLE.  */
     631             : #define YYLAST   1281
     632             : 
     633             : /* YYNTOKENS -- Number of terminals.  */
     634             : #define YYNTOKENS  210
     635             : /* YYNNTS -- Number of nonterminals.  */
     636             : #define YYNNTS  154
     637             : /* YYNRULES -- Number of rules.  */
     638             : #define YYNRULES  432
     639             : /* YYNRULES -- Number of states.  */
     640             : #define YYNSTATES  764
     641             : 
     642             : /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
     643             : #define YYUNDEFTOK  2
     644             : #define YYMAXUTOK   458
     645             : 
     646             : #define YYTRANSLATE(YYX)                                                \
     647             :   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
     648             : 
     649             : /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
     650             : static const yytype_uint8 yytranslate[] =
     651             : {
     652             :        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     653             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     654             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     655             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     656             :      208,   209,     2,     2,     2,     2,     2,     2,     2,     2,
     657             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     658             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     659             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     660             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     661             :        2,   206,     2,   207,     2,     2,     2,     2,     2,     2,
     662             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     663             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     664             :        2,     2,     2,   204,     2,   205,     2,     2,     2,     2,
     665             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     666             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     667             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     668             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     669             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     670             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     671             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     672             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     673             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     674             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     675             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     676             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     677             :        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
     678             :        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     679             :       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
     680             :       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
     681             :       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
     682             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
     683             :       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
     684             :       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
     685             :       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
     686             :       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
     687             :       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
     688             :      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
     689             :      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
     690             :      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
     691             :      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
     692             :      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
     693             :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
     694             :      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
     695             :      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
     696             :      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
     697             :      195,   196,   197,   198,   199,   200,   201,   202,   203
     698             : };
     699             : 
     700             : #if YYDEBUG
     701             : /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
     702             :    YYRHS.  */
     703             : static const yytype_uint16 yyprhs[] =
     704             : {
     705             :        0,     0,     3,     7,    11,    12,    16,    21,    22,    23,
     706             :       26,    29,    32,    35,    38,    41,    44,    47,    50,    53,
     707             :       56,    59,    62,    65,    68,    71,    74,    77,    80,    83,
     708             :       86,    89,    92,    95,    98,   101,   104,   107,   110,   113,
     709             :      116,   119,   122,   125,   128,   131,   134,   137,   140,   143,
     710             :      146,   149,   152,   154,   156,   158,   160,   162,   163,   170,
     711             :      171,   174,   175,   181,   183,   186,   187,   193,   194,   197,
     712             :      199,   202,   204,   206,   208,   210,   213,   218,   219,   222,
     713             :      225,   228,   230,   232,   233,   239,   240,   246,   247,   250,
     714             :      253,   256,   258,   260,   265,   266,   272,   273,   276,   279,
     715             :      282,   285,   288,   291,   294,   295,   298,   301,   304,   307,
     716             :      310,   313,   316,   317,   323,   324,   327,   329,   334,   337,
     717             :      340,   343,   346,   347,   350,   353,   356,   357,   363,   364,
     718             :      367,   369,   374,   377,   380,   381,   384,   387,   390,   393,
     719             :      396,   399,   402,   405,   408,   411,   414,   417,   420,   423,
     720             :      426,   429,   432,   435,   438,   441,   442,   448,   449,   452,
     721             :      455,   460,   463,   464,   467,   470,   473,   476,   477,   483,
     722             :      484,   487,   490,   493,   500,   507,   514,   517,   520,   523,
     723             :      526,   527,   533,   534,   537,   540,   542,   543,   549,   550,
     724             :      553,   558,   561,   562,   566,   569,   571,   573,   576,   579,
     725             :      581,   583,   584,   587,   590,   591,   597,   598,   601,   604,
     726             :      607,   609,   612,   615,   617,   619,   621,   622,   628,   629,
     727             :      632,   635,   638,   639,   645,   648,   650,   652,   654,   655,
     728             :      658,   660,   662,   664,   665,   671,   672,   675,   677,   680,
     729             :      683,   686,   687,   693,   694,   700,   701,   707,   710,   716,
     730             :      719,   722,   728,   736,   742,   744,   746,   748,   750,   752,
     731             :      754,   756,   758,   763,   764,   769,   770,   773,   776,   779,
     732             :      782,   785,   788,   791,   794,   797,   798,   801,   803,   805,
     733             :      807,   809,   810,   813,   815,   817,   819,   820,   823,   825,
     734             :      827,   828,   834,   835,   838,   845,   852,   859,   862,   864,
     735             :      866,   867,   873,   874,   877,   884,   887,   893,   900,   902,
     736             :      904,   906,   908,   910,   912,   914,   915,   921,   925,   926,
     737             :      932,   933,   939,   943,   947,   948,   954,   955,   958,   961,
     738             :      964,   965,   968,   971,   977,   980,   983,   986,   992,   995,
     739             :      997,   999,  1001,  1003,  1004,  1007,  1010,  1016,  1019,  1022,
     740             :     1028,  1031,  1033,  1035,  1037,  1039,  1040,  1043,  1046,  1052,
     741             :     1053,  1059,  1060,  1063,  1066,  1069,  1072,  1073,  1079,  1080,
     742             :     1086,  1087,  1090,  1093,  1096,  1099,  1100,  1106,  1112,  1114,
     743             :     1116,  1117,  1123,  1124,  1130,  1131,  1134,  1137,  1143,  1144,
     744             :     1147,  1150,  1153,  1156,  1159,  1166,  1170,  1171,  1173,  1176,
     745             :     1178,  1180,  1182,  1184,  1186,  1188,  1190,  1192,  1194,  1196,
     746             :     1198,  1200,  1202,  1204,  1206,  1208,  1210,  1212,  1214,  1216,
     747             :     1218,  1220,  1222,  1224,  1226,  1229,  1232,  1234,  1236,  1238,
     748             :     1240,  1242,  1244
     749             : };
     750             : 
     751             : /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
     752             : static const yytype_int16 yyrhs[] =
     753             : {
     754             :      211,     0,    -1,   212,   213,   216,    -1,   212,   213,   222,
     755             :       -1,    -1,     3,   361,     4,    -1,     5,   204,   214,   205,
     756             :       -1,    -1,    -1,   214,   213,    -1,    14,   359,    -1,    16,
     757             :      215,    -1,    17,   363,    -1,    13,   359,    -1,    15,   363,
     758             :       -1,    18,   361,    -1,    19,   358,    -1,    20,   359,    -1,
     759             :       21,   360,    -1,    22,   358,    -1,    23,   358,    -1,    25,
     760             :      363,    -1,    24,   358,    -1,    26,   358,    -1,    27,   358,
     761             :       -1,    29,   358,    -1,    30,   358,    -1,    31,   358,    -1,
     762             :       32,   358,    -1,    33,   358,    -1,    34,   358,    -1,    35,
     763             :      358,    -1,    36,   358,    -1,    37,   358,    -1,    38,   358,
     764             :       -1,    39,   358,    -1,    40,   358,    -1,    44,   358,    -1,
     765             :       43,   358,    -1,    45,   358,    -1,    47,   358,    -1,    41,
     766             :      358,    -1,    42,   358,    -1,    46,   358,    -1,     6,   358,
     767             :       -1,     7,   358,    -1,     9,   358,    -1,    10,   355,    -1,
     768             :       11,   355,    -1,    12,   358,    -1,     8,   359,    -1,    28,
     769             :      359,    -1,   109,    -1,    52,    -1,   110,    -1,   111,    -1,
     770             :      112,    -1,    -1,    48,   204,   217,   218,   221,   205,    -1,
     771             :       -1,   218,   219,    -1,    -1,   106,   204,   220,   237,   205,
     772             :       -1,   222,    -1,   221,   222,    -1,    -1,    49,   204,   223,
     773             :      224,   205,    -1,    -1,   224,   225,    -1,   228,    -1,   107,
     774             :      359,    -1,   259,    -1,   263,    -1,   275,    -1,   286,    -1,
     775             :      169,   363,    -1,    54,   204,   226,   205,    -1,    -1,   226,
     776             :      227,    -1,   129,   361,    -1,   137,   358,    -1,   231,    -1,
     777             :      229,    -1,    -1,    51,   204,   230,   233,   205,    -1,    -1,
     778             :       50,   204,   232,   233,   205,    -1,    -1,   233,   234,    -1,
     779             :      107,   359,    -1,   119,   359,    -1,   235,    -1,   241,    -1,
     780             :       54,   204,   239,   205,    -1,    -1,   106,   204,   236,   237,
     781             :      205,    -1,    -1,   237,   238,    -1,   108,   215,    -1,   120,
     782             :      359,    -1,   121,   359,    -1,   125,   363,    -1,   158,   363,
     783             :       -1,   126,   359,    -1,    -1,   239,   240,    -1,   122,   359,
     784             :       -1,   123,   360,    -1,   138,   358,    -1,   124,   358,    -1,
     785             :       62,   358,    -1,    67,   358,    -1,    -1,    52,   204,   242,
     786             :      243,   205,    -1,    -1,   243,   244,    -1,   247,    -1,    54,
     787             :      204,   245,   205,    -1,   107,   359,    -1,   125,   363,    -1,
     788             :      159,   363,    -1,   152,   354,    -1,    -1,   245,   246,    -1,
     789             :       66,   358,    -1,    67,   358,    -1,    -1,    53,   204,   248,
     790             :      249,   205,    -1,    -1,   249,   250,    -1,   253,    -1,    54,
     791             :      204,   251,   205,    -1,   107,   359,    -1,   152,   354,    -1,
     792             :       -1,   251,   252,    -1,    55,   358,    -1,    56,   358,    -1,
     793             :       57,   358,    -1,    58,   358,    -1,    59,   358,    -1,    60,
     794             :      358,    -1,    61,   358,    -1,    64,   358,    -1,    65,   358,
     795             :       -1,    62,   358,    -1,    68,   358,    -1,    69,   358,    -1,
     796             :       70,   358,    -1,    71,   358,    -1,    72,   358,    -1,    73,
     797             :      358,    -1,    74,   358,    -1,    75,   358,    -1,    76,   358,
     798             :       -1,    -1,    91,   204,   254,   255,   205,    -1,    -1,   255,
     799             :      256,    -1,   107,   359,    -1,    54,   204,   257,   205,    -1,
     800             :      152,   354,    -1,    -1,   257,   258,    -1,    62,   358,    -1,
     801             :       63,   358,    -1,   203,   359,    -1,    -1,    92,   204,   260,
     802             :      261,   205,    -1,    -1,   261,   262,    -1,   107,   359,    -1,
     803             :      129,   361,    -1,   130,   206,   361,   361,   361,   207,    -1,
     804             :      131,   206,   361,   361,   361,   207,    -1,   132,   206,   361,
     805             :      361,   361,   207,    -1,   133,   361,    -1,   134,   358,    -1,
     806             :      135,   358,    -1,   136,   359,    -1,    -1,    93,   204,   264,
     807             :      265,   205,    -1,    -1,   265,   266,    -1,   107,   359,    -1,
     808             :      267,    -1,    -1,    94,   204,   268,   269,   205,    -1,    -1,
     809             :      269,   270,    -1,    54,   204,   273,   205,    -1,   107,   359,
     810             :       -1,    -1,   185,   271,   272,    -1,   152,   354,    -1,   303,
     811             :       -1,   308,    -1,    92,   359,    -1,    92,   363,    -1,   192,
     812             :       -1,   193,    -1,    -1,   273,   274,    -1,   202,   359,    -1,
     813             :       -1,    95,   204,   276,   277,   205,    -1,    -1,   277,   278,
     814             :       -1,   107,   359,    -1,    93,   359,    -1,   334,    -1,    93,
     815             :      363,    -1,    93,    78,    -1,   303,    -1,   308,    -1,   279,
     816             :       -1,    -1,    96,   204,   280,   281,   205,    -1,    -1,   281,
     817             :      282,    -1,   107,   359,    -1,    91,   359,    -1,    -1,   128,
     818             :      206,   283,   284,   207,    -1,   152,   354,    -1,   334,    -1,
     819             :      303,    -1,   308,    -1,    -1,   284,   285,    -1,   149,    -1,
     820             :      150,    -1,   151,    -1,    -1,    97,   204,   287,   288,   205,
     821             :       -1,    -1,   288,   289,    -1,   286,    -1,   107,   359,    -1,
     822             :       91,   359,    -1,    91,   293,    -1,    -1,   127,   206,   290,
     823             :      297,   207,    -1,    -1,   128,   206,   291,   299,   207,    -1,
     824             :       -1,   142,   206,   292,   301,   207,    -1,   152,   354,    -1,
     825             :      153,   206,   361,   361,   207,    -1,   154,   363,    -1,   155,
     826             :      363,    -1,   191,   206,   361,   361,   207,    -1,   156,   206,
     827             :      363,   363,   363,   363,   207,    -1,   157,   206,   363,   363,
     828             :      207,    -1,   303,    -1,   308,    -1,   312,    -1,   334,    -1,
     829             :      338,    -1,   340,    -1,   346,    -1,   348,    -1,    54,   204,
     830             :      352,   205,    -1,    -1,   208,   294,   295,   209,    -1,    -1,
     831             :      295,   296,    -1,    95,   359,    -1,    95,   363,    -1,    96,
     832             :      359,    -1,    96,   363,    -1,    93,   359,    -1,    93,   363,
     833             :       -1,    94,   359,    -1,    94,   363,    -1,    -1,   297,   298,
     834             :       -1,   143,    -1,   144,    -1,   145,    -1,   146,    -1,    -1,
     835             :      299,   300,    -1,   149,    -1,   150,    -1,   151,    -1,    -1,
     836             :      301,   302,    -1,   147,    -1,   148,    -1,    -1,   160,   204,
     837             :      304,   305,   205,    -1,    -1,   305,   306,    -1,   161,   206,
     838             :      361,   361,   361,   207,    -1,   162,   206,   361,   361,   361,
     839             :      207,    -1,   163,   206,   361,   361,   361,   207,    -1,   108,
     840             :      307,    -1,   115,    -1,   118,    -1,    -1,   164,   204,   309,
     841             :      310,   205,    -1,    -1,   310,   311,    -1,   165,   206,   361,
     842             :      361,   361,   207,    -1,   166,   361,    -1,   167,   206,   361,
     843             :      361,   207,    -1,   168,   206,   361,   361,   361,   207,    -1,
     844             :      313,    -1,   315,    -1,   316,    -1,   318,    -1,   320,    -1,
     845             :      321,    -1,   322,    -1,    -1,    98,   204,   314,   324,   205,
     846             :       -1,    99,   204,   205,    -1,    -1,   100,   204,   317,   326,
     847             :      205,    -1,    -1,   101,   204,   319,   329,   205,    -1,   102,
     848             :      204,   205,    -1,   103,   204,   205,    -1,    -1,   104,   204,
     849             :      323,   332,   205,    -1,    -1,   324,   325,    -1,   105,   361,
     850             :       -1,    90,   361,    -1,    -1,   326,   327,    -1,   105,   361,
     851             :       -1,   189,   206,   363,   363,   207,    -1,   187,   361,    -1,
     852             :      189,   361,    -1,   185,   328,    -1,   190,   206,   363,   363,
     853             :      207,    -1,   190,   361,    -1,   186,    -1,   188,    -1,    88,
     854             :       -1,    89,    -1,    -1,   329,   330,    -1,   105,   361,    -1,
     855             :      189,   206,   363,   363,   207,    -1,   189,   361,    -1,   185,
     856             :      331,    -1,   190,   206,   363,   363,   207,    -1,   190,   361,
     857             :       -1,   186,    -1,   188,    -1,    88,    -1,    89,    -1,    -1,
     858             :      332,   333,    -1,   107,   359,    -1,   199,   206,   363,   363,
     859             :      207,    -1,    -1,   170,   204,   335,   336,   205,    -1,    -1,
     860             :      336,   337,    -1,   107,   359,    -1,   171,   358,    -1,   172,
     861             :      358,    -1,    -1,   173,   204,   339,   342,   205,    -1,    -1,
     862             :      174,   204,   341,   342,   205,    -1,    -1,   342,   343,    -1,
     863             :      107,   359,    -1,   108,   345,    -1,   152,   354,    -1,    -1,
     864             :      142,   206,   344,   301,   207,    -1,   191,   206,   361,   361,
     865             :      207,    -1,   113,    -1,   114,    -1,    -1,   175,   204,   347,
     866             :      350,   205,    -1,    -1,   176,   204,   349,   350,   205,    -1,
     867             :       -1,   350,   351,    -1,   107,   359,    -1,   199,   206,   363,
     868             :      363,   207,    -1,    -1,   352,   353,    -1,   177,   358,    -1,
     869             :      178,   355,    -1,   179,   355,    -1,   180,   358,    -1,   206,
     870             :      361,   361,   361,   361,   207,    -1,   206,   356,   207,    -1,
     871             :       -1,   357,    -1,   356,   357,    -1,    85,    -1,    86,    -1,
     872             :       87,    -1,    77,    -1,    78,    -1,    79,    -1,    80,    -1,
     873             :       88,    -1,    81,    -1,    82,    -1,    83,    -1,    84,    -1,
     874             :       89,    -1,    53,    -1,   182,    -1,   181,    -1,   139,    -1,
     875             :      140,    -1,   141,    -1,   183,    -1,   184,    -1,   115,    -1,
     876             :      116,    -1,   117,    -1,   362,    -1,   200,   362,    -1,   201,
     877             :      362,    -1,   194,    -1,   195,    -1,   196,    -1,   362,    -1,
     878             :      197,    -1,   363,    -1,   198,    -1
     879             : };
     880             : 
     881             : /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
     882             : static const yytype_uint16 yyrline[] =
     883             : {
     884             :        0,   326,   326,   326,   328,   328,   334,   335,   338,   338,
     885             :      341,   346,   351,   356,   361,   366,   371,   376,   381,   386,
     886             :      391,   396,   401,   406,   411,   416,   421,   426,   431,   436,
     887             :      441,   446,   451,   456,   461,   466,   471,   476,   481,   486,
     888             :      491,   496,   501,   506,   511,   516,   521,   526,   531,   536,
     889             :      541,   546,   553,   554,   555,   556,   557,   559,   559,   563,
     890             :      563,   565,   564,   576,   576,   578,   577,   585,   585,   587,
     891             :      588,   589,   590,   591,   592,   593,   594,   595,   595,   597,
     892             :      599,   602,   602,   603,   603,   609,   608,   615,   615,   617,
     893             :      618,   619,   620,   621,   624,   623,   630,   630,   632,   633,
     894             :      634,   635,   636,   637,   639,   639,   641,   643,   646,   648,
     895             :      650,   656,   661,   660,   666,   666,   668,   669,   670,   671,
     896             :      672,   673,   678,   678,   680,   682,   686,   685,   692,   692,
     897             :      694,   695,   696,   697,   706,   706,   708,   710,   712,   714,
     898             :      716,   718,   720,   722,   724,   726,   728,   730,   732,   734,
     899             :      736,   738,   740,   742,   744,   748,   747,   754,   754,   756,
     900             :      757,   758,   767,   767,   769,   772,   775,   778,   778,   780,
     901             :      780,   782,   783,   793,   798,   803,   808,   809,   811,   812,
     902             :      814,   814,   816,   816,   818,   819,   821,   821,   823,   823,
     903             :      825,   826,   827,   827,   829,   832,   833,   834,   845,   859,
     904             :      860,   862,   862,   864,   869,   869,   871,   871,   873,   874,
     905             :      885,   886,   898,   902,   903,   904,   906,   906,   908,   908,
     906             :      910,   911,   922,   922,   924,   927,   928,   929,   931,   931,
     907             :      933,   934,   935,   938,   937,   947,   947,   949,   950,   951,
     908             :      962,   986,   986,   988,   988,   990,   990,   992,   995,   997,
     909             :      998,   999,  1001,  1003,  1005,  1006,  1007,  1008,  1009,  1010,
     910             :     1011,  1012,  1013,  1016,  1016,  1024,  1024,  1026,  1036,  1046,
     911             :     1053,  1060,  1070,  1080,  1087,  1095,  1095,  1097,  1098,  1099,
     912             :     1100,  1102,  1102,  1104,  1105,  1106,  1108,  1108,  1110,  1111,
     913             :     1113,  1113,  1115,  1115,  1117,  1119,  1121,  1123,  1126,  1127,
     914             :     1129,  1129,  1132,  1132,  1134,  1136,  1138,  1140,  1143,  1143,
     915             :     1143,  1143,  1144,  1144,  1144,  1147,  1146,  1153,  1158,  1157,
     916             :     1165,  1164,  1171,  1175,  1180,  1179,  1187,  1187,  1189,  1190,
     917             :     1192,  1192,  1194,  1195,  1197,  1199,  1200,  1201,  1203,  1206,
     918             :     1207,  1208,  1209,  1211,  1211,  1213,  1214,  1216,  1217,  1218,
     919             :     1220,  1223,  1224,  1225,  1226,  1228,  1228,  1230,  1231,  1235,
     920             :     1235,  1238,  1238,  1239,  1240,  1241,  1245,  1245,  1251,  1251,
     921             :     1257,  1257,  1259,  1260,  1261,  1264,  1264,  1266,  1270,  1271,
     922             :     1273,  1273,  1279,  1279,  1285,  1285,  1287,  1288,  1291,  1291,
     923             :     1293,  1295,  1298,  1301,  1304,  1312,  1314,  1315,  1316,  1318,
     924             :     1319,  1320,  1323,  1324,  1325,  1326,  1327,  1328,  1329,  1330,
     925             :     1331,  1332,  1333,  1334,  1335,  1336,  1337,  1338,  1339,  1340,
     926             :     1341,  1342,  1343,  1344,  1345,  1346,  1348,  1357,  1359,  1360,
     927             :     1362,  1363,  1364
     928             : };
     929             : #endif
     930             : 
     931             : #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
     932             : /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
     933             :    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
     934             : static const char *const yytname[] =
     935             : {
     936             :   "$end", "error", "$undefined", "EQTOKEN_HEADER", "EQTOKEN_ASCII",
     937             :   "EQTOKEN_GLOBAL", "EQTOKEN_CHANNEL_IATTR_HINT_STATISTICS",
     938             :   "EQTOKEN_CHANNEL_IATTR_HINT_SENDTOKEN",
     939             :   "EQTOKEN_CHANNEL_SATTR_DUMP_IMAGE", "EQTOKEN_COMPOUND_IATTR_STEREO_MODE",
     940             :   "EQTOKEN_COMPOUND_IATTR_STEREO_ANAGLYPH_LEFT_MASK",
     941             :   "EQTOKEN_COMPOUND_IATTR_STEREO_ANAGLYPH_RIGHT_MASK",
     942             :   "EQTOKEN_COMPOUND_IATTR_UPDATE_FOV", "EQTOKEN_CONNECTION_SATTR_FILENAME",
     943             :   "EQTOKEN_CONNECTION_SATTR_HOSTNAME",
     944             :   "EQTOKEN_CONNECTION_IATTR_BANDWIDTH", "EQTOKEN_CONNECTION_IATTR_TYPE",
     945             :   "EQTOKEN_CONNECTION_IATTR_PORT", "EQTOKEN_CONFIG_FATTR_EYE_BASE",
     946             :   "EQTOKEN_CONFIG_IATTR_ROBUSTNESS", "EQTOKEN_NODE_SATTR_LAUNCH_COMMAND",
     947             :   "EQTOKEN_NODE_CATTR_LAUNCH_COMMAND_QUOTE",
     948             :   "EQTOKEN_NODE_IATTR_THREAD_MODEL", "EQTOKEN_NODE_IATTR_HINT_AFFINITY",
     949             :   "EQTOKEN_NODE_IATTR_HINT_STATISTICS",
     950             :   "EQTOKEN_NODE_IATTR_LAUNCH_TIMEOUT", "EQTOKEN_PIPE_IATTR_HINT_THREAD",
     951             :   "EQTOKEN_PIPE_IATTR_HINT_AFFINITY", "EQTOKEN_VIEW_SATTR_DEFLECT_HOST",
     952             :   "EQTOKEN_WINDOW_IATTR_HINT_CORE_PROFILE",
     953             :   "EQTOKEN_WINDOW_IATTR_HINT_OPENGL_MAJOR",
     954             :   "EQTOKEN_WINDOW_IATTR_HINT_OPENGL_MINOR",
     955             :   "EQTOKEN_WINDOW_IATTR_HINT_STEREO",
     956             :   "EQTOKEN_WINDOW_IATTR_HINT_DOUBLEBUFFER",
     957             :   "EQTOKEN_WINDOW_IATTR_HINT_FULLSCREEN",
     958             :   "EQTOKEN_WINDOW_IATTR_HINT_DECORATION",
     959             :   "EQTOKEN_WINDOW_IATTR_HINT_SWAPSYNC",
     960             :   "EQTOKEN_WINDOW_IATTR_HINT_DRAWABLE",
     961             :   "EQTOKEN_WINDOW_IATTR_HINT_STATISTICS",
     962             :   "EQTOKEN_WINDOW_IATTR_HINT_SCREENSAVER",
     963             :   "EQTOKEN_WINDOW_IATTR_HINT_GRAB_POINTER",
     964             :   "EQTOKEN_WINDOW_IATTR_PLANES_ACCUM",
     965             :   "EQTOKEN_WINDOW_IATTR_PLANES_ACCUM_ALPHA",
     966             :   "EQTOKEN_WINDOW_IATTR_PLANES_ALPHA", "EQTOKEN_WINDOW_IATTR_PLANES_COLOR",
     967             :   "EQTOKEN_WINDOW_IATTR_PLANES_DEPTH",
     968             :   "EQTOKEN_WINDOW_IATTR_PLANES_SAMPLES",
     969             :   "EQTOKEN_WINDOW_IATTR_PLANES_STENCIL", "EQTOKEN_SERVER",
     970             :   "EQTOKEN_CONFIG", "EQTOKEN_APPNODE", "EQTOKEN_NODE", "EQTOKEN_PIPE",
     971             :   "EQTOKEN_WINDOW", "EQTOKEN_ATTRIBUTES", "EQTOKEN_HINT_CORE_PROFILE",
     972             :   "EQTOKEN_HINT_OPENGL_MAJOR", "EQTOKEN_HINT_OPENGL_MINOR",
     973             :   "EQTOKEN_HINT_STEREO", "EQTOKEN_HINT_DOUBLEBUFFER",
     974             :   "EQTOKEN_HINT_FULLSCREEN", "EQTOKEN_HINT_DECORATION",
     975             :   "EQTOKEN_HINT_STATISTICS", "EQTOKEN_HINT_SENDTOKEN",
     976             :   "EQTOKEN_HINT_SWAPSYNC", "EQTOKEN_HINT_DRAWABLE", "EQTOKEN_HINT_THREAD",
     977             :   "EQTOKEN_HINT_AFFINITY", "EQTOKEN_HINT_SCREENSAVER",
     978             :   "EQTOKEN_HINT_GRAB_POINTER", "EQTOKEN_PLANES_COLOR",
     979             :   "EQTOKEN_PLANES_ALPHA", "EQTOKEN_PLANES_DEPTH", "EQTOKEN_PLANES_STENCIL",
     980             :   "EQTOKEN_PLANES_ACCUM", "EQTOKEN_PLANES_ACCUM_ALPHA",
     981             :   "EQTOKEN_PLANES_SAMPLES", "EQTOKEN_ON", "EQTOKEN_OFF", "EQTOKEN_AUTO",
     982             :   "EQTOKEN_FASTEST", "EQTOKEN_NICEST", "EQTOKEN_QUAD", "EQTOKEN_ANAGLYPH",
     983             :   "EQTOKEN_PASSIVE", "EQTOKEN_RED", "EQTOKEN_GREEN", "EQTOKEN_BLUE",
     984             :   "EQTOKEN_HORIZONTAL", "EQTOKEN_VERTICAL", "EQTOKEN_FRAMERATE",
     985             :   "EQTOKEN_CHANNEL", "EQTOKEN_OBSERVER", "EQTOKEN_LAYOUT", "EQTOKEN_VIEW",
     986             :   "EQTOKEN_CANVAS", "EQTOKEN_SEGMENT", "EQTOKEN_COMPOUND",
     987             :   "EQTOKEN_DFREQUALIZER", "EQTOKEN_FRAMERATEEQUALIZER",
     988             :   "EQTOKEN_LOADEQUALIZER", "EQTOKEN_TREEEQUALIZER",
     989             :   "EQTOKEN_MONITOREQUALIZER", "EQTOKEN_VIEWEQUALIZER",
     990             :   "EQTOKEN_TILEEQUALIZER", "EQTOKEN_DAMPING", "EQTOKEN_CONNECTION",
     991             :   "EQTOKEN_NAME", "EQTOKEN_TYPE", "EQTOKEN_TCPIP", "EQTOKEN_RSP",
     992             :   "EQTOKEN_RDMA", "EQTOKEN_UDT", "EQTOKEN_TEXTURE", "EQTOKEN_MEMORY",
     993             :   "EQTOKEN_FIXED", "EQTOKEN_RELATIVE_TO_ORIGIN",
     994             :   "EQTOKEN_RELATIVE_TO_OBSERVER", "EQTOKEN_HMD", "EQTOKEN_HOST",
     995             :   "EQTOKEN_HOSTNAME", "EQTOKEN_INTERFACE", "EQTOKEN_LAUNCH_COMMAND",
     996             :   "EQTOKEN_LAUNCH_COMMAND_QUOTE", "EQTOKEN_LAUNCH_TIMEOUT", "EQTOKEN_PORT",
     997             :   "EQTOKEN_FILENAME", "EQTOKEN_TASK", "EQTOKEN_EYE", "EQTOKEN_EYE_BASE",
     998             :   "EQTOKEN_EYE_LEFT", "EQTOKEN_EYE_CYCLOP", "EQTOKEN_EYE_RIGHT",
     999             :   "EQTOKEN_FOCUS_DISTANCE", "EQTOKEN_FOCUS_MODE", "EQTOKEN_OPENCV_CAMERA",
    1000             :   "EQTOKEN_VRPN_TRACKER", "EQTOKEN_ROBUSTNESS", "EQTOKEN_THREAD_MODEL",
    1001             :   "EQTOKEN_ASYNC", "EQTOKEN_DRAW_SYNC", "EQTOKEN_LOCAL_SYNC",
    1002             :   "EQTOKEN_BUFFER", "EQTOKEN_CLEAR", "EQTOKEN_DRAW", "EQTOKEN_ASSEMBLE",
    1003             :   "EQTOKEN_READBACK", "EQTOKEN_COLOR", "EQTOKEN_DEPTH", "EQTOKEN_CYCLOP",
    1004             :   "EQTOKEN_LEFT", "EQTOKEN_RIGHT", "EQTOKEN_VIEWPORT", "EQTOKEN_RANGE",
    1005             :   "EQTOKEN_PERIOD", "EQTOKEN_PHASE", "EQTOKEN_PIXEL", "EQTOKEN_SUBPIXEL",
    1006             :   "EQTOKEN_BANDWIDTH", "EQTOKEN_DEVICE", "EQTOKEN_WALL",
    1007             :   "EQTOKEN_BOTTOM_LEFT", "EQTOKEN_BOTTOM_RIGHT", "EQTOKEN_TOP_LEFT",
    1008             :   "EQTOKEN_PROJECTION", "EQTOKEN_ORIGIN", "EQTOKEN_DISTANCE",
    1009             :   "EQTOKEN_FOV", "EQTOKEN_HPR", "EQTOKEN_LATENCY", "EQTOKEN_SWAPBARRIER",
    1010             :   "EQTOKEN_NVGROUP", "EQTOKEN_NVBARRIER", "EQTOKEN_OUTPUTFRAME",
    1011             :   "EQTOKEN_INPUTFRAME", "EQTOKEN_OUTPUTTILES", "EQTOKEN_INPUTTILES",
    1012             :   "EQTOKEN_STEREO_MODE", "EQTOKEN_STEREO_ANAGLYPH_LEFT_MASK",
    1013             :   "EQTOKEN_STEREO_ANAGLYPH_RIGHT_MASK", "EQTOKEN_UPDATE_FOV",
    1014             :   "EQTOKEN_PBUFFER", "EQTOKEN_FBO", "EQTOKEN_RGBA16F", "EQTOKEN_RGBA32F",
    1015             :   "EQTOKEN_MODE", "EQTOKEN_2D", "EQTOKEN_ASSEMBLE_ONLY_LIMIT",
    1016             :   "EQTOKEN_DB", "EQTOKEN_BOUNDARY", "EQTOKEN_RESISTANCE", "EQTOKEN_ZOOM",
    1017             :   "EQTOKEN_MONO", "EQTOKEN_STEREO", "EQTOKEN_STRING", "EQTOKEN_CHARACTER",
    1018             :   "EQTOKEN_FLOAT", "EQTOKEN_INTEGER", "EQTOKEN_UNSIGNED", "EQTOKEN_SIZE",
    1019             :   "EQTOKEN_CORE", "EQTOKEN_SOCKET", "EQTOKEN_DEFLECT_HOST",
    1020             :   "EQTOKEN_DUMP_IMAGE", "'{'", "'}'", "'['", "']'", "'('", "')'",
    1021             :   "$accept", "file", "header", "global", "globals", "connectionType",
    1022             :   "server", "$@1", "serverConnections", "serverConnection", "$@2",
    1023             :   "configs", "config", "$@3", "configFields", "configField",
    1024             :   "configAttributes", "configAttribute", "node", "renderNode", "$@4",
    1025             :   "appNode", "$@5", "nodeFields", "nodeField", "connection", "$@6",
    1026             :   "connectionFields", "connectionField", "nodeAttributes", "nodeAttribute",
    1027             :   "pipe", "$@7", "pipeFields", "pipeField", "pipeAttributes",
    1028             :   "pipeAttribute", "window", "$@8", "windowFields", "windowField",
    1029             :   "windowAttributes", "windowAttribute", "channel", "$@9", "channelFields",
    1030             :   "channelField", "channelAttributes", "channelAttribute", "observer",
    1031             :   "$@10", "observerFields", "observerField", "layout", "$@11",
    1032             :   "layoutFields", "layoutField", "view", "$@12", "viewFields", "viewField",
    1033             :   "$@13", "viewMode", "viewAttributes", "viewAttribute", "canvas", "$@14",
    1034             :   "canvasFields", "canvasField", "segment", "$@15", "segmentFields",
    1035             :   "segmentField", "$@16", "segmentEyes", "segumentEye", "compound", "$@17",
    1036             :   "compoundFields", "compoundField", "$@18", "$@19", "$@20",
    1037             :   "viewSegmentRef", "$@21", "viewSegmentRefFields", "viewSegmentRefField",
    1038             :   "compoundTasks", "compoundTask", "compoundEyes", "compoundEye",
    1039             :   "buffers", "buffer", "wall", "$@22", "wallFields", "wallField",
    1040             :   "wallType", "projection", "$@23", "projectionFields", "projectionField",
    1041             :   "equalizer", "dfrEqualizer", "$@24", "framerateEqualizer",
    1042             :   "loadEqualizer", "$@25", "treeEqualizer", "$@26", "monitorEqualizer",
    1043             :   "viewEqualizer", "tileEqualizer", "$@27", "dfrEqualizerFields",
    1044             :   "dfrEqualizerField", "loadEqualizerFields", "loadEqualizerField",
    1045             :   "loadEqualizerMode", "treeEqualizerFields", "treeEqualizerField",
    1046             :   "treeEqualizerMode", "tileEqualizerFields", "tileEqualizerField",
    1047             :   "swapBarrier", "$@28", "swapBarrierFields", "swapBarrierField",
    1048             :   "outputFrame", "$@29", "inputFrame", "$@30", "frameFields", "frameField",
    1049             :   "$@31", "frameType", "outputTiles", "$@32", "inputTiles", "$@33",
    1050             :   "tileQueueFields", "tileQueueField", "compoundAttributes",
    1051             :   "compoundAttribute", "viewport", "colorMask", "colorMaskBits",
    1052             :   "colorMaskBit", "IATTR", "STRING", "CHARACTER", "FLOAT", "INTEGER",
    1053             :   "UNSIGNED", 0
    1054             : };
    1055             : #endif
    1056             : 
    1057             : # ifdef YYPRINT
    1058             : /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
    1059             :    token YYLEX-NUM.  */
    1060             : static const yytype_uint16 yytoknum[] =
    1061             : {
    1062             :        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
    1063             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
    1064             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
    1065             :      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
    1066             :      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
    1067             :      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
    1068             :      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
    1069             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
    1070             :      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
    1071             :      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
    1072             :      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
    1073             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
    1074             :      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
    1075             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
    1076             :      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
    1077             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
    1078             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
    1079             :      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    1080             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
    1081             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
    1082             :      455,   456,   457,   458,   123,   125,    91,    93,    40,    41
    1083             : };
    1084             : # endif
    1085             : 
    1086             : /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
    1087             : static const yytype_uint16 yyr1[] =
    1088             : {
    1089             :        0,   210,   211,   211,   212,   212,   213,   213,   214,   214,
    1090             :      213,   213,   213,   213,   213,   213,   213,   213,   213,   213,
    1091             :      213,   213,   213,   213,   213,   213,   213,   213,   213,   213,
    1092             :      213,   213,   213,   213,   213,   213,   213,   213,   213,   213,
    1093             :      213,   213,   213,   213,   213,   213,   213,   213,   213,   213,
    1094             :      213,   213,   215,   215,   215,   215,   215,   217,   216,   218,
    1095             :      218,   220,   219,   221,   221,   223,   222,   224,   224,   225,
    1096             :      225,   225,   225,   225,   225,   225,   225,   226,   226,   227,
    1097             :      227,   228,   228,   230,   229,   232,   231,   233,   233,   234,
    1098             :      234,   234,   234,   234,   236,   235,   237,   237,   238,   238,
    1099             :      238,   238,   238,   238,   239,   239,   240,   240,   240,   240,
    1100             :      240,   240,   242,   241,   243,   243,   244,   244,   244,   244,
    1101             :      244,   244,   245,   245,   246,   246,   248,   247,   249,   249,
    1102             :      250,   250,   250,   250,   251,   251,   252,   252,   252,   252,
    1103             :      252,   252,   252,   252,   252,   252,   252,   252,   252,   252,
    1104             :      252,   252,   252,   252,   252,   254,   253,   255,   255,   256,
    1105             :      256,   256,   257,   257,   258,   258,   258,   260,   259,   261,
    1106             :      261,   262,   262,   262,   262,   262,   262,   262,   262,   262,
    1107             :      264,   263,   265,   265,   266,   266,   268,   267,   269,   269,
    1108             :      270,   270,   271,   270,   270,   270,   270,   270,   270,   272,
    1109             :      272,   273,   273,   274,   276,   275,   277,   277,   278,   278,
    1110             :      278,   278,   278,   278,   278,   278,   280,   279,   281,   281,
    1111             :      282,   282,   283,   282,   282,   282,   282,   282,   284,   284,
    1112             :      285,   285,   285,   287,   286,   288,   288,   289,   289,   289,
    1113             :      289,   290,   289,   291,   289,   292,   289,   289,   289,   289,
    1114             :      289,   289,   289,   289,   289,   289,   289,   289,   289,   289,
    1115             :      289,   289,   289,   294,   293,   295,   295,   296,   296,   296,
    1116             :      296,   296,   296,   296,   296,   297,   297,   298,   298,   298,
    1117             :      298,   299,   299,   300,   300,   300,   301,   301,   302,   302,
    1118             :      304,   303,   305,   305,   306,   306,   306,   306,   307,   307,
    1119             :      309,   308,   310,   310,   311,   311,   311,   311,   312,   312,
    1120             :      312,   312,   312,   312,   312,   314,   313,   315,   317,   316,
    1121             :      319,   318,   320,   321,   323,   322,   324,   324,   325,   325,
    1122             :      326,   326,   327,   327,   327,   327,   327,   327,   327,   328,
    1123             :      328,   328,   328,   329,   329,   330,   330,   330,   330,   330,
    1124             :      330,   331,   331,   331,   331,   332,   332,   333,   333,   335,
    1125             :      334,   336,   336,   337,   337,   337,   339,   338,   341,   340,
    1126             :      342,   342,   343,   343,   343,   344,   343,   343,   345,   345,
    1127             :      347,   346,   349,   348,   350,   350,   351,   351,   352,   352,
    1128             :      353,   353,   353,   353,   354,   355,   356,   356,   356,   357,
    1129             :      357,   357,   358,   358,   358,   358,   358,   358,   358,   358,
    1130             :      358,   358,   358,   358,   358,   358,   358,   358,   358,   358,
    1131             :      358,   358,   358,   358,   358,   358,   359,   360,   361,   361,
    1132             :      362,   362,   363
    1133             : };
    1134             : 
    1135             : /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
    1136             : static const yytype_uint8 yyr2[] =
    1137             : {
    1138             :        0,     2,     3,     3,     0,     3,     4,     0,     0,     2,
    1139             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1140             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1141             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1142             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1143             :        2,     2,     1,     1,     1,     1,     1,     0,     6,     0,
    1144             :        2,     0,     5,     1,     2,     0,     5,     0,     2,     1,
    1145             :        2,     1,     1,     1,     1,     2,     4,     0,     2,     2,
    1146             :        2,     1,     1,     0,     5,     0,     5,     0,     2,     2,
    1147             :        2,     1,     1,     4,     0,     5,     0,     2,     2,     2,
    1148             :        2,     2,     2,     2,     0,     2,     2,     2,     2,     2,
    1149             :        2,     2,     0,     5,     0,     2,     1,     4,     2,     2,
    1150             :        2,     2,     0,     2,     2,     2,     0,     5,     0,     2,
    1151             :        1,     4,     2,     2,     0,     2,     2,     2,     2,     2,
    1152             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1153             :        2,     2,     2,     2,     2,     0,     5,     0,     2,     2,
    1154             :        4,     2,     0,     2,     2,     2,     2,     0,     5,     0,
    1155             :        2,     2,     2,     6,     6,     6,     2,     2,     2,     2,
    1156             :        0,     5,     0,     2,     2,     1,     0,     5,     0,     2,
    1157             :        4,     2,     0,     3,     2,     1,     1,     2,     2,     1,
    1158             :        1,     0,     2,     2,     0,     5,     0,     2,     2,     2,
    1159             :        1,     2,     2,     1,     1,     1,     0,     5,     0,     2,
    1160             :        2,     2,     0,     5,     2,     1,     1,     1,     0,     2,
    1161             :        1,     1,     1,     0,     5,     0,     2,     1,     2,     2,
    1162             :        2,     0,     5,     0,     5,     0,     5,     2,     5,     2,
    1163             :        2,     5,     7,     5,     1,     1,     1,     1,     1,     1,
    1164             :        1,     1,     4,     0,     4,     0,     2,     2,     2,     2,
    1165             :        2,     2,     2,     2,     2,     0,     2,     1,     1,     1,
    1166             :        1,     0,     2,     1,     1,     1,     0,     2,     1,     1,
    1167             :        0,     5,     0,     2,     6,     6,     6,     2,     1,     1,
    1168             :        0,     5,     0,     2,     6,     2,     5,     6,     1,     1,
    1169             :        1,     1,     1,     1,     1,     0,     5,     3,     0,     5,
    1170             :        0,     5,     3,     3,     0,     5,     0,     2,     2,     2,
    1171             :        0,     2,     2,     5,     2,     2,     2,     5,     2,     1,
    1172             :        1,     1,     1,     0,     2,     2,     5,     2,     2,     5,
    1173             :        2,     1,     1,     1,     1,     0,     2,     2,     5,     0,
    1174             :        5,     0,     2,     2,     2,     2,     0,     5,     0,     5,
    1175             :        0,     2,     2,     2,     2,     0,     5,     5,     1,     1,
    1176             :        0,     5,     0,     5,     0,     2,     2,     5,     0,     2,
    1177             :        2,     2,     2,     2,     6,     3,     0,     1,     2,     1,
    1178             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1179             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
    1180             :        1,     1,     1,     1,     2,     2,     1,     1,     1,     1,
    1181             :        1,     1,     1
    1182             : };
    1183             : 
    1184             : /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
    1185             :    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
    1186             :    means the default is an error.  */
    1187             : static const yytype_uint16 yydefact[] =
    1188             : {
    1189             :        4,     0,     0,     7,   428,   430,   432,     0,   429,   431,
    1190             :        1,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1191             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1192             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1193             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1194             :        0,     0,     0,     0,     0,     5,     8,   412,   402,   403,
    1195             :      404,   405,   407,   408,   409,   410,   406,   411,   420,   421,
    1196             :      422,   415,   416,   417,   414,   413,   418,   419,     0,     0,
    1197             :       44,   423,    45,   426,    50,    46,   396,    47,    48,    49,
    1198             :       13,    10,    14,    53,    52,    54,    55,    56,    11,    12,
    1199             :       15,    16,    17,   427,    18,    19,    20,    22,    21,    23,
    1200             :       24,    51,    25,    26,    27,    28,    29,    30,    31,    32,
    1201             :       33,    34,    35,    36,    41,    42,    38,    37,    39,    43,
    1202             :       40,     0,     0,     2,     3,     0,   424,   425,   399,   400,
    1203             :      401,     0,   397,    57,    65,     6,     9,   395,   398,    59,
    1204             :       67,     0,     0,     0,    60,     0,    63,     0,     0,     0,
    1205             :        0,     0,     0,     0,     0,     0,    66,    68,    69,    82,
    1206             :       81,    71,    72,    73,    74,    61,    58,    64,    85,    83,
    1207             :       77,   167,   180,   204,   233,    70,    75,    96,    87,    87,
    1208             :        0,   169,   182,   206,   235,     0,     0,     0,     0,     0,
    1209             :       76,    78,     0,     0,     0,     0,     0,     0,     0,     0,
    1210             :        0,     0,    62,    97,     0,     0,     0,     0,     0,    86,
    1211             :       88,    91,    92,    84,    79,    80,     0,     0,     0,     0,
    1212             :        0,     0,     0,     0,     0,   168,   170,     0,     0,   181,
    1213             :      183,   185,     0,     0,     0,     0,     0,     0,   205,   207,
    1214             :      215,   213,   214,   210,     0,     0,     0,     0,     0,     0,
    1215             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1216             :        0,     0,     0,     0,     0,     0,     0,     0,   234,   237,
    1217             :      236,   254,   255,   256,   308,   309,   310,   311,   312,   313,
    1218             :      314,   257,   258,   259,   260,   261,    98,    99,   100,   101,
    1219             :      103,   102,   112,   104,    94,    89,    90,   171,   172,     0,
    1220             :        0,     0,   176,   177,   178,   179,   186,   184,   212,   209,
    1221             :      211,   216,   208,   290,   300,   359,   388,   263,   240,   239,
    1222             :      315,     0,   318,   320,     0,     0,   324,   238,   241,   243,
    1223             :      245,     0,   247,     0,   249,   250,     0,     0,   366,   368,
    1224             :      380,   382,     0,   114,     0,    96,     0,     0,     0,   188,
    1225             :      218,   292,   302,   361,     0,   265,   326,   317,   330,   343,
    1226             :      322,   323,   355,   275,   281,   286,     0,     0,     0,     0,
    1227             :      370,   370,   384,   384,     0,     0,     0,     0,     0,     0,
    1228             :        0,     0,    93,   105,     0,     0,     0,     0,     0,     0,
    1229             :        0,     0,     0,     0,     0,     0,     0,   262,   389,     0,
    1230             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1231             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1232             :        0,     0,   113,   115,   116,   110,   111,   106,   107,   109,
    1233             :      108,    95,     0,     0,     0,     0,     0,     0,     0,   192,
    1234             :      187,   189,   195,   196,     0,     0,     0,     0,   217,   219,
    1235             :      226,   227,   225,     0,     0,     0,     0,   291,   293,     0,
    1236             :        0,     0,     0,   301,   303,     0,     0,     0,   360,   362,
    1237             :      390,   391,   392,   393,     0,     0,     0,     0,   264,   266,
    1238             :        0,     0,   316,   327,     0,     0,     0,     0,     0,   319,
    1239             :      331,     0,     0,     0,     0,   321,   344,     0,     0,   325,
    1240             :      356,   277,   278,   279,   280,   242,   276,   283,   284,   285,
    1241             :      244,   282,   288,   289,   246,   287,     0,   248,     0,   253,
    1242             :        0,     0,     0,     0,     0,   367,   371,   369,     0,     0,
    1243             :      381,   385,   383,   251,   126,   122,   118,   119,   121,   120,
    1244             :      173,   174,   175,   201,   197,   198,   191,   194,     0,   221,
    1245             :      220,   222,   224,   298,   299,   297,     0,     0,     0,     0,
    1246             :      305,     0,     0,   363,   364,   365,   271,   272,   273,   274,
    1247             :      267,   268,   269,   270,   329,   328,   332,   341,   342,   339,
    1248             :      340,   336,   334,     0,   335,     0,   338,   345,   353,   354,
    1249             :      351,   352,   348,     0,   347,     0,   350,   357,     0,     0,
    1250             :        0,   372,   378,   379,   373,   375,   374,     0,   386,     0,
    1251             :      128,     0,     0,   199,   200,   193,   228,     0,     0,     0,
    1252             :        0,     0,     0,     0,     0,     0,     0,     0,   394,   252,
    1253             :      286,     0,     0,     0,     0,     0,   117,   123,     0,   190,
    1254             :      202,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1255             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1256             :      127,   129,   130,   124,   125,   203,   230,   231,   232,   223,
    1257             :      229,     0,     0,     0,     0,   306,     0,   333,   337,   346,
    1258             :      349,   358,   376,   377,   387,   134,   155,   132,   133,   294,
    1259             :      295,   296,   304,   307,     0,   157,     0,     0,     0,     0,
    1260             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1261             :        0,     0,     0,     0,     0,   131,   135,     0,   136,   137,
    1262             :      138,   139,   140,   141,   142,   145,   143,   144,   146,   147,
    1263             :      148,   149,   150,   151,   152,   153,   154,     0,     0,     0,
    1264             :      156,   158,   162,   159,   161,     0,     0,     0,     0,   160,
    1265             :      163,   164,   165,   166
    1266             : };
    1267             : 
    1268             : /* YYDEFGOTO[NTERM-NUM].  */
    1269             : static const yytype_int16 yydefgoto[] =
    1270             : {
    1271             :       -1,     2,     3,    54,   135,    98,   133,   149,   151,   154,
    1272             :      187,   155,   134,   150,   152,   167,   190,   201,   168,   169,
    1273             :      189,   170,   188,   196,   220,   221,   355,   195,   213,   354,
    1274             :      393,   222,   353,   385,   433,   621,   647,   434,   620,   643,
    1275             :      671,   704,   726,   672,   705,   727,   751,   755,   760,   171,
    1276             :      191,   202,   236,   172,   192,   203,   240,   241,   359,   398,
    1277             :      451,   558,   625,   622,   650,   173,   193,   204,   249,   250,
    1278             :      360,   399,   459,   626,   651,   680,   174,   194,   205,   280,
    1279             :      373,   374,   375,   328,   365,   409,   489,   414,   516,   415,
    1280             :      521,   416,   525,   251,   361,   400,   468,   565,   252,   362,
    1281             :      401,   474,   283,   284,   366,   285,   286,   368,   287,   369,
    1282             :      288,   289,   290,   372,   410,   493,   411,   500,   591,   412,
    1283             :      506,   602,   413,   510,   253,   363,   402,   479,   292,   380,
    1284             :      293,   381,   421,   536,   640,   614,   294,   382,   295,   383,
    1285             :      423,   541,   364,   408,   342,    87,   141,   142,    80,    84,
    1286             :      104,     7,    81,     9
    1287             : };
    1288             : 
    1289             : /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    1290             :    STATE-NUM.  */
    1291             : #define YYPACT_NINF -390
    1292             : static const yytype_int16 yypact[] =
    1293             : {
    1294             :       62,   141,    94,  1190,  -390,  -390,  -390,   101,  -390,  -390,
    1295             :     -390,   -97,   719,   719,   -84,   719,   -89,   -89,   719,   -84,
    1296             :      -84,   -79,   256,   -79,   141,   719,   -84,   -71,   719,   719,
    1297             :      719,   -79,   719,   719,   -84,   719,   719,   719,   719,   719,
    1298             :      719,   719,   719,   719,   719,   719,   719,   719,   719,   719,
    1299             :      719,   719,   719,   719,    73,  -390,  -390,  -390,  -390,  -390,
    1300             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1301             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,   -65,   -65,
    1302             :     -390,  -390,  -390,  -390,  -390,  -390,   189,  -390,  -390,  -390,
    1303             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1304             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1305             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1306             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1307             :     -390,   -78,   -66,  -390,  -390,  1076,  -390,  -390,  -390,  -390,
    1308             :     -390,    -5,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1309             :     -390,    -2,   -41,   -64,  -390,   -42,  -390,   -62,   -35,   -33,
    1310             :      -28,   -25,   -15,    -9,   -84,   -79,  -390,  -390,  -390,  -390,
    1311             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1312             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1313             :       21,  -390,  -390,  -390,  -390,   171,    -4,     6,   141,   719,
    1314             :     -390,  -390,   223,   -23,    58,   244,   256,   -84,   -84,   -79,
    1315             :      -84,   -79,  -390,  -390,     0,    25,    28,   -84,   -84,  -390,
    1316             :     -390,  -390,  -390,  -390,  -390,  -390,   -84,   141,   -63,   -59,
    1317             :       15,   141,   719,   719,   -84,  -390,  -390,    30,   -84,  -390,
    1318             :     -390,  -390,   -57,    40,   -84,    44,    47,    50,  -390,  -390,
    1319             :     -390,  -390,  -390,  -390,    52,  -141,    55,    56,    77,    80,
    1320             :       81,    91,    95,   -84,    76,    82,   105,   106,   118,   -79,
    1321             :      -79,   119,   122,   127,   128,   130,   145,   144,  -390,  -390,
    1322             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1323             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1324             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,   141,
    1325             :      141,   141,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1326             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1327             :     -390,   -24,  -390,  -390,    19,    85,  -390,  -390,  -390,  -390,
    1328             :     -390,   141,  -390,   141,  -390,  -390,   -79,   -79,  -390,  -390,
    1329             :     -390,  -390,   141,  -390,     7,  -390,   141,   141,   141,  -390,
    1330             :     -390,  -390,  -390,  -390,   205,  -390,  -390,  -390,  -390,  -390,
    1331             :     -390,  -390,  -390,  -390,  -390,  -390,   141,   141,   -79,   -79,
    1332             :     -390,  -390,  -390,  -390,   141,     9,   719,   719,   -84,   -71,
    1333             :      719,   719,  -390,  -390,   301,   141,   141,   141,   -46,    20,
    1334             :       84,   266,    45,   719,   -89,   -89,   719,  -390,  -390,   -18,
    1335             :      -20,    18,   -12,   -11,   126,   -50,   -61,   141,   154,   -79,
    1336             :      155,   131,   135,    53,    63,   156,   160,   165,   -84,   -79,
    1337             :      106,   -79,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1338             :     -390,  -390,   163,   168,   172,   176,  -180,   -84,   106,  -390,
    1339             :     -390,  -390,  -390,  -390,   -84,   -84,   175,   106,  -390,  -390,
    1340             :     -390,  -390,  -390,   -27,   181,   185,   186,  -390,  -390,   188,
    1341             :      141,   197,   206,  -390,  -390,   -84,   719,   719,  -390,  -390,
    1342             :     -390,  -390,  -390,  -390,  -180,  -180,  -180,  -180,  -390,  -390,
    1343             :      141,   141,  -390,  -390,   141,    67,   141,   249,   260,  -390,
    1344             :     -390,   141,    78,   278,   289,  -390,  -390,   -84,   207,  -390,
    1345             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1346             :     -390,  -390,  -390,  -390,  -390,  -390,   141,  -390,   -79,  -390,
    1347             :      -84,    22,   209,   106,   210,  -390,  -390,  -390,   -84,   217,
    1348             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1349             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,    17,  -390,
    1350             :     -390,  -390,  -390,  -390,  -390,  -390,   141,   141,   141,   141,
    1351             :     -390,   141,   141,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1352             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1353             :     -390,  -390,  -390,   -79,  -390,   -79,  -390,  -390,  -390,  -390,
    1354             :     -390,  -390,  -390,   -79,  -390,   -79,  -390,  -390,   -79,   218,
    1355             :      222,  -390,  -390,  -390,  -390,  -390,  -390,   141,  -390,   -79,
    1356             :     -390,   -22,  -107,  -390,  -390,  -390,  -390,   141,   141,   141,
    1357             :      141,   141,   141,   -79,   -79,   -79,   -79,   -79,  -390,  -390,
    1358             :     -390,   141,   -79,     1,   719,   719,  -390,  -390,   -84,  -390,
    1359             :     -390,    86,   141,   141,   141,   141,   229,   141,   231,   233,
    1360             :      234,   235,   236,   -58,   237,   253,   191,   220,   -84,   106,
    1361             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1362             :     -390,   254,   255,   258,   261,  -390,   272,  -390,  -390,  -390,
    1363             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1364             :     -390,  -390,  -390,  -390,   245,  -390,   719,   719,   719,   719,
    1365             :      719,   719,   719,   719,   719,   719,   719,   719,   719,   719,
    1366             :      719,   719,   719,   719,   719,  -390,  -390,   -43,  -390,  -390,
    1367             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1368             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,   226,   -84,   106,
    1369             :     -390,  -390,  -390,  -390,  -390,    10,   719,   719,   -84,  -390,
    1370             :     -390,  -390,  -390,  -390
    1371             : };
    1372             : 
    1373             : /* YYPGOTO[NTERM-NUM].  */
    1374             : static const yytype_int16 yypgoto[] =
    1375             : {
    1376             :     -390,  -390,  -390,    92,  -390,   275,  -390,  -390,  -390,  -390,
    1377             :     -390,  -390,   -72,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1378             :     -390,  -390,  -390,   293,  -390,  -390,  -390,   112,  -390,  -390,
    1379             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1380             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1381             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1382             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1383             :     -390,  -390,  -390,  -390,  -390,  -390,   283,  -390,  -390,  -390,
    1384             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1385             :     -390,  -157,  -390,  -202,  -390,  -390,  -390,  -390,  -199,  -390,
    1386             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1387             :     -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1388             :     -390,  -390,  -390,  -390,  -201,  -390,  -390,  -390,  -390,  -390,
    1389             :     -390,  -390,   108,  -390,  -390,  -390,  -390,  -390,  -390,  -390,
    1390             :      107,  -390,  -390,  -390,  -389,   -16,  -390,   353,   -13,    23,
    1391             :      110,   378,    96,   552
    1392             : };
    1393             : 
    1394             : /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    1395             :    positive, shift that token.  If negative, reduce the rule which
    1396             :    number is the opposite.  If zero, do what YYDEFACT says.
    1397             :    If YYTABLE_NINF, syntax error.  */
    1398             : #define YYTABLE_NINF -1
    1399             : static const yytype_uint16 yytable[] =
    1400             : {
    1401             :       82,    88,    85,   281,   291,    89,   282,   132,   445,   157,
    1402             :      158,   747,   101,   159,    83,   105,   106,   107,     6,   109,
    1403             :      110,   318,   112,   113,   114,   115,   116,   117,   118,   119,
    1404             :      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
    1405             :      130,   548,    90,    91,   644,   645,   446,   132,   214,   102,
    1406             :      215,   160,   161,    83,   162,   666,   163,   111,   214,   557,
    1407             :      215,   447,   426,   427,   748,     1,   164,   327,   562,   386,
    1408             :      490,   237,   756,   757,   387,   484,   485,   486,   487,   156,
    1409             :      138,   139,   140,   177,   238,   491,   522,   523,   563,   522,
    1410             :      523,   564,   667,   501,    10,   648,   507,     8,   649,   517,
    1411             :      518,   519,   216,   217,   153,    55,   448,    56,   668,   749,
    1412             :       83,   454,   216,   217,   245,   218,   428,    86,   246,     6,
    1413             :        8,   131,   132,   494,   103,   218,   143,   455,   165,   388,
    1414             :      389,   390,     5,     6,   429,   612,   613,    83,   144,   449,
    1415             :      175,     6,   178,   309,   616,   391,   524,   310,   456,   692,
    1416             :      198,   242,   475,   669,   243,   587,   588,   520,   199,   450,
    1417             :      538,   430,   750,   176,   166,   244,   598,   599,   431,   179,
    1418             :      538,   180,   457,   502,   136,   137,   181,   503,   504,   182,
    1419             :      245,   367,   239,   646,   246,   492,   225,   185,   508,   183,
    1420             :      247,   488,   463,   505,   509,   184,   452,   460,   462,   453,
    1421             :      461,   219,   147,   495,   302,   496,   670,   497,   498,   623,
    1422             :      624,   223,   392,   758,   432,   759,   476,   477,   245,   313,
    1423             :      314,   311,   246,   499,   370,   458,   200,   146,   247,   303,
    1424             :      297,   298,   304,   300,   316,   676,   677,   678,   530,   531,
    1425             :      305,   306,   530,   531,   321,   464,   465,   466,   323,   307,
    1426             :      478,   324,   539,   589,   325,   590,   326,   315,   540,   330,
    1427             :      331,   317,   539,   248,   600,   319,   601,   322,   542,   511,
    1428             :      512,   513,   514,   532,   138,   139,   140,   532,   329,   206,
    1429             :      698,   332,   338,   533,   333,   334,   337,   533,   339,   467,
    1430             :      371,   207,   208,   679,     8,   335,   209,   210,   254,   336,
    1431             :      706,   707,   708,   709,   710,   711,   712,   713,    93,   714,
    1432             :      715,   340,   341,   716,   717,   718,   719,   720,   721,   722,
    1433             :      723,   724,   534,     8,   343,   346,   534,     8,   347,   211,
    1434             :      226,   348,   349,   515,   350,   255,   535,     4,     5,     6,
    1435             :      537,   163,   256,   257,   258,   259,   260,   261,   262,   351,
    1436             :      352,   263,   227,   228,   229,   230,   231,   232,   233,   234,
    1437             :      754,   527,   529,   543,   544,    94,    95,    96,    97,   545,
    1438             :      550,   264,   265,   435,   436,   551,   212,   439,   440,   552,
    1439             :      553,   561,   403,   404,   405,   406,   266,   566,   481,   482,
    1440             :      480,   567,   568,   483,   569,   695,   267,   268,   269,   270,
    1441             :      271,   272,   100,   571,   245,     8,     8,     8,   246,   206,
    1442             :      407,   437,   572,   608,   247,   615,   617,   273,   274,   275,
    1443             :      276,   207,   208,   619,   696,   638,   209,   210,   235,   639,
    1444             :      752,   469,   470,   471,   472,   277,   685,     8,   687,     8,
    1445             :      688,   689,   690,   691,   693,     4,     5,     6,     8,   278,
    1446             :      725,   546,     8,     8,     8,   593,     4,     5,     6,   211,
    1447             :      694,   699,   700,   574,   575,   701,   595,   394,   702,   554,
    1448             :      556,   473,     8,     8,     4,     5,     6,   559,   560,   703,
    1449             :        8,   296,   197,   663,   603,     4,     5,     6,   279,   422,
    1450             :      424,     8,     8,     8,   148,   605,     0,     0,   573,   438,
    1451             :        0,     0,     0,     0,     0,     0,   441,   576,   578,   580,
    1452             :      582,     0,     0,     8,     0,     0,     0,     0,     0,     0,
    1453             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1454             :      607,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1455             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1456             :        0,     0,     0,   611,     0,     0,     0,     0,     0,     0,
    1457             :        0,   618,     0,     0,     0,     0,     8,     0,     0,     0,
    1458             :        0,     0,     0,    92,     0,    99,   224,     0,     0,     0,
    1459             :        0,     0,     0,   108,     0,     0,     8,     8,     0,     0,
    1460             :        8,     0,     8,     8,     8,     0,     0,     8,     0,     8,
    1461             :        8,     0,     0,     0,     0,   308,     0,     0,     0,   312,
    1462             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1463             :        0,     0,     8,     0,     0,     0,     0,     0,     0,     0,
    1464             :        0,   673,   674,     0,     0,     0,     0,     0,     0,     0,
    1465             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1466             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1467             :        0,     0,     8,     8,     8,     8,     0,     8,     8,     0,
    1468             :        0,   675,     0,     0,     0,     0,     0,     0,     0,     0,
    1469             :        0,     0,     0,     0,     0,     0,     0,   356,   357,   358,
    1470             :        0,   697,     0,   728,   729,   730,   731,   732,   733,   734,
    1471             :      735,   736,   737,   738,   739,   740,   741,   742,   743,   744,
    1472             :      745,   746,     0,     8,     0,     0,     0,   186,     0,   376,
    1473             :        0,   377,     0,     8,     8,     8,     8,     8,     8,     0,
    1474             :      384,     0,     0,     0,   395,   396,   397,     8,     0,     0,
    1475             :        0,     0,     0,   761,   762,     0,     0,     0,     8,     8,
    1476             :        8,     8,     0,     8,   417,   418,     0,     0,     0,     0,
    1477             :        0,   299,   425,   301,     0,     0,     0,     0,     0,     0,
    1478             :        0,   753,    57,   442,   443,   444,     0,     0,     0,     0,
    1479             :        0,   763,     0,     0,     0,     0,     0,     0,     0,     0,
    1480             :        0,     0,     0,     0,   320,   526,    58,    59,    60,    61,
    1481             :       62,    63,    64,    65,     0,     0,     0,    66,    67,     0,
    1482             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1483             :        0,   344,   345,     0,     0,     0,     0,     0,     0,     0,
    1484             :        0,     0,     0,     0,    68,    69,    70,     0,     0,     0,
    1485             :        0,     0,     0,     0,     0,     0,     0,     0,   570,     0,
    1486             :        0,     0,     0,     0,     0,     0,     0,     0,    71,    72,
    1487             :       73,     0,     0,     0,     0,     0,     0,     0,   584,   585,
    1488             :        0,     0,   586,     0,   592,   594,   596,     0,     0,   597,
    1489             :        0,   604,   606,     0,     0,     0,     0,     0,     0,     0,
    1490             :        0,     0,     0,     0,     0,     0,     0,     0,   378,   379,
    1491             :       74,    75,    76,    77,   609,     0,     0,     0,     0,     0,
    1492             :        0,     0,     0,     0,     0,     0,     5,     6,     0,    78,
    1493             :       79,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1494             :      419,   420,     0,     0,     0,     0,     0,     0,     0,     0,
    1495             :        0,     0,     0,     0,   627,   628,   629,   630,     0,   631,
    1496             :      632,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1497             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1498             :        0,   528,     0,     0,     0,     0,     0,     0,     0,     0,
    1499             :        0,   547,     0,   549,     0,     0,     0,     0,     0,     0,
    1500             :        0,     0,     0,     0,     0,   641,     0,     0,   555,     0,
    1501             :        0,     0,     0,     0,     0,   652,   653,   654,   655,   656,
    1502             :      657,     0,     0,     0,     0,     0,     0,     0,     0,   664,
    1503             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1504             :      681,   682,   683,   684,     0,   686,   577,   579,   581,   583,
    1505             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1506             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1507             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1508             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1509             :      610,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    1510             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    1511             :       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
    1512             :       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
    1513             :       50,    51,    52,    53,     0,     0,     0,     0,     0,     0,
    1514             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1515             :        0,     0,     0,     0,     0,   633,     0,   634,     0,     0,
    1516             :        0,     0,     0,     0,     0,   635,     0,   636,     0,     0,
    1517             :      637,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1518             :        0,   642,     0,     0,     0,     0,     0,     0,     0,     0,
    1519             :        0,     0,     0,     0,     0,   658,   659,   660,   661,   662,
    1520             :        0,     0,     0,     0,   665,    11,    12,    13,    14,    15,
    1521             :       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
    1522             :       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
    1523             :       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
    1524             :       46,    47,    48,    49,    50,    51,    52,    53,     0,     0,
    1525             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1526             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1527             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1528             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1529             :        0,   145
    1530             : };
    1531             : 
    1532             : static const yytype_int16 yycheck[] =
    1533             : {
    1534             :       13,    17,    15,   205,   205,    18,   205,    49,    54,    50,
    1535             :       51,    54,    25,    54,   194,    28,    29,    30,   198,    32,
    1536             :       33,    78,    35,    36,    37,    38,    39,    40,    41,    42,
    1537             :       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
    1538             :       53,   430,    19,    20,    66,    67,    92,    49,    52,    26,
    1539             :       54,    92,    93,   194,    95,    54,    97,    34,    52,   448,
    1540             :       54,   107,    53,    54,   107,     3,   107,   208,   457,    62,
    1541             :       90,    94,    62,    63,    67,    93,    94,    95,    96,   151,
    1542             :       85,    86,    87,   155,   107,   105,   147,   148,   115,   147,
    1543             :      148,   118,    91,   105,     0,   202,   107,     1,   205,   149,
    1544             :      150,   151,   106,   107,   106,     4,   152,   204,   107,   152,
    1545             :      194,    91,   106,   107,   160,   119,   107,   206,   164,   198,
    1546             :       24,    48,    49,   105,   195,   119,   204,   107,   169,   122,
    1547             :      123,   124,   197,   198,   125,   113,   114,   194,   204,   185,
    1548             :      204,   198,   204,   206,   533,   138,   207,   206,   128,   207,
    1549             :      129,    93,   107,   152,    96,    88,    89,   207,   137,   205,
    1550             :      107,   152,   205,   205,   205,   107,    88,    89,   159,   204,
    1551             :      107,   204,   152,   185,    78,    79,   204,   189,   190,   204,
    1552             :      160,   205,   205,   205,   164,   205,   199,   164,   199,   204,
    1553             :      170,   209,   108,   205,   205,   204,   398,   399,   399,   398,
    1554             :      399,   205,   207,   185,   204,   187,   205,   189,   190,   192,
    1555             :      193,   205,   205,   203,   205,   205,   171,   172,   160,   232,
    1556             :      233,   206,   164,   205,   205,   205,   205,   135,   170,   204,
    1557             :      207,   208,   204,   210,   204,   149,   150,   151,   107,   108,
    1558             :      217,   218,   107,   108,   204,   161,   162,   163,   204,   226,
    1559             :      205,   204,   199,   186,   204,   188,   204,   234,   205,   204,
    1560             :      204,   238,   199,   205,   186,   242,   188,   244,   205,   143,
    1561             :      144,   145,   146,   142,    85,    86,    87,   142,   255,   108,
    1562             :      669,   204,   206,   152,   204,   204,   263,   152,   206,   205,
    1563             :      205,   120,   121,   207,   198,   204,   125,   126,    54,   204,
    1564             :       55,    56,    57,    58,    59,    60,    61,    62,    52,    64,
    1565             :       65,   206,   206,    68,    69,    70,    71,    72,    73,    74,
    1566             :       75,    76,   191,   227,   206,   206,   191,   231,   206,   158,
    1567             :      107,   204,   204,   207,   204,    91,   205,   196,   197,   198,
    1568             :      205,    97,    98,    99,   100,   101,   102,   103,   104,   204,
    1569             :      206,   107,   129,   130,   131,   132,   133,   134,   135,   136,
    1570             :      749,   207,   207,   207,   204,   109,   110,   111,   112,   204,
    1571             :      207,   127,   128,   386,   387,   207,   205,   390,   391,   207,
    1572             :      204,   206,   177,   178,   179,   180,   142,   206,   404,   405,
    1573             :      403,   206,   206,   406,   206,   204,   152,   153,   154,   155,
    1574             :      156,   157,    24,   206,   160,   309,   310,   311,   164,   108,
    1575             :      205,   388,   206,   206,   170,   206,   206,   173,   174,   175,
    1576             :      176,   120,   121,   206,   204,   207,   125,   126,   205,   207,
    1577             :      204,   165,   166,   167,   168,   191,   207,   341,   207,   343,
    1578             :      207,   207,   207,   207,   207,   196,   197,   198,   352,   205,
    1579             :      205,   428,   356,   357,   358,   206,   196,   197,   198,   158,
    1580             :      207,   207,   207,   476,   477,   207,   206,   355,   207,   446,
    1581             :      447,   205,   376,   377,   196,   197,   198,   454,   455,   207,
    1582             :      384,   206,   189,   640,   206,   196,   197,   198,   205,   381,
    1583             :      383,   395,   396,   397,   141,   206,    -1,    -1,   475,   389,
    1584             :       -1,    -1,    -1,    -1,    -1,    -1,   205,   484,   485,   486,
    1585             :      487,    -1,    -1,   417,    -1,    -1,    -1,    -1,    -1,    -1,
    1586             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1587             :      507,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1588             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1589             :       -1,    -1,    -1,   530,    -1,    -1,    -1,    -1,    -1,    -1,
    1590             :       -1,   538,    -1,    -1,    -1,    -1,   470,    -1,    -1,    -1,
    1591             :       -1,    -1,    -1,    21,    -1,    23,   198,    -1,    -1,    -1,
    1592             :       -1,    -1,    -1,    31,    -1,    -1,   490,   491,    -1,    -1,
    1593             :      494,    -1,   496,   497,   498,    -1,    -1,   501,    -1,   503,
    1594             :      504,    -1,    -1,    -1,    -1,   227,    -1,    -1,    -1,   231,
    1595             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1596             :       -1,    -1,   526,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1597             :       -1,   644,   645,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1598             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1599             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1600             :       -1,    -1,   566,   567,   568,   569,    -1,   571,   572,    -1,
    1601             :       -1,   648,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1602             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   309,   310,   311,
    1603             :       -1,   668,    -1,   706,   707,   708,   709,   710,   711,   712,
    1604             :      713,   714,   715,   716,   717,   718,   719,   720,   721,   722,
    1605             :      723,   724,    -1,   617,    -1,    -1,    -1,   165,    -1,   341,
    1606             :       -1,   343,    -1,   627,   628,   629,   630,   631,   632,    -1,
    1607             :      352,    -1,    -1,    -1,   356,   357,   358,   641,    -1,    -1,
    1608             :       -1,    -1,    -1,   756,   757,    -1,    -1,    -1,   652,   653,
    1609             :      654,   655,    -1,   657,   376,   377,    -1,    -1,    -1,    -1,
    1610             :       -1,   209,   384,   211,    -1,    -1,    -1,    -1,    -1,    -1,
    1611             :       -1,   748,    53,   395,   396,   397,    -1,    -1,    -1,    -1,
    1612             :       -1,   758,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1613             :       -1,    -1,    -1,    -1,   242,   417,    77,    78,    79,    80,
    1614             :       81,    82,    83,    84,    -1,    -1,    -1,    88,    89,    -1,
    1615             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1616             :       -1,   269,   270,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1617             :       -1,    -1,    -1,    -1,   115,   116,   117,    -1,    -1,    -1,
    1618             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   470,    -1,
    1619             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   139,   140,
    1620             :      141,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   490,   491,
    1621             :       -1,    -1,   494,    -1,   496,   497,   498,    -1,    -1,   501,
    1622             :       -1,   503,   504,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1623             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   346,   347,
    1624             :      181,   182,   183,   184,   526,    -1,    -1,    -1,    -1,    -1,
    1625             :       -1,    -1,    -1,    -1,    -1,    -1,   197,   198,    -1,   200,
    1626             :      201,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1627             :      378,   379,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1628             :       -1,    -1,    -1,    -1,   566,   567,   568,   569,    -1,   571,
    1629             :      572,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1630             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1631             :       -1,   419,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1632             :       -1,   429,    -1,   431,    -1,    -1,    -1,    -1,    -1,    -1,
    1633             :       -1,    -1,    -1,    -1,    -1,   617,    -1,    -1,   446,    -1,
    1634             :       -1,    -1,    -1,    -1,    -1,   627,   628,   629,   630,   631,
    1635             :      632,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   641,
    1636             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1637             :      652,   653,   654,   655,    -1,   657,   484,   485,   486,   487,
    1638             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1639             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1640             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1641             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1642             :      528,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    1643             :       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    1644             :       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
    1645             :       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
    1646             :       44,    45,    46,    47,    -1,    -1,    -1,    -1,    -1,    -1,
    1647             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1648             :       -1,    -1,    -1,    -1,    -1,   593,    -1,   595,    -1,    -1,
    1649             :       -1,    -1,    -1,    -1,    -1,   603,    -1,   605,    -1,    -1,
    1650             :      608,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1651             :       -1,   619,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1652             :       -1,    -1,    -1,    -1,    -1,   633,   634,   635,   636,   637,
    1653             :       -1,    -1,    -1,    -1,   642,     5,     6,     7,     8,     9,
    1654             :       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    1655             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
    1656             :       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
    1657             :       40,    41,    42,    43,    44,    45,    46,    47,    -1,    -1,
    1658             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1659             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1660             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1661             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1662             :       -1,   205
    1663             : };
    1664             : 
    1665             : /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    1666             :    symbol of state STATE-NUM.  */
    1667             : static const yytype_uint16 yystos[] =
    1668             : {
    1669             :        0,     3,   211,   212,   196,   197,   198,   361,   362,   363,
    1670             :        0,     5,     6,     7,     8,     9,    10,    11,    12,    13,
    1671             :       14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
    1672             :       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
    1673             :       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
    1674             :       44,    45,    46,    47,   213,     4,   204,    53,    77,    78,
    1675             :       79,    80,    81,    82,    83,    84,    88,    89,   115,   116,
    1676             :      117,   139,   140,   141,   181,   182,   183,   184,   200,   201,
    1677             :      358,   362,   358,   194,   359,   358,   206,   355,   355,   358,
    1678             :      359,   359,   363,    52,   109,   110,   111,   112,   215,   363,
    1679             :      361,   358,   359,   195,   360,   358,   358,   358,   363,   358,
    1680             :      358,   359,   358,   358,   358,   358,   358,   358,   358,   358,
    1681             :      358,   358,   358,   358,   358,   358,   358,   358,   358,   358,
    1682             :      358,    48,    49,   216,   222,   214,   362,   362,    85,    86,
    1683             :       87,   356,   357,   204,   204,   205,   213,   207,   357,   217,
    1684             :      223,   218,   224,   106,   219,   221,   222,    50,    51,    54,
    1685             :       92,    93,    95,    97,   107,   169,   205,   225,   228,   229,
    1686             :      231,   259,   263,   275,   286,   204,   205,   222,   204,   204,
    1687             :      204,   204,   204,   204,   204,   359,   363,   220,   232,   230,
    1688             :      226,   260,   264,   276,   287,   237,   233,   233,   129,   137,
    1689             :      205,   227,   261,   265,   277,   288,   108,   120,   121,   125,
    1690             :      126,   158,   205,   238,    52,    54,   106,   107,   119,   205,
    1691             :      234,   235,   241,   205,   361,   358,   107,   129,   130,   131,
    1692             :      132,   133,   134,   135,   136,   205,   262,    94,   107,   205,
    1693             :      266,   267,    93,    96,   107,   160,   164,   170,   205,   278,
    1694             :      279,   303,   308,   334,    54,    91,    98,    99,   100,   101,
    1695             :      102,   103,   104,   107,   127,   128,   142,   152,   153,   154,
    1696             :      155,   156,   157,   173,   174,   175,   176,   191,   205,   286,
    1697             :      289,   303,   308,   312,   313,   315,   316,   318,   320,   321,
    1698             :      322,   334,   338,   340,   346,   348,   215,   359,   359,   363,
    1699             :      359,   363,   204,   204,   204,   359,   359,   359,   361,   206,
    1700             :      206,   206,   361,   358,   358,   359,   204,   359,    78,   359,
    1701             :      363,   204,   359,   204,   204,   204,   204,   208,   293,   359,
    1702             :      204,   204,   204,   204,   204,   204,   204,   359,   206,   206,
    1703             :      206,   206,   354,   206,   363,   363,   206,   206,   204,   204,
    1704             :      204,   204,   206,   242,   239,   236,   361,   361,   361,   268,
    1705             :      280,   304,   309,   335,   352,   294,   314,   205,   317,   319,
    1706             :      205,   205,   323,   290,   291,   292,   361,   361,   363,   363,
    1707             :      339,   341,   347,   349,   361,   243,    62,    67,   122,   123,
    1708             :      124,   138,   205,   240,   237,   361,   361,   361,   269,   281,
    1709             :      305,   310,   336,   177,   178,   179,   180,   205,   353,   295,
    1710             :      324,   326,   329,   332,   297,   299,   301,   361,   361,   363,
    1711             :      363,   342,   342,   350,   350,   361,    53,    54,   107,   125,
    1712             :      152,   159,   205,   244,   247,   358,   358,   359,   360,   358,
    1713             :      358,   205,   361,   361,   361,    54,    92,   107,   152,   185,
    1714             :      205,   270,   303,   308,    91,   107,   128,   152,   205,   282,
    1715             :      303,   308,   334,   108,   161,   162,   163,   205,   306,   165,
    1716             :      166,   167,   168,   205,   311,   107,   171,   172,   205,   337,
    1717             :      358,   355,   355,   358,    93,    94,    95,    96,   209,   296,
    1718             :       90,   105,   205,   325,   105,   185,   187,   189,   190,   205,
    1719             :      327,   105,   185,   189,   190,   205,   330,   107,   199,   205,
    1720             :      333,   143,   144,   145,   146,   207,   298,   149,   150,   151,
    1721             :      207,   300,   147,   148,   207,   302,   361,   207,   363,   207,
    1722             :      107,   108,   142,   152,   191,   205,   343,   205,   107,   199,
    1723             :      205,   351,   205,   207,   204,   204,   359,   363,   354,   363,
    1724             :      207,   207,   207,   204,   359,   363,   359,   354,   271,   359,
    1725             :      359,   206,   354,   115,   118,   307,   206,   206,   206,   206,
    1726             :      361,   206,   206,   359,   358,   358,   359,   363,   359,   363,
    1727             :      359,   363,   359,   363,   361,   361,   361,    88,    89,   186,
    1728             :      188,   328,   361,   206,   361,   206,   361,   361,    88,    89,
    1729             :      186,   188,   331,   206,   361,   206,   361,   359,   206,   361,
    1730             :      363,   359,   113,   114,   345,   206,   354,   206,   359,   206,
    1731             :      248,   245,   273,   192,   193,   272,   283,   361,   361,   361,
    1732             :      361,   361,   361,   363,   363,   363,   363,   363,   207,   207,
    1733             :      344,   361,   363,   249,    66,    67,   205,   246,   202,   205,
    1734             :      274,   284,   361,   361,   361,   361,   361,   361,   363,   363,
    1735             :      363,   363,   363,   301,   361,   363,    54,    91,   107,   152,
    1736             :      205,   250,   253,   358,   358,   359,   149,   150,   151,   207,
    1737             :      285,   361,   361,   361,   361,   207,   361,   207,   207,   207,
    1738             :      207,   207,   207,   207,   207,   204,   204,   359,   354,   207,
    1739             :      207,   207,   207,   207,   251,   254,    55,    56,    57,    58,
    1740             :       59,    60,    61,    62,    64,    65,    68,    69,    70,    71,
    1741             :       72,    73,    74,    75,    76,   205,   252,   255,   358,   358,
    1742             :      358,   358,   358,   358,   358,   358,   358,   358,   358,   358,
    1743             :      358,   358,   358,   358,   358,   358,   358,    54,   107,   152,
    1744             :      205,   256,   204,   359,   354,   257,    62,    63,   203,   205,
    1745             :      258,   358,   358,   359
    1746             : };
    1747             : 
    1748             : #define yyerrok         (yyerrstatus = 0)
    1749             : #define yyclearin       (yychar = YYEMPTY)
    1750             : #define YYEMPTY         (-2)
    1751             : #define YYEOF           0
    1752             : 
    1753             : #define YYACCEPT        goto yyacceptlab
    1754             : #define YYABORT         goto yyabortlab
    1755             : #define YYERROR         goto yyerrorlab
    1756             : 
    1757             : 
    1758             : /* Like YYERROR except do call yyerror.  This remains here temporarily
    1759             :    to ease the transition to the new meaning of YYERROR, for GCC.
    1760             :    Once GCC version 2 has supplanted version 1, this can go.  */
    1761             : 
    1762             : #define YYFAIL          goto yyerrlab
    1763             : 
    1764             : #define YYRECOVERING()  (!!yyerrstatus)
    1765             : 
    1766             : #define YYBACKUP(Token, Value)                                  \
    1767             : do                                                              \
    1768             :   if (yychar == YYEMPTY && yylen == 1)                          \
    1769             :     {                                                           \
    1770             :       yychar = (Token);                                         \
    1771             :       yylval = (Value);                                         \
    1772             :       yytoken = YYTRANSLATE (yychar);                           \
    1773             :       YYPOPSTACK (1);                                           \
    1774             :       goto yybackup;                                            \
    1775             :     }                                                           \
    1776             :   else                                                          \
    1777             :     {                                                           \
    1778             :       yyerror (YY_("syntax error: cannot back up")); \
    1779             :       YYERROR;                                                  \
    1780             :     }                                                           \
    1781             : while (YYID (0))
    1782             : 
    1783             : 
    1784             : #define YYTERROR        1
    1785             : #define YYERRCODE       256
    1786             : 
    1787             : 
    1788             : /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
    1789             :    If N is 0, then set CURRENT to the empty location which ends
    1790             :    the previous symbol: RHS[0] (always defined).  */
    1791             : 
    1792             : #define YYRHSLOC(Rhs, K) ((Rhs)[K])
    1793             : #ifndef YYLLOC_DEFAULT
    1794             : # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
    1795             :     do                                                                  \
    1796             :       if (YYID (N))                                                    \
    1797             :         {                                                               \
    1798             :           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
    1799             :           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
    1800             :           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
    1801             :           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
    1802             :         }                                                               \
    1803             :       else                                                              \
    1804             :         {                                                               \
    1805             :           (Current).first_line   = (Current).last_line   =              \
    1806             :             YYRHSLOC (Rhs, 0).last_line;                                \
    1807             :           (Current).first_column = (Current).last_column =              \
    1808             :             YYRHSLOC (Rhs, 0).last_column;                              \
    1809             :         }                                                               \
    1810             :     while (YYID (0))
    1811             : #endif
    1812             : 
    1813             : 
    1814             : /* YY_LOCATION_PRINT -- Print the location on the stream.
    1815             :    This macro was not mandated originally: define only if we know
    1816             :    we won't break user code: when these are the locations we know.  */
    1817             : 
    1818             : #ifndef YY_LOCATION_PRINT
    1819             : # if YYLTYPE_IS_TRIVIAL
    1820             : #  define YY_LOCATION_PRINT(File, Loc)                  \
    1821             :      fprintf (File, "%d.%d-%d.%d",                    \
    1822             :               (Loc).first_line, (Loc).first_column,     \
    1823             :               (Loc).last_line,  (Loc).last_column)
    1824             : # else
    1825             : #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
    1826             : # endif
    1827             : #endif
    1828             : 
    1829             : 
    1830             : /* YYLEX -- calling `yylex' with the right arguments.  */
    1831             : 
    1832             : #ifdef YYLEX_PARAM
    1833             : # define YYLEX yylex (YYLEX_PARAM)
    1834             : #else
    1835             : # define YYLEX yylex ()
    1836             : #endif
    1837             : 
    1838             : /* Enable debugging if requested.  */
    1839             : #if YYDEBUG
    1840             : 
    1841             : # ifndef YYFPRINTF
    1842             : #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
    1843             : #  define YYFPRINTF fprintf
    1844             : # endif
    1845             : 
    1846             : # define YYDPRINTF(Args)                        \
    1847             : do {                                            \
    1848             :   if (yydebug)                                  \
    1849             :     YYFPRINTF Args;                             \
    1850             : } while (YYID (0))
    1851             : 
    1852             : # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
    1853             : do {                                                                      \
    1854             :   if (yydebug)                                                            \
    1855             :     {                                                                     \
    1856             :       YYFPRINTF (stderr, "%s ", Title);                                         \
    1857             :       yy_symbol_print (stderr,                                            \
    1858             :                   Type, Value); \
    1859             :       YYFPRINTF (stderr, "\n");                                                 \
    1860             :     }                                                                     \
    1861             : } while (YYID (0))
    1862             : 
    1863             : 
    1864             : /*--------------------------------.
    1865             : | Print this symbol on YYOUTPUT.  |
    1866             : `--------------------------------*/
    1867             : 
    1868             : /*ARGSUSED*/
    1869             : #if (defined __STDC__ || defined __C99__FUNC__ \
    1870             :      || defined __cplusplus || defined _MSC_VER)
    1871             : static void
    1872             : yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
    1873             : #else
    1874             : static void
    1875             : yy_symbol_value_print (yyoutput, yytype, yyvaluep)
    1876             :     FILE *yyoutput;
    1877             :     int yytype;
    1878             :     YYSTYPE const * const yyvaluep;
    1879             : #endif
    1880             : {
    1881             :   if (!yyvaluep)
    1882             :     return;
    1883             : # ifdef YYPRINT
    1884             :   if (yytype < YYNTOKENS)
    1885             :     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
    1886             : # else
    1887             :   YYUSE (yyoutput);
    1888             : # endif
    1889             :   switch (yytype)
    1890             :     {
    1891             :       default:
    1892             :         break;
    1893             :     }
    1894             : }
    1895             : 
    1896             : 
    1897             : /*--------------------------------.
    1898             : | Print this symbol on YYOUTPUT.  |
    1899             : `--------------------------------*/
    1900             : 
    1901             : #if (defined __STDC__ || defined __C99__FUNC__ \
    1902             :      || defined __cplusplus || defined _MSC_VER)
    1903             : static void
    1904             : yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
    1905             : #else
    1906             : static void
    1907             : yy_symbol_print (yyoutput, yytype, yyvaluep)
    1908             :     FILE *yyoutput;
    1909             :     int yytype;
    1910             :     YYSTYPE const * const yyvaluep;
    1911             : #endif
    1912             : {
    1913             :   if (yytype < YYNTOKENS)
    1914             :     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
    1915             :   else
    1916             :     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
    1917             : 
    1918             :   yy_symbol_value_print (yyoutput, yytype, yyvaluep);
    1919             :   YYFPRINTF (yyoutput, ")");
    1920             : }
    1921             : 
    1922             : /*------------------------------------------------------------------.
    1923             : | yy_stack_print -- Print the state stack from its BOTTOM up to its |
    1924             : | TOP (included).                                                   |
    1925             : `------------------------------------------------------------------*/
    1926             : 
    1927             : #if (defined __STDC__ || defined __C99__FUNC__ \
    1928             :      || defined __cplusplus || defined _MSC_VER)
    1929             : static void
    1930             : yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
    1931             : #else
    1932             : static void
    1933             : yy_stack_print (yybottom, yytop)
    1934             :     yytype_int16 *yybottom;
    1935             :     yytype_int16 *yytop;
    1936             : #endif
    1937             : {
    1938             :   YYFPRINTF (stderr, "Stack now");
    1939             :   for (; yybottom <= yytop; yybottom++)
    1940             :     {
    1941             :       int yybot = *yybottom;
    1942             :       YYFPRINTF (stderr, " %d", yybot);
    1943             :     }
    1944             :   YYFPRINTF (stderr, "\n");
    1945             : }
    1946             : 
    1947             : # define YY_STACK_PRINT(Bottom, Top)                            \
    1948             : do {                                                            \
    1949             :   if (yydebug)                                                  \
    1950             :     yy_stack_print ((Bottom), (Top));                           \
    1951             : } while (YYID (0))
    1952             : 
    1953             : 
    1954             : /*------------------------------------------------.
    1955             : | Report that the YYRULE is going to be reduced.  |
    1956             : `------------------------------------------------*/
    1957             : 
    1958             : #if (defined __STDC__ || defined __C99__FUNC__ \
    1959             :      || defined __cplusplus || defined _MSC_VER)
    1960             : static void
    1961             : yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
    1962             : #else
    1963             : static void
    1964             : yy_reduce_print (yyvsp, yyrule)
    1965             :     YYSTYPE *yyvsp;
    1966             :     int yyrule;
    1967             : #endif
    1968             : {
    1969             :   int yynrhs = yyr2[yyrule];
    1970             :   int yyi;
    1971             :   unsigned long int yylno = yyrline[yyrule];
    1972             :   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
    1973             :              yyrule - 1, yylno);
    1974             :   /* The symbols being reduced.  */
    1975             :   for (yyi = 0; yyi < yynrhs; yyi++)
    1976             :     {
    1977             :       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
    1978             :       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
    1979             :                        &(yyvsp[(yyi + 1) - (yynrhs)])
    1980             :                                        );
    1981             :       YYFPRINTF (stderr, "\n");
    1982             :     }
    1983             : }
    1984             : 
    1985             : # define YY_REDUCE_PRINT(Rule)          \
    1986             : do {                                    \
    1987             :   if (yydebug)                          \
    1988             :     yy_reduce_print (yyvsp, Rule); \
    1989             : } while (YYID (0))
    1990             : 
    1991             : /* Nonzero means print parse trace.  It is left uninitialized so that
    1992             :    multiple parsers can coexist.  */
    1993             : int yydebug;
    1994             : #else /* !YYDEBUG */
    1995             : # define YYDPRINTF(Args)
    1996             : # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
    1997             : # define YY_STACK_PRINT(Bottom, Top)
    1998             : # define YY_REDUCE_PRINT(Rule)
    1999             : #endif /* !YYDEBUG */
    2000             : 
    2001             : 
    2002             : /* YYINITDEPTH -- initial size of the parser's stacks.  */
    2003             : #ifndef YYINITDEPTH
    2004             : # define YYINITDEPTH 200
    2005             : #endif
    2006             : 
    2007             : /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
    2008             :    if the built-in stack extension method is used).
    2009             : 
    2010             :    Do not make this value too large; the results are undefined if
    2011             :    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
    2012             :    evaluated with infinite-precision integer arithmetic.  */
    2013             : 
    2014             : #ifndef YYMAXDEPTH
    2015             : # define YYMAXDEPTH 10000
    2016             : #endif
    2017             : 
    2018             : 
    2019             : 
    2020             : #if YYERROR_VERBOSE
    2021             : 
    2022             : # ifndef yystrlen
    2023             : #  if defined __GLIBC__ && defined _STRING_H
    2024             : #   define yystrlen strlen
    2025             : #  else
    2026             : /* Return the length of YYSTR.  */
    2027             : #if (defined __STDC__ || defined __C99__FUNC__ \
    2028             :      || defined __cplusplus || defined _MSC_VER)
    2029             : static YYSIZE_T
    2030             : yystrlen (const char *yystr)
    2031             : #else
    2032             : static YYSIZE_T
    2033             : yystrlen (yystr)
    2034             :     const char *yystr;
    2035             : #endif
    2036             : {
    2037             :   YYSIZE_T yylen;
    2038             :   for (yylen = 0; yystr[yylen]; yylen++)
    2039             :     continue;
    2040             :   return yylen;
    2041             : }
    2042             : #  endif
    2043             : # endif
    2044             : 
    2045             : # ifndef yystpcpy
    2046             : #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
    2047             : #   define yystpcpy stpcpy
    2048             : #  else
    2049             : /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
    2050             :    YYDEST.  */
    2051             : #if (defined __STDC__ || defined __C99__FUNC__ \
    2052             :      || defined __cplusplus || defined _MSC_VER)
    2053             : static char *
    2054             : yystpcpy (char *yydest, const char *yysrc)
    2055             : #else
    2056             : static char *
    2057             : yystpcpy (yydest, yysrc)
    2058             :     char *yydest;
    2059             :     const char *yysrc;
    2060             : #endif
    2061             : {
    2062             :   char *yyd = yydest;
    2063             :   const char *yys = yysrc;
    2064             : 
    2065             :   while ((*yyd++ = *yys++) != '\0')
    2066             :     continue;
    2067             : 
    2068             :   return yyd - 1;
    2069             : }
    2070             : #  endif
    2071             : # endif
    2072             : 
    2073             : # ifndef yytnamerr
    2074             : /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
    2075             :    quotes and backslashes, so that it's suitable for yyerror.  The
    2076             :    heuristic is that double-quoting is unnecessary unless the string
    2077             :    contains an apostrophe, a comma, or backslash (other than
    2078             :    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
    2079             :    null, do not copy; instead, return the length of what the result
    2080             :    would have been.  */
    2081             : static YYSIZE_T
    2082             : yytnamerr (char *yyres, const char *yystr)
    2083             : {
    2084             :   if (*yystr == '"')
    2085             :     {
    2086             :       YYSIZE_T yyn = 0;
    2087             :       char const *yyp = yystr;
    2088             : 
    2089             :       for (;;)
    2090             :         switch (*++yyp)
    2091             :           {
    2092             :           case '\'':
    2093             :           case ',':
    2094             :             goto do_not_strip_quotes;
    2095             : 
    2096             :           case '\\':
    2097             :             if (*++yyp != '\\')
    2098             :               goto do_not_strip_quotes;
    2099             :             /* Fall through.  */
    2100             :           default:
    2101             :             if (yyres)
    2102             :               yyres[yyn] = *yyp;
    2103             :             yyn++;
    2104             :             break;
    2105             : 
    2106             :           case '"':
    2107             :             if (yyres)
    2108             :               yyres[yyn] = '\0';
    2109             :             return yyn;
    2110             :           }
    2111             :     do_not_strip_quotes: ;
    2112             :     }
    2113             : 
    2114             :   if (! yyres)
    2115             :     return yystrlen (yystr);
    2116             : 
    2117             :   return yystpcpy (yyres, yystr) - yyres;
    2118             : }
    2119             : # endif
    2120             : 
    2121             : /* Copy into YYRESULT an error message about the unexpected token
    2122             :    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
    2123             :    including the terminating null byte.  If YYRESULT is null, do not
    2124             :    copy anything; just return the number of bytes that would be
    2125             :    copied.  As a special case, return 0 if an ordinary "syntax error"
    2126             :    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
    2127             :    size calculation.  */
    2128             : static YYSIZE_T
    2129             : yysyntax_error (char *yyresult, int yystate, int yychar)
    2130             : {
    2131             :   int yyn = yypact[yystate];
    2132             : 
    2133             :   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
    2134             :     return 0;
    2135             :   else
    2136             :     {
    2137             :       int yytype = YYTRANSLATE (yychar);
    2138             :       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
    2139             :       YYSIZE_T yysize = yysize0;
    2140             :       YYSIZE_T yysize1;
    2141             :       int yysize_overflow = 0;
    2142             :       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
    2143             :       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
    2144             :       int yyx;
    2145             : 
    2146             : # if 0
    2147             :       /* This is so xgettext sees the translatable formats that are
    2148             :          constructed on the fly.  */
    2149             :       YY_("syntax error, unexpected %s");
    2150             :       YY_("syntax error, unexpected %s, expecting %s");
    2151             :       YY_("syntax error, unexpected %s, expecting %s or %s");
    2152             :       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
    2153             :       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
    2154             : # endif
    2155             :       char *yyfmt;
    2156             :       char const *yyf;
    2157             :       static char const yyunexpected[] = "syntax error, unexpected %s";
    2158             :       static char const yyexpecting[] = ", expecting %s";
    2159             :       static char const yyor[] = " or %s";
    2160             :       char yyformat[sizeof yyunexpected
    2161             :                     + sizeof yyexpecting - 1
    2162             :                     + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
    2163             :                        * (sizeof yyor - 1))];
    2164             :       char const *yyprefix = yyexpecting;
    2165             : 
    2166             :       /* Start YYX at -YYN if negative to avoid negative indexes in
    2167             :          YYCHECK.  */
    2168             :       int yyxbegin = yyn < 0 ? -yyn : 0;
    2169             : 
    2170             :       /* Stay within bounds of both yycheck and yytname.  */
    2171             :       int yychecklim = YYLAST - yyn + 1;
    2172             :       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
    2173             :       int yycount = 1;
    2174             : 
    2175             :       yyarg[0] = yytname[yytype];
    2176             :       yyfmt = yystpcpy (yyformat, yyunexpected);
    2177             : 
    2178             :       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
    2179             :         if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
    2180             :           {
    2181             :             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
    2182             :               {
    2183             :                 yycount = 1;
    2184             :                 yysize = yysize0;
    2185             :                 yyformat[sizeof yyunexpected - 1] = '\0';
    2186             :                 break;
    2187             :               }
    2188             :             yyarg[yycount++] = yytname[yyx];
    2189             :             yysize1 = yysize + yytnamerr (0, yytname[yyx]);
    2190             :             yysize_overflow |= (yysize1 < yysize);
    2191             :             yysize = yysize1;
    2192             :             yyfmt = yystpcpy (yyfmt, yyprefix);
    2193             :             yyprefix = yyor;
    2194             :           }
    2195             : 
    2196             :       yyf = YY_(yyformat);
    2197             :       yysize1 = yysize + yystrlen (yyf);
    2198             :       yysize_overflow |= (yysize1 < yysize);
    2199             :       yysize = yysize1;
    2200             : 
    2201             :       if (yysize_overflow)
    2202             :         return YYSIZE_MAXIMUM;
    2203             : 
    2204             :       if (yyresult)
    2205             :         {
    2206             :           /* Avoid sprintf, as that infringes on the user's name space.
    2207             :              Don't have undefined behavior even if the translation
    2208             :              produced a string with the wrong number of "%s"s.  */
    2209             :           char *yyp = yyresult;
    2210             :           int yyi = 0;
    2211             :           while ((*yyp = *yyf) != '\0')
    2212             :             {
    2213             :               if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
    2214             :                 {
    2215             :                   yyp += yytnamerr (yyp, yyarg[yyi++]);
    2216             :                   yyf += 2;
    2217             :                 }
    2218             :               else
    2219             :                 {
    2220             :                   yyp++;
    2221             :                   yyf++;
    2222             :                 }
    2223             :             }
    2224             :         }
    2225             :       return yysize;
    2226             :     }
    2227             : }
    2228             : #endif /* YYERROR_VERBOSE */
    2229             : 
    2230             : 
    2231             : /*-----------------------------------------------.
    2232             : | Release the memory associated to this symbol.  |
    2233             : `-----------------------------------------------*/
    2234             : 
    2235             : /*ARGSUSED*/
    2236             : #if (defined __STDC__ || defined __C99__FUNC__ \
    2237             :      || defined __cplusplus || defined _MSC_VER)
    2238             : static void
    2239         858 : yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
    2240             : #else
    2241             : static void
    2242             : yydestruct (yymsg, yytype, yyvaluep)
    2243             :     const char *yymsg;
    2244             :     int yytype;
    2245             :     YYSTYPE *yyvaluep;
    2246             : #endif
    2247             : {
    2248             :   YYUSE (yyvaluep);
    2249             : 
    2250         858 :   if (!yymsg)
    2251           0 :     yymsg = "Deleting";
    2252             :   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
    2253             : 
    2254             :   switch (yytype)
    2255             :     {
    2256             : 
    2257             :       default:
    2258         858 :         break;
    2259             :     }
    2260         858 : }
    2261             : 
    2262             : /* Prevent warnings from -Wmissing-prototypes.  */
    2263             : #ifdef YYPARSE_PARAM
    2264             : #if defined __STDC__ || defined __cplusplus
    2265             : int yyparse (void *YYPARSE_PARAM);
    2266             : #else
    2267             : int yyparse ();
    2268             : #endif
    2269             : #else /* ! YYPARSE_PARAM */
    2270             : #if defined __STDC__ || defined __cplusplus
    2271             : int yyparse (void);
    2272             : #else
    2273             : int yyparse ();
    2274             : #endif
    2275             : #endif /* ! YYPARSE_PARAM */
    2276             : 
    2277             : 
    2278             : /* The lookahead symbol.  */
    2279             : int yychar;
    2280             : 
    2281             : /* The semantic value of the lookahead symbol.  */
    2282             : YYSTYPE yylval;
    2283             : 
    2284             : /* Number of syntax errors so far.  */
    2285             : int yynerrs;
    2286             : 
    2287             : 
    2288             : 
    2289             : /*-------------------------.
    2290             : | yyparse or yypush_parse.  |
    2291             : `-------------------------*/
    2292             : 
    2293             : #ifdef YYPARSE_PARAM
    2294             : #if (defined __STDC__ || defined __C99__FUNC__ \
    2295             :      || defined __cplusplus || defined _MSC_VER)
    2296             : int
    2297             : yyparse (void *YYPARSE_PARAM)
    2298             : #else
    2299             : int
    2300             : yyparse (YYPARSE_PARAM)
    2301             :     void *YYPARSE_PARAM;
    2302             : #endif
    2303             : #else /* ! YYPARSE_PARAM */
    2304             : #if (defined __STDC__ || defined __C99__FUNC__ \
    2305             :      || defined __cplusplus || defined _MSC_VER)
    2306             : int
    2307         428 : yyparse (void)
    2308             : #else
    2309             : int
    2310             : yyparse ()
    2311             : 
    2312             : #endif
    2313             : #endif
    2314             : {
    2315             : 
    2316             : 
    2317             :     int yystate;
    2318             :     /* Number of tokens to shift before error messages enabled.  */
    2319             :     int yyerrstatus;
    2320             : 
    2321             :     /* The stacks and their tools:
    2322             :        `yyss': related to states.
    2323             :        `yyvs': related to semantic values.
    2324             : 
    2325             :        Refer to the stacks thru separate pointers, to allow yyoverflow
    2326             :        to reallocate them elsewhere.  */
    2327             : 
    2328             :     /* The state stack.  */
    2329             :     yytype_int16 yyssa[YYINITDEPTH];
    2330             :     yytype_int16 *yyss;
    2331             :     yytype_int16 *yyssp;
    2332             : 
    2333             :     /* The semantic value stack.  */
    2334             :     YYSTYPE yyvsa[YYINITDEPTH];
    2335             :     YYSTYPE *yyvs;
    2336             :     YYSTYPE *yyvsp;
    2337             : 
    2338             :     YYSIZE_T yystacksize;
    2339             : 
    2340             :   int yyn;
    2341             :   int yyresult;
    2342             :   /* Lookahead token as an internal (translated) token number.  */
    2343             :   int yytoken;
    2344             :   /* The variables used to return semantic value and location from the
    2345             :      action routines.  */
    2346             :   YYSTYPE yyval;
    2347             : 
    2348             : #if YYERROR_VERBOSE
    2349             :   /* Buffer for error messages, and its allocated size.  */
    2350             :   char yymsgbuf[128];
    2351             :   char *yymsg = yymsgbuf;
    2352             :   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
    2353             : #endif
    2354             : 
    2355             : #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
    2356             : 
    2357             :   /* The number of symbols on the RHS of the reduced rule.
    2358             :      Keep to zero when no symbol should be popped.  */
    2359         428 :   int yylen = 0;
    2360             : 
    2361         428 :   yytoken = 0;
    2362         428 :   yyss = yyssa;
    2363         428 :   yyvs = yyvsa;
    2364         428 :   yystacksize = YYINITDEPTH;
    2365             : 
    2366             :   YYDPRINTF ((stderr, "Starting parse\n"));
    2367             : 
    2368         428 :   yystate = 0;
    2369         428 :   yyerrstatus = 0;
    2370         428 :   yynerrs = 0;
    2371         428 :   yychar = YYEMPTY; /* Cause a token to be read.  */
    2372             : 
    2373             :   /* Initialize stack pointers.
    2374             :      Waste one element of value and location stack
    2375             :      so that they stay on the same level as the state stack.
    2376             :      The wasted elements are never initialized.  */
    2377         428 :   yyssp = yyss;
    2378         428 :   yyvsp = yyvs;
    2379             : 
    2380         428 :   goto yysetstate;
    2381             : 
    2382             : /*------------------------------------------------------------.
    2383             : | yynewstate -- Push a new state, which is found in yystate.  |
    2384             : `------------------------------------------------------------*/
    2385             :  yynewstate:
    2386             :   /* In all cases, when you get here, the value and location stacks
    2387             :      have just been pushed.  So pushing a state here evens the stacks.  */
    2388      432352 :   yyssp++;
    2389             : 
    2390             :  yysetstate:
    2391      432780 :   *yyssp = yystate;
    2392             : 
    2393      432780 :   if (yyss + yystacksize - 1 <= yyssp)
    2394             :     {
    2395             :       /* Get the current used size of the three stacks, in elements.  */
    2396           0 :       YYSIZE_T yysize = yyssp - yyss + 1;
    2397             : 
    2398             : #ifdef yyoverflow
    2399             :       {
    2400             :         /* Give user a chance to reallocate the stack.  Use copies of
    2401             :            these so that the &'s don't force the real ones into
    2402             :            memory.  */
    2403             :         YYSTYPE *yyvs1 = yyvs;
    2404             :         yytype_int16 *yyss1 = yyss;
    2405             : 
    2406             :         /* Each stack pointer address is followed by the size of the
    2407             :            data in use in that stack, in bytes.  This used to be a
    2408             :            conditional around just the two extra args, but that might
    2409             :            be undefined if yyoverflow is a macro.  */
    2410             :         yyoverflow (YY_("memory exhausted"),
    2411             :                     &yyss1, yysize * sizeof (*yyssp),
    2412             :                     &yyvs1, yysize * sizeof (*yyvsp),
    2413             :                     &yystacksize);
    2414             : 
    2415             :         yyss = yyss1;
    2416             :         yyvs = yyvs1;
    2417             :       }
    2418             : #else /* no yyoverflow */
    2419             : # ifndef YYSTACK_RELOCATE
    2420             :       goto yyexhaustedlab;
    2421             : # else
    2422             :       /* Extend the stack our own way.  */
    2423           0 :       if (YYMAXDEPTH <= yystacksize)
    2424           0 :         goto yyexhaustedlab;
    2425           0 :       yystacksize *= 2;
    2426           0 :       if (YYMAXDEPTH < yystacksize)
    2427           0 :         yystacksize = YYMAXDEPTH;
    2428             : 
    2429             :       {
    2430           0 :         yytype_int16 *yyss1 = yyss;
    2431             :         union yyalloc *yyptr =
    2432           0 :           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
    2433           0 :         if (! yyptr)
    2434           0 :           goto yyexhaustedlab;
    2435           0 :         YYSTACK_RELOCATE (yyss_alloc, yyss);
    2436           0 :         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
    2437             : #  undef YYSTACK_RELOCATE
    2438           0 :         if (yyss1 != yyssa)
    2439           0 :           YYSTACK_FREE (yyss1);
    2440             :       }
    2441             : # endif
    2442             : #endif /* no yyoverflow */
    2443             : 
    2444           0 :       yyssp = yyss + yysize - 1;
    2445           0 :       yyvsp = yyvs + yysize - 1;
    2446             : 
    2447             :       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
    2448             :                   (unsigned long int) yystacksize));
    2449             : 
    2450           0 :       if (yyss + yystacksize - 1 <= yyssp)
    2451           0 :         YYABORT;
    2452             :     }
    2453             : 
    2454             :   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
    2455             : 
    2456      432780 :   if (yystate == YYFINAL)
    2457         426 :     YYACCEPT;
    2458             : 
    2459      432354 :   goto yybackup;
    2460             : 
    2461             : /*-----------.
    2462             : | yybackup.  |
    2463             : `-----------*/
    2464             : yybackup:
    2465             : 
    2466             :   /* Do appropriate processing given the current state.  Read a
    2467             :      lookahead token if we need one and don't already have one.  */
    2468             : 
    2469             :   /* First try to decide what to do without reference to lookahead token.  */
    2470      432354 :   yyn = yypact[yystate];
    2471      432354 :   if (yyn == YYPACT_NINF)
    2472      260118 :     goto yydefault;
    2473             : 
    2474             :   /* Not known => get a lookahead token if don't already have one.  */
    2475             : 
    2476             :   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
    2477      172236 :   if (yychar == YYEMPTY)
    2478             :     {
    2479             :       YYDPRINTF ((stderr, "Reading a token: "));
    2480      172122 :       yychar = YYLEX;
    2481             :     }
    2482             : 
    2483      172236 :   if (yychar <= YYEOF)
    2484             :     {
    2485         426 :       yychar = yytoken = YYEOF;
    2486             :       YYDPRINTF ((stderr, "Now at end of input.\n"));
    2487             :     }
    2488             :   else
    2489             :     {
    2490      171810 :       yytoken = YYTRANSLATE (yychar);
    2491             :       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
    2492             :     }
    2493             : 
    2494             :   /* If the proper action on seeing token YYTOKEN is to reduce or to
    2495             :      detect an error, take that action.  */
    2496      172236 :   yyn += yytoken;
    2497      172236 :   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
    2498             :     goto yydefault;
    2499      172120 :   yyn = yytable[yyn];
    2500      172120 :   if (yyn <= 0)
    2501             :     {
    2502           0 :       if (yyn == 0 || yyn == YYTABLE_NINF)
    2503             :         goto yyerrlab;
    2504           0 :       yyn = -yyn;
    2505           0 :       goto yyreduce;
    2506             :     }
    2507             : 
    2508             :   /* Count tokens shifted since error; after three, turn off error
    2509             :      status.  */
    2510      172120 :   if (yyerrstatus)
    2511           0 :     yyerrstatus--;
    2512             : 
    2513             :   /* Shift the lookahead token.  */
    2514             :   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
    2515             : 
    2516             :   /* Discard the shifted token.  */
    2517      172120 :   yychar = YYEMPTY;
    2518             : 
    2519      172120 :   yystate = yyn;
    2520      172120 :   *++yyvsp = yylval;
    2521             : 
    2522      172120 :   goto yynewstate;
    2523             : 
    2524             : 
    2525             : /*-----------------------------------------------------------.
    2526             : | yydefault -- do the default action for the current state.  |
    2527             : `-----------------------------------------------------------*/
    2528             : yydefault:
    2529      260234 :   yyn = yydefact[yystate];
    2530      260234 :   if (yyn == 0)
    2531           2 :     goto yyerrlab;
    2532      260232 :   goto yyreduce;
    2533             : 
    2534             : 
    2535             : /*-----------------------------.
    2536             : | yyreduce -- Do a reduction.  |
    2537             : `-----------------------------*/
    2538             : yyreduce:
    2539             :   /* yyn is the number of a rule to reduce with.  */
    2540      260232 :   yylen = yyr2[yyn];
    2541             : 
    2542             :   /* If YYLEN is nonzero, implement the default value of the action:
    2543             :      `$$ = $1'.
    2544             : 
    2545             :      Otherwise, the following line sets YYVAL to garbage.
    2546             :      This behavior is undocumented and Bison
    2547             :      users should not rely upon it.  Assigning to YYVAL
    2548             :      unconditionally makes the parser a bit smaller, and it avoids a
    2549             :      GCC warning that YYVAL may be used uninitialized.  */
    2550      260232 :   yyval = yyvsp[1-yylen];
    2551             : 
    2552             : 
    2553             :   YY_REDUCE_PRINT (yyn);
    2554      260232 :   switch (yyn)
    2555             :     {
    2556             :         case 5:
    2557             : 
    2558             :     {
    2559             :         eq::server::Global::instance()->setConfigFAttribute(
    2560         426 :             eq::server::Config::FATTR_VERSION, (yyvsp[(2) - (3)]._float) );
    2561             :     ;}
    2562         426 :     break;
    2563             : 
    2564             :   case 10:
    2565             : 
    2566             :     {
    2567             :          eq::server::Global::instance()->setConnectionSAttribute(
    2568           4 :              eq::server::ConnectionDescription::SATTR_HOSTNAME, (yyvsp[(2) - (2)]._string) );
    2569             :      ;}
    2570           4 :     break;
    2571             : 
    2572             :   case 11:
    2573             : 
    2574             :     {
    2575             :          eq::server::Global::instance()->setConnectionIAttribute(
    2576           2 :              eq::server::ConnectionDescription::IATTR_TYPE, (yyvsp[(2) - (2)]._connectionType) );
    2577             :      ;}
    2578           2 :     break;
    2579             : 
    2580             :   case 12:
    2581             : 
    2582             :     {
    2583             :          eq::server::Global::instance()->setConnectionIAttribute(
    2584           2 :              eq::server::ConnectionDescription::IATTR_PORT, (yyvsp[(2) - (2)]._unsigned) );
    2585             :      ;}
    2586           2 :     break;
    2587             : 
    2588             :   case 13:
    2589             : 
    2590             :     {
    2591             :          eq::server::Global::instance()->setConnectionSAttribute(
    2592           4 :              eq::server::ConnectionDescription::SATTR_FILENAME, (yyvsp[(2) - (2)]._string) );
    2593             :      ;}
    2594           4 :     break;
    2595             : 
    2596             :   case 14:
    2597             : 
    2598             :     {
    2599             :          eq::server::Global::instance()->setConnectionIAttribute(
    2600           0 :              eq::server::ConnectionDescription::IATTR_BANDWIDTH, (yyvsp[(2) - (2)]._unsigned) );
    2601             :      ;}
    2602           0 :     break;
    2603             : 
    2604             :   case 15:
    2605             : 
    2606             :     {
    2607             :          eq::server::Global::instance()->setConfigFAttribute(
    2608           8 :              eq::server::Config::FATTR_EYE_BASE, (yyvsp[(2) - (2)]._float) );
    2609             :      ;}
    2610           8 :     break;
    2611             : 
    2612             :   case 16:
    2613             : 
    2614             :     {
    2615             :          eq::server::Global::instance()->setConfigIAttribute(
    2616           4 :              eq::server::Config::IATTR_ROBUSTNESS, (yyvsp[(2) - (2)]._int) );
    2617             :      ;}
    2618           4 :     break;
    2619             : 
    2620             :   case 17:
    2621             : 
    2622             :     {
    2623             :          eq::server::Global::instance()->setNodeSAttribute(
    2624           4 :              eq::server::Node::SATTR_LAUNCH_COMMAND, (yyvsp[(2) - (2)]._string) );
    2625             :      ;}
    2626           4 :     break;
    2627             : 
    2628             :   case 18:
    2629             : 
    2630             :     {
    2631             :          eq::server::Global::instance()->setNodeCAttribute(
    2632           4 :              eq::server::Node::CATTR_LAUNCH_COMMAND_QUOTE, (yyvsp[(2) - (2)]._character) );
    2633             :      ;}
    2634           4 :     break;
    2635             : 
    2636             :   case 19:
    2637             : 
    2638             :     {
    2639             :          eq::server::Global::instance()->setNodeIAttribute(
    2640           8 :              eq::server::Node::IATTR_THREAD_MODEL, (yyvsp[(2) - (2)]._int) );
    2641             :      ;}
    2642           8 :     break;
    2643             : 
    2644             :   case 20:
    2645             : 
    2646             :     {
    2647             :          eq::server::Global::instance()->setNodeIAttribute(
    2648           0 :              eq::server::Node::IATTR_HINT_AFFINITY, (yyvsp[(2) - (2)]._int) );
    2649             :      ;}
    2650           0 :     break;
    2651             : 
    2652             :   case 21:
    2653             : 
    2654             :     {
    2655             :          eq::server::Global::instance()->setNodeIAttribute(
    2656           4 :              eq::server::Node::IATTR_LAUNCH_TIMEOUT, (yyvsp[(2) - (2)]._unsigned) );
    2657             :      ;}
    2658           4 :     break;
    2659             : 
    2660             :   case 22:
    2661             : 
    2662             :     {
    2663           0 :          LBWARN << "Ignoring deprecated attribute Node::IATTR_HINT_STATISTICS"
    2664           0 :                 << std::endl;
    2665             :      ;}
    2666           0 :     break;
    2667             : 
    2668             :   case 23:
    2669             : 
    2670             :     {
    2671             :          eq::server::Global::instance()->setPipeIAttribute(
    2672           6 :              eq::server::Pipe::IATTR_HINT_THREAD, (yyvsp[(2) - (2)]._int) );
    2673             :      ;}
    2674           6 :     break;
    2675             : 
    2676             :   case 24:
    2677             : 
    2678             :     {
    2679             :          eq::server::Global::instance()->setPipeIAttribute(
    2680           2 :              eq::server::Pipe::IATTR_HINT_AFFINITY, (yyvsp[(2) - (2)]._int) );
    2681             :      ;}
    2682           2 :     break;
    2683             : 
    2684             :   case 25:
    2685             : 
    2686             :     {
    2687             :          eq::server::Global::instance()->setWindowIAttribute(
    2688           0 :              eq::server::WindowSettings::IATTR_HINT_CORE_PROFILE, (yyvsp[(2) - (2)]._int) );
    2689             :      ;}
    2690           0 :     break;
    2691             : 
    2692             :   case 26:
    2693             : 
    2694             :     {
    2695             :          eq::server::Global::instance()->setWindowIAttribute(
    2696           0 :              eq::server::WindowSettings::IATTR_HINT_OPENGL_MAJOR, (yyvsp[(2) - (2)]._int) );
    2697             :      ;}
    2698           0 :     break;
    2699             : 
    2700             :   case 27:
    2701             : 
    2702             :     {
    2703             :          eq::server::Global::instance()->setWindowIAttribute(
    2704           0 :              eq::server::WindowSettings::IATTR_HINT_OPENGL_MINOR, (yyvsp[(2) - (2)]._int) );
    2705             :      ;}
    2706           0 :     break;
    2707             : 
    2708             :   case 28:
    2709             : 
    2710             :     {
    2711             :          eq::server::Global::instance()->setWindowIAttribute(
    2712           4 :              eq::server::WindowSettings::IATTR_HINT_STEREO, (yyvsp[(2) - (2)]._int) );
    2713             :      ;}
    2714           4 :     break;
    2715             : 
    2716             :   case 29:
    2717             : 
    2718             :     {
    2719             :          eq::server::Global::instance()->setWindowIAttribute(
    2720          12 :              eq::server::WindowSettings::IATTR_HINT_DOUBLEBUFFER, (yyvsp[(2) - (2)]._int) );
    2721             :      ;}
    2722          12 :     break;
    2723             : 
    2724             :   case 30:
    2725             : 
    2726             :     {
    2727             :          eq::server::Global::instance()->setWindowIAttribute(
    2728          90 :              eq::server::WindowSettings::IATTR_HINT_FULLSCREEN, (yyvsp[(2) - (2)]._int) );
    2729             :      ;}
    2730          90 :     break;
    2731             : 
    2732             :   case 31:
    2733             : 
    2734             :     {
    2735             :          eq::server::Global::instance()->setWindowIAttribute(
    2736          20 :              eq::server::WindowSettings::IATTR_HINT_DECORATION, (yyvsp[(2) - (2)]._int) );
    2737             :      ;}
    2738          20 :     break;
    2739             : 
    2740             :   case 32:
    2741             : 
    2742             :     {
    2743             :          eq::server::Global::instance()->setWindowIAttribute(
    2744          28 :              eq::server::WindowSettings::IATTR_HINT_SWAPSYNC, (yyvsp[(2) - (2)]._int) );
    2745             :      ;}
    2746          28 :     break;
    2747             : 
    2748             :   case 33:
    2749             : 
    2750             :     {
    2751             :          eq::server::Global::instance()->setWindowIAttribute(
    2752          20 :              eq::server::WindowSettings::IATTR_HINT_DRAWABLE, (yyvsp[(2) - (2)]._int) );
    2753             :      ;}
    2754          20 :     break;
    2755             : 
    2756             :   case 34:
    2757             : 
    2758             :     {
    2759             :          eq::server::Global::instance()->setWindowIAttribute(
    2760          12 :              eq::server::WindowSettings::IATTR_HINT_STATISTICS, (yyvsp[(2) - (2)]._int) );
    2761             :      ;}
    2762          12 :     break;
    2763             : 
    2764             :   case 35:
    2765             : 
    2766             :     {
    2767             :          eq::server::Global::instance()->setWindowIAttribute(
    2768           0 :              eq::server::WindowSettings::IATTR_HINT_SCREENSAVER, (yyvsp[(2) - (2)]._int) );
    2769             :      ;}
    2770           0 :     break;
    2771             : 
    2772             :   case 36:
    2773             : 
    2774             :     {
    2775             :          eq::server::Global::instance()->setWindowIAttribute(
    2776           4 :              eq::server::WindowSettings::IATTR_HINT_GRAB_POINTER, (yyvsp[(2) - (2)]._int) );
    2777             :      ;}
    2778           4 :     break;
    2779             : 
    2780             :   case 37:
    2781             : 
    2782             :     {
    2783             :          eq::server::Global::instance()->setWindowIAttribute(
    2784           4 :              eq::server::WindowSettings::IATTR_PLANES_COLOR, (yyvsp[(2) - (2)]._int) );
    2785             :      ;}
    2786           4 :     break;
    2787             : 
    2788             :   case 38:
    2789             : 
    2790             :     {
    2791             :          eq::server::Global::instance()->setWindowIAttribute(
    2792           4 :              eq::server::WindowSettings::IATTR_PLANES_ALPHA, (yyvsp[(2) - (2)]._int) );
    2793             :      ;}
    2794           4 :     break;
    2795             : 
    2796             :   case 39:
    2797             : 
    2798             :     {
    2799             :          eq::server::Global::instance()->setWindowIAttribute(
    2800           4 :              eq::server::WindowSettings::IATTR_PLANES_DEPTH, (yyvsp[(2) - (2)]._int) );
    2801             :      ;}
    2802           4 :     break;
    2803             : 
    2804             :   case 40:
    2805             : 
    2806             :     {
    2807             :          eq::server::Global::instance()->setWindowIAttribute(
    2808         100 :              eq::server::WindowSettings::IATTR_PLANES_STENCIL, (yyvsp[(2) - (2)]._int) );
    2809             :      ;}
    2810         100 :     break;
    2811             : 
    2812             :   case 41:
    2813             : 
    2814             :     {
    2815             :          eq::server::Global::instance()->setWindowIAttribute(
    2816           4 :              eq::server::WindowSettings::IATTR_PLANES_ACCUM, (yyvsp[(2) - (2)]._int) );
    2817             :      ;}
    2818           4 :     break;
    2819             : 
    2820             :   case 42:
    2821             : 
    2822             :     {
    2823             :          eq::server::Global::instance()->setWindowIAttribute(
    2824           4 :              eq::server::WindowSettings::IATTR_PLANES_ACCUM_ALPHA, (yyvsp[(2) - (2)]._int) );
    2825             :      ;}
    2826           4 :     break;
    2827             : 
    2828             :   case 43:
    2829             : 
    2830             :     {
    2831             :          eq::server::Global::instance()->setWindowIAttribute(
    2832           8 :              eq::server::WindowSettings::IATTR_PLANES_SAMPLES, (yyvsp[(2) - (2)]._int) );
    2833             :      ;}
    2834           8 :     break;
    2835             : 
    2836             :   case 44:
    2837             : 
    2838             :     {
    2839             :          eq::server::Global::instance()->setChannelIAttribute(
    2840           6 :              eq::server::Channel::IATTR_HINT_STATISTICS, (yyvsp[(2) - (2)]._int) );
    2841             :      ;}
    2842           6 :     break;
    2843             : 
    2844             :   case 45:
    2845             : 
    2846             :     {
    2847             :          eq::server::Global::instance()->setChannelIAttribute(
    2848           0 :              eq::server::Channel::IATTR_HINT_SENDTOKEN, (yyvsp[(2) - (2)]._int) );
    2849             :      ;}
    2850           0 :     break;
    2851             : 
    2852             :   case 46:
    2853             : 
    2854             :     {
    2855             :          eq::server::Global::instance()->setCompoundIAttribute(
    2856          12 :              eq::server::Compound::IATTR_STEREO_MODE, (yyvsp[(2) - (2)]._int) );
    2857             :      ;}
    2858          12 :     break;
    2859             : 
    2860             :   case 47:
    2861             : 
    2862             :     {
    2863             :          eq::server::Global::instance()->setCompoundIAttribute(
    2864           4 :              eq::server::Compound::IATTR_STEREO_ANAGLYPH_LEFT_MASK, (yyvsp[(2) - (2)]._unsigned) );
    2865             :      ;}
    2866           4 :     break;
    2867             : 
    2868             :   case 48:
    2869             : 
    2870             :     {
    2871             :          eq::server::Global::instance()->setCompoundIAttribute(
    2872           4 :              eq::server::Compound::IATTR_STEREO_ANAGLYPH_RIGHT_MASK, (yyvsp[(2) - (2)]._unsigned) );
    2873             :      ;}
    2874           4 :     break;
    2875             : 
    2876             :   case 49:
    2877             : 
    2878             :     {
    2879           0 :          LBWARN << "ignoring removed attribute EQ_COMPOUND_IATTR_UPDATE_FOV"
    2880           0 :                 << std::endl;
    2881             :      ;}
    2882           0 :     break;
    2883             : 
    2884             :   case 50:
    2885             : 
    2886             :     {
    2887             :         eq::server::Global::instance()->setChannelSAttribute(
    2888           4 :             eq::server::Channel::SATTR_DUMP_IMAGE, (yyvsp[(2) - (2)]._string) );
    2889             :      ;}
    2890           4 :     break;
    2891             : 
    2892             :   case 51:
    2893             : 
    2894             :     {
    2895             :         eq::server::Global::instance()->setViewSAttribute(
    2896           0 :             eq::server::View::SATTR_DEFLECT_HOST, (yyvsp[(2) - (2)]._string) );
    2897             :      ;}
    2898           0 :     break;
    2899             : 
    2900             :   case 52:
    2901             : 
    2902         468 :     { (yyval._connectionType) = co::CONNECTIONTYPE_TCPIP; ;}
    2903         468 :     break;
    2904             : 
    2905             :   case 53:
    2906             : 
    2907           0 :     { (yyval._connectionType) = co::CONNECTIONTYPE_NAMEDPIPE; ;}
    2908           0 :     break;
    2909             : 
    2910             :   case 54:
    2911             : 
    2912          64 :     { (yyval._connectionType) = co::CONNECTIONTYPE_RSP; ;}
    2913          64 :     break;
    2914             : 
    2915             :   case 55:
    2916             : 
    2917           0 :     { (yyval._connectionType) = co::CONNECTIONTYPE_RDMA; ;}
    2918           0 :     break;
    2919             : 
    2920             :   case 56:
    2921             : 
    2922           0 :     { (yyval._connectionType) = co::CONNECTIONTYPE_UDT; ;}
    2923           0 :     break;
    2924             : 
    2925             :   case 57:
    2926             : 
    2927         426 :     { server = new eq::server::Server(); ;}
    2928         426 :     break;
    2929             : 
    2930             :   case 61:
    2931             : 
    2932             :     {
    2933         396 :                 connectionDescription = new eq::server::ConnectionDescription;
    2934         396 :                 connectionDescription->setHostname( "" );
    2935         396 :                 connectionDescription->port = 0; // OS chosen port
    2936             :             ;}
    2937         396 :     break;
    2938             : 
    2939             :   case 62:
    2940             : 
    2941             :     {
    2942         396 :                 server->addConnectionDescription( connectionDescription.get( ));
    2943         396 :                 connectionDescription = 0;
    2944             :             ;}
    2945         396 :     break;
    2946             : 
    2947             :   case 65:
    2948             : 
    2949             :     {
    2950         426 :                 config = new eq::server::Config( server );
    2951         426 :                 config->setName( filename );
    2952         426 :                 node = new eq::server::Node( config );
    2953         426 :                 node->setApplicationNode( true );
    2954             :             ;}
    2955         426 :     break;
    2956             : 
    2957             :   case 66:
    2958             : 
    2959         426 :     { config = 0; ;}
    2960         426 :     break;
    2961             : 
    2962             :   case 70:
    2963             : 
    2964         210 :     { config->setName( (yyvsp[(2) - (2)]._string) ); ;}
    2965         210 :     break;
    2966             : 
    2967             :   case 75:
    2968             : 
    2969          38 :     { config->setLatency( (yyvsp[(2) - (2)]._unsigned) ); ;}
    2970          38 :     break;
    2971             : 
    2972             :   case 79:
    2973             : 
    2974             :     { config->setFAttribute(
    2975         212 :                              eq::server::Config::FATTR_EYE_BASE, (yyvsp[(2) - (2)]._float) ); ;}
    2976         212 :     break;
    2977             : 
    2978             :   case 80:
    2979             : 
    2980             :     { config->setIAttribute(
    2981         212 :                                  eq::server::Config::IATTR_ROBUSTNESS, (yyvsp[(2) - (2)]._int) ); ;}
    2982         212 :     break;
    2983             : 
    2984             :   case 83:
    2985             : 
    2986             :     {
    2987         436 :                                  node = new eq::server::Node( config );
    2988             :                              ;}
    2989         436 :     break;
    2990             : 
    2991             :   case 84:
    2992             : 
    2993         436 :     { node = 0; ;}
    2994         436 :     break;
    2995             : 
    2996             :   case 85:
    2997             : 
    2998             :     {
    2999         418 :                 node = config->findApplicationNode();
    3000         418 :                 LBASSERT( node );
    3001             :             ;}
    3002         418 :     break;
    3003             : 
    3004             :   case 86:
    3005             : 
    3006         418 :     { node = 0; ;}
    3007         418 :     break;
    3008             : 
    3009             :   case 89:
    3010             : 
    3011          36 :     { node->setName( (yyvsp[(2) - (2)]._string) ); ;}
    3012          36 :     break;
    3013             : 
    3014             :   case 90:
    3015             : 
    3016         260 :     { node->setHost( (yyvsp[(2) - (2)]._string) ); ;}
    3017         260 :     break;
    3018             : 
    3019             :   case 94:
    3020             : 
    3021         604 :     { connectionDescription = new eq::server::ConnectionDescription; ;}
    3022         604 :     break;
    3023             : 
    3024             :   case 95:
    3025             : 
    3026             :     {
    3027         604 :                  node->addConnectionDescription( connectionDescription );
    3028         604 :                  connectionDescription = 0;
    3029             :              ;}
    3030         604 :     break;
    3031             : 
    3032             :   case 98:
    3033             : 
    3034         530 :     { connectionDescription->type = (yyvsp[(2) - (2)]._connectionType); ;}
    3035         530 :     break;
    3036             : 
    3037             :   case 99:
    3038             : 
    3039        1000 :     { connectionDescription->setHostname((yyvsp[(2) - (2)]._string)); ;}
    3040        1000 :     break;
    3041             : 
    3042             :   case 100:
    3043             : 
    3044           0 :     { connectionDescription->setInterface((yyvsp[(2) - (2)]._string)); ;}
    3045           0 :     break;
    3046             : 
    3047             :   case 101:
    3048             : 
    3049           4 :     { connectionDescription->port = (yyvsp[(2) - (2)]._unsigned); ;}
    3050           4 :     break;
    3051             : 
    3052             :   case 102:
    3053             : 
    3054           0 :     { connectionDescription->bandwidth = (yyvsp[(2) - (2)]._unsigned); ;}
    3055           0 :     break;
    3056             : 
    3057             :   case 103:
    3058             : 
    3059         498 :     { connectionDescription->setFilename((yyvsp[(2) - (2)]._string)); ;}
    3060         498 :     break;
    3061             : 
    3062             :   case 106:
    3063             : 
    3064           0 :     { node->setSAttribute( eq::server::Node::SATTR_LAUNCH_COMMAND, (yyvsp[(2) - (2)]._string) ); ;}
    3065           0 :     break;
    3066             : 
    3067             :   case 107:
    3068             : 
    3069             :     { node->setCAttribute( eq::server::Node::CATTR_LAUNCH_COMMAND_QUOTE,
    3070           0 :                                (yyvsp[(2) - (2)]._character) ); ;}
    3071           0 :     break;
    3072             : 
    3073             :   case 108:
    3074             : 
    3075           0 :     { node->setIAttribute( eq::server::Node::IATTR_THREAD_MODEL, (yyvsp[(2) - (2)]._int) ); ;}
    3076           0 :     break;
    3077             : 
    3078             :   case 109:
    3079             : 
    3080           0 :     { node->setIAttribute( eq::server::Node::IATTR_LAUNCH_TIMEOUT, (yyvsp[(2) - (2)]._int) ); ;}
    3081           0 :     break;
    3082             : 
    3083             :   case 110:
    3084             : 
    3085             :     {
    3086           0 :             LBWARN
    3087           0 :                 << "Ignoring deprecated attribute Node::IATTR_HINT_STATISTICS"
    3088           0 :                 << std::endl;
    3089             :         ;}
    3090           0 :     break;
    3091             : 
    3092             :   case 111:
    3093             : 
    3094           0 :     { node->setIAttribute( eq::server::Node::IATTR_HINT_AFFINITY, (yyvsp[(2) - (2)]._int) ); ;}
    3095           0 :     break;
    3096             : 
    3097             :   case 112:
    3098             : 
    3099             :     {
    3100        1146 :                 eqPipe = new eq::server::Pipe( node );
    3101             :             ;}
    3102        1146 :     break;
    3103             : 
    3104             :   case 113:
    3105             : 
    3106        1146 :     { eqPipe = 0; ;}
    3107        1146 :     break;
    3108             : 
    3109             :   case 118:
    3110             : 
    3111         164 :     { eqPipe->setName( (yyvsp[(2) - (2)]._string) ); ;}
    3112         164 :     break;
    3113             : 
    3114             :   case 119:
    3115             : 
    3116           0 :     { eqPipe->setPort( (yyvsp[(2) - (2)]._unsigned) ); ;}
    3117           0 :     break;
    3118             : 
    3119             :   case 120:
    3120             : 
    3121         150 :     { eqPipe->setDevice( (yyvsp[(2) - (2)]._unsigned) ); ;}
    3122         150 :     break;
    3123             : 
    3124             :   case 121:
    3125             : 
    3126             :     {
    3127             :             eqPipe->setPixelViewport( eq::fabric::PixelViewport
    3128           0 :                         ( (int)(yyvsp[(2) - (2)]._viewport)[0], (int)(yyvsp[(2) - (2)]._viewport)[1], (int)(yyvsp[(2) - (2)]._viewport)[2], (int)(yyvsp[(2) - (2)]._viewport)[3] ));
    3129             :         ;}
    3130           0 :     break;
    3131             : 
    3132             :   case 124:
    3133             : 
    3134          20 :     { eqPipe->setIAttribute( eq::server::Pipe::IATTR_HINT_THREAD, (yyvsp[(2) - (2)]._int) ); ;}
    3135          20 :     break;
    3136             : 
    3137             :   case 125:
    3138             : 
    3139           0 :     { eqPipe->setIAttribute( eq::server::Pipe::IATTR_HINT_AFFINITY, (yyvsp[(2) - (2)]._int)); ;}
    3140           0 :     break;
    3141             : 
    3142             :   case 126:
    3143             : 
    3144             :     {
    3145        1494 :                 window = new eq::server::Window( eqPipe );
    3146        1494 :                 window->init(); // not in ctor, virtual method
    3147             :             ;}
    3148        1494 :     break;
    3149             : 
    3150             :   case 127:
    3151             : 
    3152        1494 :     { window = 0; ;}
    3153        1494 :     break;
    3154             : 
    3155             :   case 132:
    3156             : 
    3157         540 :     { window->setName( (yyvsp[(2) - (2)]._string) ); ;}
    3158         540 :     break;
    3159             : 
    3160             :   case 133:
    3161             : 
    3162             :     {
    3163        1274 :             if( (yyvsp[(2) - (2)]._viewport)[2] > 1 || (yyvsp[(2) - (2)]._viewport)[3] > 1 )
    3164             :                 window->setPixelViewport( eq::fabric::PixelViewport
    3165         632 :                         ( (int)(yyvsp[(2) - (2)]._viewport)[0], (int)(yyvsp[(2) - (2)]._viewport)[1], (int)(yyvsp[(2) - (2)]._viewport)[2], (int)(yyvsp[(2) - (2)]._viewport)[3] ));
    3166             :             else
    3167             :                 window->setViewport( eq::fabric::Viewport((yyvsp[(2) - (2)]._viewport)[0], (yyvsp[(2) - (2)]._viewport)[1],
    3168         642 :                                                           (yyvsp[(2) - (2)]._viewport)[2], (yyvsp[(2) - (2)]._viewport)[3]));
    3169             :         ;}
    3170        1274 :     break;
    3171             : 
    3172             :   case 136:
    3173             : 
    3174           0 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_HINT_CORE_PROFILE, (yyvsp[(2) - (2)]._int) ); ;}
    3175           0 :     break;
    3176             : 
    3177             :   case 137:
    3178             : 
    3179           0 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_HINT_OPENGL_MAJOR, (yyvsp[(2) - (2)]._int) ); ;}
    3180           0 :     break;
    3181             : 
    3182             :   case 138:
    3183             : 
    3184           0 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_HINT_OPENGL_MINOR, (yyvsp[(2) - (2)]._int) ); ;}
    3185           0 :     break;
    3186             : 
    3187             :   case 139:
    3188             : 
    3189           4 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_HINT_STEREO, (yyvsp[(2) - (2)]._int) ); ;}
    3190           4 :     break;
    3191             : 
    3192             :   case 140:
    3193             : 
    3194          12 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_HINT_DOUBLEBUFFER, (yyvsp[(2) - (2)]._int) ); ;}
    3195          12 :     break;
    3196             : 
    3197             :   case 141:
    3198             : 
    3199          80 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_HINT_FULLSCREEN, (yyvsp[(2) - (2)]._int) ); ;}
    3200          80 :     break;
    3201             : 
    3202             :   case 142:
    3203             : 
    3204          14 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_HINT_DECORATION, (yyvsp[(2) - (2)]._int) ); ;}
    3205          14 :     break;
    3206             : 
    3207             :   case 143:
    3208             : 
    3209          38 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_HINT_SWAPSYNC, (yyvsp[(2) - (2)]._int) ); ;}
    3210          38 :     break;
    3211             : 
    3212             :   case 144:
    3213             : 
    3214         112 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_HINT_DRAWABLE, (yyvsp[(2) - (2)]._int) ); ;}
    3215         112 :     break;
    3216             : 
    3217             :   case 145:
    3218             : 
    3219           8 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_HINT_STATISTICS, (yyvsp[(2) - (2)]._int) ); ;}
    3220           8 :     break;
    3221             : 
    3222             :   case 146:
    3223             : 
    3224           0 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_HINT_SCREENSAVER, (yyvsp[(2) - (2)]._int) ); ;}
    3225           0 :     break;
    3226             : 
    3227             :   case 147:
    3228             : 
    3229           2 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_HINT_GRAB_POINTER, (yyvsp[(2) - (2)]._int) ); ;}
    3230           2 :     break;
    3231             : 
    3232             :   case 148:
    3233             : 
    3234          28 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_PLANES_COLOR, (yyvsp[(2) - (2)]._int) ); ;}
    3235          28 :     break;
    3236             : 
    3237             :   case 149:
    3238             : 
    3239           4 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_PLANES_ALPHA, (yyvsp[(2) - (2)]._int) ); ;}
    3240           4 :     break;
    3241             : 
    3242             :   case 150:
    3243             : 
    3244           8 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_PLANES_DEPTH, (yyvsp[(2) - (2)]._int) ); ;}
    3245           8 :     break;
    3246             : 
    3247             :   case 151:
    3248             : 
    3249          70 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_PLANES_STENCIL, (yyvsp[(2) - (2)]._int) ); ;}
    3250          70 :     break;
    3251             : 
    3252             :   case 152:
    3253             : 
    3254           2 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_PLANES_ACCUM, (yyvsp[(2) - (2)]._int) ); ;}
    3255           2 :     break;
    3256             : 
    3257             :   case 153:
    3258             : 
    3259           2 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_PLANES_ACCUM_ALPHA, (yyvsp[(2) - (2)]._int) ); ;}
    3260           2 :     break;
    3261             : 
    3262             :   case 154:
    3263             : 
    3264           8 :     { window->setIAttribute( eq::server::WindowSettings::IATTR_PLANES_SAMPLES, (yyvsp[(2) - (2)]._int) ); ;}
    3265           8 :     break;
    3266             : 
    3267             :   case 155:
    3268             : 
    3269             :     {
    3270        1650 :                 channel = new eq::server::Channel( window );
    3271        1650 :                 channel->init(); // not in ctor, virtual method
    3272             :             ;}
    3273        1650 :     break;
    3274             : 
    3275             :   case 156:
    3276             : 
    3277        1650 :     { channel = 0; ;}
    3278        1650 :     break;
    3279             : 
    3280             :   case 159:
    3281             : 
    3282        1650 :     { channel->setName( (yyvsp[(2) - (2)]._string) ); ;}
    3283        1650 :     break;
    3284             : 
    3285             :   case 161:
    3286             : 
    3287             :     {
    3288        1248 :             if( (yyvsp[(2) - (2)]._viewport)[2] > 1 || (yyvsp[(2) - (2)]._viewport)[3] > 1 )
    3289             :                 channel->setPixelViewport( eq::fabric::PixelViewport
    3290         350 :                     ( (int)(yyvsp[(2) - (2)]._viewport)[0], (int)(yyvsp[(2) - (2)]._viewport)[1], (int)(yyvsp[(2) - (2)]._viewport)[2], (int)(yyvsp[(2) - (2)]._viewport)[3] ));
    3291             :             else
    3292             :                 channel->setViewport(eq::fabric::Viewport( (yyvsp[(2) - (2)]._viewport)[0], (yyvsp[(2) - (2)]._viewport)[1],
    3293         898 :                                                            (yyvsp[(2) - (2)]._viewport)[2], (yyvsp[(2) - (2)]._viewport)[3]));
    3294             :         ;}
    3295        1248 :     break;
    3296             : 
    3297             :   case 164:
    3298             : 
    3299             :     { channel->setIAttribute( eq::server::Channel::IATTR_HINT_STATISTICS,
    3300           0 :                                   (yyvsp[(2) - (2)]._int) ); ;}
    3301           0 :     break;
    3302             : 
    3303             :   case 165:
    3304             : 
    3305             :     { channel->setIAttribute( eq::server::Channel::IATTR_HINT_SENDTOKEN,
    3306           0 :                                   (yyvsp[(2) - (2)]._int) ); ;}
    3307           0 :     break;
    3308             : 
    3309             :   case 166:
    3310             : 
    3311             :     { channel->setSAttribute( eq::server::Channel::SATTR_DUMP_IMAGE,
    3312           2 :                                   (yyvsp[(2) - (2)]._string) ); ;}
    3313           2 :     break;
    3314             : 
    3315             :   case 167:
    3316             : 
    3317         414 :     { observer = new eq::server::Observer( config );;}
    3318         414 :     break;
    3319             : 
    3320             :   case 168:
    3321             : 
    3322         414 :     { observer = 0; ;}
    3323         414 :     break;
    3324             : 
    3325             :   case 171:
    3326             : 
    3327           8 :     { observer->setName( (yyvsp[(2) - (2)]._string) ); ;}
    3328           8 :     break;
    3329             : 
    3330             :   case 172:
    3331             : 
    3332             :     {
    3333           0 :         const float eyeBase_2 = (yyvsp[(2) - (2)]._float) * .5f;
    3334             :         observer->setEyePosition( eq::fabric::EYE_LEFT,
    3335           0 :                                   eq::fabric::Vector3f( -eyeBase_2, 0.f, 0.f ));
    3336             :         observer->setEyePosition( eq::fabric::EYE_CYCLOP,
    3337           0 :                                   eq::fabric::Vector3f::ZERO );
    3338             :         observer->setEyePosition( eq::fabric::EYE_RIGHT,
    3339           0 :                                   eq::fabric::Vector3f( eyeBase_2, 0.f, 0.f ));
    3340             :     ;}
    3341           0 :     break;
    3342             : 
    3343             :   case 173:
    3344             : 
    3345             :     {
    3346             :         observer->setEyePosition( eq::fabric::EYE_LEFT,
    3347         212 :                                   eq::fabric::Vector3f( (yyvsp[(3) - (6)]._float), (yyvsp[(4) - (6)]._float), (yyvsp[(5) - (6)]._float) ));
    3348             :     ;}
    3349         212 :     break;
    3350             : 
    3351             :   case 174:
    3352             : 
    3353             :     {
    3354             :         observer->setEyePosition( eq::fabric::EYE_CYCLOP,
    3355         212 :                                   eq::fabric::Vector3f( (yyvsp[(3) - (6)]._float), (yyvsp[(4) - (6)]._float), (yyvsp[(5) - (6)]._float) ));
    3356             :     ;}
    3357         212 :     break;
    3358             : 
    3359             :   case 175:
    3360             : 
    3361             :     {
    3362             :         observer->setEyePosition( eq::fabric::EYE_RIGHT,
    3363         212 :                                   eq::fabric::Vector3f( (yyvsp[(3) - (6)]._float), (yyvsp[(4) - (6)]._float), (yyvsp[(5) - (6)]._float) ));
    3364             :     ;}
    3365         212 :     break;
    3366             : 
    3367             :   case 176:
    3368             : 
    3369         214 :     { observer->setFocusDistance( (yyvsp[(2) - (2)]._float) ); ;}
    3370         214 :     break;
    3371             : 
    3372             :   case 177:
    3373             : 
    3374         214 :     { observer->setFocusMode( eq::fabric::FocusMode( (yyvsp[(2) - (2)]._int) )); ;}
    3375         214 :     break;
    3376             : 
    3377             :   case 178:
    3378             : 
    3379         212 :     { observer->setOpenCVCamera( (yyvsp[(2) - (2)]._int) ); ;}
    3380         212 :     break;
    3381             : 
    3382             :   case 179:
    3383             : 
    3384           0 :     { observer->setVRPNTracker( (yyvsp[(2) - (2)]._string) ); ;}
    3385           0 :     break;
    3386             : 
    3387             :   case 180:
    3388             : 
    3389         654 :     { layout = new eq::server::Layout( config ); ;}
    3390         654 :     break;
    3391             : 
    3392             :   case 181:
    3393             : 
    3394         654 :     { layout = 0; ;}
    3395         654 :     break;
    3396             : 
    3397             :   case 184:
    3398             : 
    3399         300 :     { layout->setName( (yyvsp[(2) - (2)]._string) ); ;}
    3400         300 :     break;
    3401             : 
    3402             :   case 186:
    3403             : 
    3404         722 :     { view = new eq::server::View( layout ); ;}
    3405         722 :     break;
    3406             : 
    3407             :   case 187:
    3408             : 
    3409         722 :     { view = 0; ;}
    3410         722 :     break;
    3411             : 
    3412             :   case 191:
    3413             : 
    3414           4 :     { view->setName( (yyvsp[(2) - (2)]._string) ); ;}
    3415           4 :     break;
    3416             : 
    3417             :   case 192:
    3418             : 
    3419          88 :     { view->changeMode( eq::server::View::MODE_MONO ); ;}
    3420          88 :     break;
    3421             : 
    3422             :   case 194:
    3423             : 
    3424             :     { view->setViewport( eq::fabric::Viewport( (yyvsp[(2) - (2)]._viewport)[0], (yyvsp[(2) - (2)]._viewport)[1],
    3425         236 :                                                    (yyvsp[(2) - (2)]._viewport)[2], (yyvsp[(2) - (2)]._viewport)[3] ));;}
    3426         236 :     break;
    3427             : 
    3428             :   case 195:
    3429             : 
    3430         232 :     { view->setWall( wall ); ;}
    3431         232 :     break;
    3432             : 
    3433             :   case 196:
    3434             : 
    3435           0 :     { view->setProjection( projection ); ;}
    3436           0 :     break;
    3437             : 
    3438             :   case 197:
    3439             : 
    3440             :     {
    3441         358 :           eq::server::Observer* ob = config->find< eq::server::Observer >( (yyvsp[(2) - (2)]._string) );
    3442         358 :           if( ob )
    3443         358 :               view->setObserver( ob );
    3444             :           else
    3445             :           {
    3446           0 :               yyerror( "No observer of the given name" );
    3447           0 :               YYERROR;
    3448             :           }
    3449             :       ;}
    3450         358 :     break;
    3451             : 
    3452             :   case 198:
    3453             : 
    3454             :     {
    3455         310 :           const eq::server::ObserverPath path( (yyvsp[(2) - (2)]._unsigned) );
    3456         310 :           eq::server::Observer* ob = config->getObserver( path );
    3457         310 :           if( ob )
    3458         310 :               view->setObserver( ob );
    3459             :           else
    3460             :           {
    3461           0 :               yyerror( "No observer of the given index" );
    3462           0 :               YYERROR;
    3463             :           }
    3464             :       ;}
    3465         310 :     break;
    3466             : 
    3467             :   case 199:
    3468             : 
    3469           0 :     { view->changeMode( eq::server::View::MODE_MONO ); ;}
    3470           0 :     break;
    3471             : 
    3472             :   case 200:
    3473             : 
    3474          88 :     { view->changeMode( eq::server::View::MODE_STEREO ); ;}
    3475          88 :     break;
    3476             : 
    3477             :   case 203:
    3478             : 
    3479             :     {
    3480           2 :         view->setSAttribute( eq::server::View::SATTR_DEFLECT_HOST, (yyvsp[(2) - (2)]._string) );
    3481             :      ;}
    3482           2 :     break;
    3483             : 
    3484             :   case 204:
    3485             : 
    3486         442 :     { canvas = new eq::server::Canvas( config ); ;}
    3487         442 :     break;
    3488             : 
    3489             :   case 205:
    3490             : 
    3491         442 :     { config->activateCanvas( canvas ); canvas = 0; ;}
    3492         442 :     break;
    3493             : 
    3494             :   case 208:
    3495             : 
    3496          12 :     { canvas->setName( (yyvsp[(2) - (2)]._string) ); ;}
    3497          12 :     break;
    3498             : 
    3499             :   case 209:
    3500             : 
    3501             :     {
    3502         480 :           eq::server::Layout* l = config->find< eq::server::Layout >( (yyvsp[(2) - (2)]._string) );
    3503         480 :           if( l )
    3504         480 :               canvas->addLayout( l );
    3505             :           else
    3506             :           {
    3507           0 :               yyerror( "No layout of the given name" );
    3508           0 :               YYERROR;
    3509             :           }
    3510             :       ;}
    3511         480 :     break;
    3512             : 
    3513             :   case 210:
    3514             : 
    3515           4 :     { canvas->setSwapBarrier( swapBarrier ); swapBarrier = 0; ;}
    3516           4 :     break;
    3517             : 
    3518             :   case 211:
    3519             : 
    3520             :     {
    3521         182 :           const eq::server::LayoutPath path( (yyvsp[(2) - (2)]._unsigned) );
    3522         182 :           eq::server::Layout* l = config->getLayout( path );
    3523         182 :           if( l )
    3524         182 :               canvas->addLayout( l );
    3525             :           else
    3526             :           {
    3527           0 :               yyerror( "No layout of the given index" );
    3528           0 :               YYERROR;
    3529             :           }
    3530             :       ;}
    3531         182 :     break;
    3532             : 
    3533             :   case 212:
    3534             : 
    3535             :     {
    3536           4 :           canvas->addLayout( 0 );
    3537             :       ;}
    3538           4 :     break;
    3539             : 
    3540             :   case 213:
    3541             : 
    3542         416 :     { canvas->setWall( wall ); ;}
    3543         416 :     break;
    3544             : 
    3545             :   case 214:
    3546             : 
    3547           0 :     { canvas->setProjection( projection ); ;}
    3548           0 :     break;
    3549             : 
    3550             :   case 216:
    3551             : 
    3552         754 :     { segment = new eq::server::Segment( canvas ); ;}
    3553         754 :     break;
    3554             : 
    3555             :   case 220:
    3556             : 
    3557           0 :     { segment->setName( (yyvsp[(2) - (2)]._string) ); ;}
    3558           0 :     break;
    3559             : 
    3560             :   case 221:
    3561             : 
    3562             :     {
    3563         754 :             eq::server::Channel* ch = config->find< eq::server::Channel >( (yyvsp[(2) - (2)]._string) );
    3564         754 :             if( ch )
    3565         754 :                 segment->setChannel( ch );
    3566             :             else
    3567             :             {
    3568           0 :                 yyerror( "No channel of the given name" );
    3569           0 :                 YYERROR;
    3570             :             }
    3571             :         ;}
    3572         754 :     break;
    3573             : 
    3574             :   case 222:
    3575             : 
    3576          44 :     { segment->setEyes( eq::fabric::EYE_UNDEFINED );;}
    3577          44 :     break;
    3578             : 
    3579             :   case 224:
    3580             : 
    3581             :     { segment->setViewport( eq::fabric::Viewport( (yyvsp[(2) - (2)]._viewport)[0], (yyvsp[(2) - (2)]._viewport)[1],
    3582         248 :                                                       (yyvsp[(2) - (2)]._viewport)[2], (yyvsp[(2) - (2)]._viewport)[3] ));;}
    3583         248 :     break;
    3584             : 
    3585             :   case 225:
    3586             : 
    3587           0 :     { segment->setSwapBarrier( swapBarrier ); swapBarrier = 0; ;}
    3588           0 :     break;
    3589             : 
    3590             :   case 226:
    3591             : 
    3592         248 :     { segment->setWall( wall ); ;}
    3593         248 :     break;
    3594             : 
    3595             :   case 227:
    3596             : 
    3597          12 :     { segment->setProjection( projection ); ;}
    3598          12 :     break;
    3599             : 
    3600             :   case 230:
    3601             : 
    3602          32 :     { segment->enableEye( eq::fabric::EYE_CYCLOP ); ;}
    3603          32 :     break;
    3604             : 
    3605             :   case 231:
    3606             : 
    3607          20 :     { segment->enableEye( eq::fabric::EYE_LEFT ); ;}
    3608          20 :     break;
    3609             : 
    3610             :   case 232:
    3611             : 
    3612          20 :     { segment->enableEye( eq::fabric::EYE_RIGHT ); ;}
    3613          20 :     break;
    3614             : 
    3615             :   case 233:
    3616             : 
    3617             :     {
    3618        3874 :                   if( eqCompound )
    3619        3266 :                       eqCompound = new eq::server::Compound( eqCompound );
    3620             :                   else
    3621         608 :                       eqCompound = new eq::server::Compound( config );
    3622             :               ;}
    3623        3874 :     break;
    3624             : 
    3625             :   case 234:
    3626             : 
    3627        3874 :     { eqCompound = eqCompound->getParent(); ;}
    3628        3874 :     break;
    3629             : 
    3630             :   case 238:
    3631             : 
    3632          16 :     { eqCompound->setName( (yyvsp[(2) - (2)]._string) ); ;}
    3633          16 :     break;
    3634             : 
    3635             :   case 239:
    3636             : 
    3637             :     {
    3638        1708 :           eq::server::Channel* ch = config->find< eq::server::Channel >( (yyvsp[(2) - (2)]._string) );
    3639        1708 :           if( ch )
    3640        1708 :               eqCompound->setChannel( ch );
    3641             :           else
    3642             :           {
    3643           0 :               yyerror( "No channel of the given name" );
    3644           0 :               YYERROR;
    3645             :           }
    3646             :       ;}
    3647        1708 :     break;
    3648             : 
    3649             :   case 240:
    3650             : 
    3651             :     {
    3652        1032 :           if( !segment || !view )
    3653             :           {
    3654           0 :               yyerror( "Incomplete channel reference (view or segment missing)" );
    3655           0 :               YYERROR;
    3656             :           }
    3657             :           else
    3658             :           {
    3659        1032 :               eq::server::Channel* ch = config->findChannel( segment, view );
    3660        1032 :               if( ch )
    3661        1032 :                   eqCompound->setChannel( ch );
    3662             :               else
    3663             :               {
    3664           0 :                   yyerror( "No channel for the given view and segment" );
    3665           0 :                   YYERROR;
    3666             :               }
    3667             :           }
    3668             : 
    3669        1032 :           canvas = 0;
    3670        1032 :           segment = 0;
    3671        1032 :           layout = 0;
    3672        1032 :           view = 0;
    3673             :       ;}
    3674        1032 :     break;
    3675             : 
    3676             :   case 241:
    3677             : 
    3678         376 :     { eqCompound->setTasks( eq::fabric::TASK_NONE ); ;}
    3679         376 :     break;
    3680             : 
    3681             :   case 243:
    3682             : 
    3683         216 :     { eqCompound->setEyes( eq::fabric::EYE_UNDEFINED );;}
    3684         216 :     break;
    3685             : 
    3686             :   case 245:
    3687             : 
    3688         204 :     { flags = eq::fabric::Frame::BUFFER_NONE; ;}
    3689         204 :     break;
    3690             : 
    3691             :   case 246:
    3692             : 
    3693         204 :     { eqCompound->setBuffers( flags ); flags = 0; ;}
    3694         204 :     break;
    3695             : 
    3696             :   case 247:
    3697             : 
    3698             :     { eqCompound->setViewport( eq::fabric::Viewport( (yyvsp[(2) - (2)]._viewport)[0], (yyvsp[(2) - (2)]._viewport)[1],
    3699         256 :                                                          (yyvsp[(2) - (2)]._viewport)[2], (yyvsp[(2) - (2)]._viewport)[3] ));;}
    3700         256 :     break;
    3701             : 
    3702             :   case 248:
    3703             : 
    3704         724 :     { eqCompound->setRange( eq::fabric::Range( (yyvsp[(3) - (5)]._float), (yyvsp[(4) - (5)]._float) )); ;}
    3705         724 :     break;
    3706             : 
    3707             :   case 249:
    3708             : 
    3709          68 :     { eqCompound->setPeriod( (yyvsp[(2) - (2)]._unsigned) ); ;}
    3710          68 :     break;
    3711             : 
    3712             :   case 250:
    3713             : 
    3714          68 :     { eqCompound->setPhase( (yyvsp[(2) - (2)]._unsigned) ); ;}
    3715          68 :     break;
    3716             : 
    3717             :   case 251:
    3718             : 
    3719           4 :     { eqCompound->setZoom( eq::fabric::Zoom( (yyvsp[(3) - (5)]._float), (yyvsp[(4) - (5)]._float) )); ;}
    3720           4 :     break;
    3721             : 
    3722             :   case 252:
    3723             : 
    3724          92 :     { eqCompound->setPixel( eq::fabric::Pixel( (yyvsp[(3) - (7)]._unsigned), (yyvsp[(4) - (7)]._unsigned), (yyvsp[(5) - (7)]._unsigned), (yyvsp[(6) - (7)]._unsigned) )); ;}
    3725          92 :     break;
    3726             : 
    3727             :   case 253:
    3728             : 
    3729          44 :     { eqCompound->setSubPixel( eq::fabric::SubPixel( (yyvsp[(3) - (5)]._unsigned), (yyvsp[(4) - (5)]._unsigned) )); ;}
    3730          44 :     break;
    3731             : 
    3732             :   case 254:
    3733             : 
    3734          56 :     { eqCompound->setWall( wall ); ;}
    3735          56 :     break;
    3736             : 
    3737             :   case 255:
    3738             : 
    3739           0 :     { eqCompound->setProjection( projection ); ;}
    3740           0 :     break;
    3741             : 
    3742             :   case 257:
    3743             : 
    3744         396 :     { eqCompound->setSwapBarrier(swapBarrier); swapBarrier = 0; ;}
    3745         396 :     break;
    3746             : 
    3747             :   case 263:
    3748             : 
    3749             :     {
    3750        1032 :             canvas = 0;
    3751        1032 :             segment = config->getSegment( eq::server::SegmentPath( 0 ));
    3752        1032 :             layout = 0;
    3753        1032 :             view = config->getView( eq::server::ViewPath( 0 ));;
    3754             :         ;}
    3755        1032 :     break;
    3756             : 
    3757             :   case 267:
    3758             : 
    3759             :     {
    3760          16 :             canvas = config->find< eq::server::Canvas >( (yyvsp[(2) - (2)]._string) );
    3761          16 :             if( !canvas )
    3762             :             {
    3763           0 :                 yyerror( "Can't find canvas" );
    3764           0 :                 YYERROR;
    3765             :             }
    3766          16 :             segment = canvas->getSegment( eq::server::SegmentPath( 0 ));
    3767             :         ;}
    3768          16 :     break;
    3769             : 
    3770             :   case 268:
    3771             : 
    3772             :     {
    3773         598 :             canvas = config->getCanvas( eq::server::CanvasPath( (yyvsp[(2) - (2)]._unsigned) ));
    3774         598 :             if( !canvas )
    3775             :             {
    3776           0 :                 yyerror( "Can't find canvas" );
    3777           0 :                 YYERROR;
    3778             :             }
    3779         598 :             segment = canvas->getSegment( eq::server::SegmentPath( 0 ));
    3780             :         ;}
    3781         598 :     break;
    3782             : 
    3783             :   case 269:
    3784             : 
    3785             :     {
    3786           0 :             if( canvas )
    3787           0 :                 segment = canvas->findSegment( (yyvsp[(2) - (2)]._string) );
    3788             :             else
    3789           0 :                 segment = config->find< eq::server::Segment >( (yyvsp[(2) - (2)]._string) );
    3790             :         ;}
    3791           0 :     break;
    3792             : 
    3793             :   case 270:
    3794             : 
    3795             :     {
    3796        1026 :             if( canvas )
    3797         614 :                 segment = canvas->getSegment( eq::server::SegmentPath( (yyvsp[(2) - (2)]._unsigned) ));
    3798             :             else
    3799         412 :                 segment = config->getSegment( eq::server::SegmentPath( (yyvsp[(2) - (2)]._unsigned) ));
    3800             :         ;}
    3801        1026 :     break;
    3802             : 
    3803             :   case 271:
    3804             : 
    3805             :     {
    3806         478 :             layout = config->find< eq::server::Layout >( (yyvsp[(2) - (2)]._string) );
    3807         478 :             if( !layout )
    3808             :             {
    3809           0 :                 yyerror( "Can't find layout" );
    3810           0 :                 YYERROR;
    3811             :             }
    3812         478 :             view = layout->getView( eq::server::ViewPath( 0 ));;
    3813             :         ;}
    3814         478 :     break;
    3815             : 
    3816             :   case 272:
    3817             : 
    3818             :     {
    3819         338 :             layout = config->getLayout( eq::server::LayoutPath( (yyvsp[(2) - (2)]._unsigned) ));
    3820         338 :             if( !layout )
    3821             :             {
    3822           0 :                 yyerror( "Can't find layout" );
    3823           0 :                 YYERROR;
    3824             :             }
    3825         338 :             view = layout->getView( eq::server::ViewPath( 0 ));;
    3826             :         ;}
    3827         338 :     break;
    3828             : 
    3829             :   case 273:
    3830             : 
    3831             :     {
    3832           2 :             if( layout )
    3833           2 :                 view = layout->findView( (yyvsp[(2) - (2)]._string) );
    3834             :             else
    3835           0 :                 view = config->find< eq::server::View >( (yyvsp[(2) - (2)]._string) );
    3836             :         ;}
    3837           2 :     break;
    3838             : 
    3839             :   case 274:
    3840             : 
    3841             :     {
    3842        1024 :             if( layout )
    3843         808 :                 view = layout->getView( eq::server::ViewPath( (yyvsp[(2) - (2)]._unsigned) ));
    3844             :             else
    3845         216 :                 view = config->getView( eq::server::ViewPath( (yyvsp[(2) - (2)]._unsigned) ));
    3846             :         ;}
    3847        1024 :     break;
    3848             : 
    3849             :   case 277:
    3850             : 
    3851         176 :     { eqCompound->enableTask( eq::fabric::TASK_CLEAR ); ;}
    3852         176 :     break;
    3853             : 
    3854             :   case 278:
    3855             : 
    3856           8 :     { eqCompound->enableTask( eq::fabric::TASK_DRAW ); ;}
    3857           8 :     break;
    3858             : 
    3859             :   case 279:
    3860             : 
    3861         240 :     { eqCompound->enableTask( eq::fabric::TASK_ASSEMBLE );;}
    3862         240 :     break;
    3863             : 
    3864             :   case 280:
    3865             : 
    3866         144 :     { eqCompound->enableTask( eq::fabric::TASK_READBACK );;}
    3867         144 :     break;
    3868             : 
    3869             :   case 283:
    3870             : 
    3871         148 :     { eqCompound->enableEye( eq::fabric::EYE_CYCLOP ); ;}
    3872         148 :     break;
    3873             : 
    3874             :   case 284:
    3875             : 
    3876         104 :     { eqCompound->enableEye( eq::fabric::EYE_LEFT ); ;}
    3877         104 :     break;
    3878             : 
    3879             :   case 285:
    3880             : 
    3881         108 :     { eqCompound->enableEye( eq::fabric::EYE_RIGHT ); ;}
    3882         108 :     break;
    3883             : 
    3884             :   case 288:
    3885             : 
    3886         452 :     { flags |= eq::fabric::Frame::BUFFER_COLOR; ;}
    3887         452 :     break;
    3888             : 
    3889             :   case 289:
    3890             : 
    3891         204 :     { flags |= eq::fabric::Frame::BUFFER_DEPTH; ;}
    3892         204 :     break;
    3893             : 
    3894             :   case 290:
    3895             : 
    3896         952 :     { wall = eq::fabric::Wall(); ;}
    3897         952 :     break;
    3898             : 
    3899             :   case 294:
    3900             : 
    3901         782 :     { wall.bottomLeft = eq::fabric::Vector3f( (yyvsp[(3) - (6)]._float), (yyvsp[(4) - (6)]._float), (yyvsp[(5) - (6)]._float) ); ;}
    3902         782 :     break;
    3903             : 
    3904             :   case 295:
    3905             : 
    3906         782 :     { wall.bottomRight = eq::fabric::Vector3f( (yyvsp[(3) - (6)]._float), (yyvsp[(4) - (6)]._float), (yyvsp[(5) - (6)]._float) ); ;}
    3907         782 :     break;
    3908             : 
    3909             :   case 296:
    3910             : 
    3911         782 :     { wall.topLeft = eq::fabric::Vector3f( (yyvsp[(3) - (6)]._float), (yyvsp[(4) - (6)]._float), (yyvsp[(5) - (6)]._float) ); ;}
    3912         782 :     break;
    3913             : 
    3914             :   case 298:
    3915             : 
    3916           0 :     { wall.type = eq::fabric::Wall::TYPE_FIXED; ;}
    3917           0 :     break;
    3918             : 
    3919             :   case 299:
    3920             : 
    3921          26 :     { wall.type = eq::fabric::Wall::TYPE_HMD; ;}
    3922          26 :     break;
    3923             : 
    3924             :   case 300:
    3925             : 
    3926          12 :     { projection = eq::fabric::Projection(); ;}
    3927          12 :     break;
    3928             : 
    3929             :   case 304:
    3930             : 
    3931          12 :     { projection.origin = eq::fabric::Vector3f( (yyvsp[(3) - (6)]._float), (yyvsp[(4) - (6)]._float), (yyvsp[(5) - (6)]._float) ); ;}
    3932          12 :     break;
    3933             : 
    3934             :   case 305:
    3935             : 
    3936          12 :     { projection.distance = (yyvsp[(2) - (2)]._float); ;}
    3937          12 :     break;
    3938             : 
    3939             :   case 306:
    3940             : 
    3941          12 :     { projection.fov = eq::fabric::Vector2f( (yyvsp[(3) - (5)]._float), (yyvsp[(4) - (5)]._float) ); ;}
    3942          12 :     break;
    3943             : 
    3944             :   case 307:
    3945             : 
    3946          12 :     { projection.hpr = eq::fabric::Vector3f( (yyvsp[(3) - (6)]._float), (yyvsp[(4) - (6)]._float), (yyvsp[(5) - (6)]._float) ); ;}
    3947          12 :     break;
    3948             : 
    3949             :   case 315:
    3950             : 
    3951          16 :     { dfrEqualizer = new eq::server::DFREqualizer; ;}
    3952          16 :     break;
    3953             : 
    3954             :   case 316:
    3955             : 
    3956             :     {
    3957          16 :         eqCompound->addEqualizer( dfrEqualizer );
    3958          16 :         dfrEqualizer = 0;
    3959             :     ;}
    3960          16 :     break;
    3961             : 
    3962             :   case 317:
    3963             : 
    3964             :     {
    3965          28 :         eqCompound->addEqualizer( new eq::server::FramerateEqualizer );
    3966             :     ;}
    3967          28 :     break;
    3968             : 
    3969             :   case 318:
    3970             : 
    3971         188 :     { loadEqualizer = new eq::server::LoadEqualizer; ;}
    3972         188 :     break;
    3973             : 
    3974             :   case 319:
    3975             : 
    3976             :     {
    3977         188 :         eqCompound->addEqualizer( loadEqualizer );
    3978         188 :         loadEqualizer = 0;
    3979             :     ;}
    3980         188 :     break;
    3981             : 
    3982             :   case 320:
    3983             : 
    3984           0 :     { treeEqualizer = new eq::server::TreeEqualizer; ;}
    3985           0 :     break;
    3986             : 
    3987             :   case 321:
    3988             : 
    3989             :     {
    3990           0 :         eqCompound->addEqualizer( treeEqualizer );
    3991           0 :         treeEqualizer = 0;
    3992             :     ;}
    3993           0 :     break;
    3994             : 
    3995             :   case 322:
    3996             : 
    3997             :     {
    3998           4 :         eqCompound->addEqualizer( new eq::server::MonitorEqualizer );
    3999             :     ;}
    4000           4 :     break;
    4001             : 
    4002             :   case 323:
    4003             : 
    4004             :     {
    4005          32 :         eqCompound->addEqualizer( new eq::server::ViewEqualizer );
    4006             :     ;}
    4007          32 :     break;
    4008             : 
    4009             :   case 324:
    4010             : 
    4011           8 :     { tileEqualizer = new eq::server::TileEqualizer; ;}
    4012           8 :     break;
    4013             : 
    4014             :   case 325:
    4015             : 
    4016             :     {
    4017           8 :         eqCompound->addEqualizer( tileEqualizer );
    4018           8 :         tileEqualizer = 0;
    4019             :     ;}
    4020           8 :     break;
    4021             : 
    4022             :   case 328:
    4023             : 
    4024           2 :     { dfrEqualizer->setDamping( (yyvsp[(2) - (2)]._float) ); ;}
    4025           2 :     break;
    4026             : 
    4027             :   case 329:
    4028             : 
    4029          16 :     { dfrEqualizer->setFrameRate( (yyvsp[(2) - (2)]._float) ); ;}
    4030          16 :     break;
    4031             : 
    4032             :   case 332:
    4033             : 
    4034           8 :     { loadEqualizer->setDamping( (yyvsp[(2) - (2)]._float) ); ;}
    4035           8 :     break;
    4036             : 
    4037             :   case 333:
    4038             : 
    4039           0 :     { loadEqualizer->setBoundary( eq::fabric::Vector2i( (yyvsp[(3) - (5)]._unsigned), (yyvsp[(4) - (5)]._unsigned) )); ;}
    4040           0 :     break;
    4041             : 
    4042             :   case 334:
    4043             : 
    4044           0 :     { loadEqualizer->setAssembleOnlyLimit( (yyvsp[(2) - (2)]._float) ); ;}
    4045           0 :     break;
    4046             : 
    4047             :   case 335:
    4048             : 
    4049           0 :     { loadEqualizer->setBoundary( (yyvsp[(2) - (2)]._float) ); ;}
    4050           0 :     break;
    4051             : 
    4052             :   case 336:
    4053             : 
    4054         140 :     { loadEqualizer->setMode( (yyvsp[(2) - (2)]._loadEqualizerMode) ); ;}
    4055         140 :     break;
    4056             : 
    4057             :   case 337:
    4058             : 
    4059           0 :     { loadEqualizer->setResistance( eq::fabric::Vector2i( (yyvsp[(3) - (5)]._unsigned), (yyvsp[(4) - (5)]._unsigned) )); ;}
    4060           0 :     break;
    4061             : 
    4062             :   case 338:
    4063             : 
    4064           0 :     { loadEqualizer->setResistance( (yyvsp[(2) - (2)]._float) ); ;}
    4065           0 :     break;
    4066             : 
    4067             :   case 339:
    4068             : 
    4069          92 :     { (yyval._loadEqualizerMode) = eq::server::LoadEqualizer::MODE_2D; ;}
    4070          92 :     break;
    4071             : 
    4072             :   case 340:
    4073             : 
    4074          24 :     { (yyval._loadEqualizerMode) = eq::server::LoadEqualizer::MODE_DB; ;}
    4075          24 :     break;
    4076             : 
    4077             :   case 341:
    4078             : 
    4079          16 :     { (yyval._loadEqualizerMode) = eq::server::LoadEqualizer::MODE_HORIZONTAL; ;}
    4080          16 :     break;
    4081             : 
    4082             :   case 342:
    4083             : 
    4084           8 :     { (yyval._loadEqualizerMode) = eq::server::LoadEqualizer::MODE_VERTICAL; ;}
    4085           8 :     break;
    4086             : 
    4087             :   case 345:
    4088             : 
    4089           0 :     { treeEqualizer->setDamping( (yyvsp[(2) - (2)]._float) ); ;}
    4090           0 :     break;
    4091             : 
    4092             :   case 346:
    4093             : 
    4094           0 :     { treeEqualizer->setBoundary( eq::fabric::Vector2i( (yyvsp[(3) - (5)]._unsigned), (yyvsp[(4) - (5)]._unsigned) )); ;}
    4095           0 :     break;
    4096             : 
    4097             :   case 347:
    4098             : 
    4099           0 :     { treeEqualizer->setBoundary( (yyvsp[(2) - (2)]._float) ); ;}
    4100           0 :     break;
    4101             : 
    4102             :   case 348:
    4103             : 
    4104           0 :     { treeEqualizer->setMode( (yyvsp[(2) - (2)]._treeEqualizerMode) ); ;}
    4105           0 :     break;
    4106             : 
    4107             :   case 349:
    4108             : 
    4109           0 :     { treeEqualizer->setResistance( eq::fabric::Vector2i( (yyvsp[(3) - (5)]._unsigned), (yyvsp[(4) - (5)]._unsigned) )); ;}
    4110           0 :     break;
    4111             : 
    4112             :   case 350:
    4113             : 
    4114           0 :     { treeEqualizer->setResistance( (yyvsp[(2) - (2)]._float) ); ;}
    4115           0 :     break;
    4116             : 
    4117             :   case 351:
    4118             : 
    4119           0 :     { (yyval._treeEqualizerMode) = eq::server::TreeEqualizer::MODE_2D; ;}
    4120           0 :     break;
    4121             : 
    4122             :   case 352:
    4123             : 
    4124           0 :     { (yyval._treeEqualizerMode) = eq::server::TreeEqualizer::MODE_DB; ;}
    4125           0 :     break;
    4126             : 
    4127             :   case 353:
    4128             : 
    4129           0 :     { (yyval._treeEqualizerMode) = eq::server::TreeEqualizer::MODE_HORIZONTAL; ;}
    4130           0 :     break;
    4131             : 
    4132             :   case 354:
    4133             : 
    4134           0 :     { (yyval._treeEqualizerMode) = eq::server::TreeEqualizer::MODE_VERTICAL; ;}
    4135           0 :     break;
    4136             : 
    4137             :   case 357:
    4138             : 
    4139           4 :     { tileEqualizer->setName( (yyvsp[(2) - (2)]._string) ); ;}
    4140           4 :     break;
    4141             : 
    4142             :   case 358:
    4143             : 
    4144           4 :     { tileEqualizer->setTileSize( eq::fabric::Vector2i( (yyvsp[(3) - (5)]._unsigned), (yyvsp[(4) - (5)]._unsigned) )); ;}
    4145           4 :     break;
    4146             : 
    4147             :   case 359:
    4148             : 
    4149         400 :     { swapBarrier = new eq::server::SwapBarrier; ;}
    4150         400 :     break;
    4151             : 
    4152             :   case 363:
    4153             : 
    4154         202 :     { swapBarrier->setName( (yyvsp[(2) - (2)]._string) ); ;}
    4155         202 :     break;
    4156             : 
    4157             :   case 364:
    4158             : 
    4159           8 :     { swapBarrier->setNVSwapGroup( (yyvsp[(2) - (2)]._int) ); ;}
    4160           8 :     break;
    4161             : 
    4162             :   case 365:
    4163             : 
    4164           8 :     { swapBarrier->setNVSwapBarrier( (yyvsp[(2) - (2)]._int) ); ;}
    4165           8 :     break;
    4166             : 
    4167             :   case 366:
    4168             : 
    4169        2748 :     { frame = new eq::server::Frame; ;}
    4170        2748 :     break;
    4171             : 
    4172             :   case 367:
    4173             : 
    4174             :     {
    4175        2748 :             eqCompound->addOutputFrame( frame );
    4176        2748 :             frame = 0;
    4177             :         ;}
    4178        2748 :     break;
    4179             : 
    4180             :   case 368:
    4181             : 
    4182        2816 :     { frame = new eq::server::Frame; ;}
    4183        2816 :     break;
    4184             : 
    4185             :   case 369:
    4186             : 
    4187             :     {
    4188        2816 :             eqCompound->addInputFrame( frame );
    4189        2816 :             frame = 0;
    4190             :         ;}
    4191        2816 :     break;
    4192             : 
    4193             :   case 372:
    4194             : 
    4195        5002 :     { frame->setName( (yyvsp[(2) - (2)]._string) ); ;}
    4196        5002 :     break;
    4197             : 
    4198             :   case 374:
    4199             : 
    4200             :     { frame->setViewport(eq::fabric::Viewport( (yyvsp[(2) - (2)]._viewport)[0], (yyvsp[(2) - (2)]._viewport)[1],
    4201        1476 :                                                    (yyvsp[(2) - (2)]._viewport)[2], (yyvsp[(2) - (2)]._viewport)[3])); ;}
    4202        1476 :     break;
    4203             : 
    4204             :   case 375:
    4205             : 
    4206         248 :     { flags = eq::fabric::Frame::BUFFER_NONE; ;}
    4207         248 :     break;
    4208             : 
    4209             :   case 376:
    4210             : 
    4211         248 :     { frame->setBuffers( flags ); flags = 0; ;}
    4212         248 :     break;
    4213             : 
    4214             :   case 377:
    4215             : 
    4216           0 :     { frame->setNativeZoom( eq::fabric::Zoom( (yyvsp[(3) - (5)]._float), (yyvsp[(4) - (5)]._float) )); ;}
    4217           0 :     break;
    4218             : 
    4219             :   case 378:
    4220             : 
    4221         124 :     { frame->setType( eq::fabric::Frame::TYPE_TEXTURE ); ;}
    4222         124 :     break;
    4223             : 
    4224             :   case 379:
    4225             : 
    4226           0 :     { frame->setType( eq::fabric::Frame::TYPE_MEMORY ); ;}
    4227           0 :     break;
    4228             : 
    4229             :   case 380:
    4230             : 
    4231           0 :     { tileQueue = new eq::server::TileQueue; ;}
    4232           0 :     break;
    4233             : 
    4234             :   case 381:
    4235             : 
    4236             :     {
    4237           0 :             eqCompound->addOutputTileQueue( tileQueue );
    4238           0 :             tileQueue = 0;
    4239             :         ;}
    4240           0 :     break;
    4241             : 
    4242             :   case 382:
    4243             : 
    4244           0 :     { tileQueue = new eq::server::TileQueue; ;}
    4245           0 :     break;
    4246             : 
    4247             :   case 383:
    4248             : 
    4249             :     {
    4250           0 :             eqCompound->addInputTileQueue( tileQueue );
    4251           0 :             tileQueue = 0;
    4252             :         ;}
    4253           0 :     break;
    4254             : 
    4255             :   case 386:
    4256             : 
    4257           0 :     { tileQueue->setName( (yyvsp[(2) - (2)]._string) ); ;}
    4258           0 :     break;
    4259             : 
    4260             :   case 387:
    4261             : 
    4262           0 :     { tileQueue->setTileSize( eq::fabric::Vector2i( (yyvsp[(3) - (5)]._unsigned), (yyvsp[(4) - (5)]._unsigned) )); ;}
    4263           0 :     break;
    4264             : 
    4265             :   case 390:
    4266             : 
    4267          12 :     { eqCompound->setIAttribute( eq::server::Compound::IATTR_STEREO_MODE, (yyvsp[(2) - (2)]._int) ); ;}
    4268          12 :     break;
    4269             : 
    4270             :   case 391:
    4271             : 
    4272             :     { eqCompound->setIAttribute(
    4273           8 :                 eq::server::Compound::IATTR_STEREO_ANAGLYPH_LEFT_MASK, (yyvsp[(2) - (2)]._unsigned) ); ;}
    4274           8 :     break;
    4275             : 
    4276             :   case 392:
    4277             : 
    4278             :     { eqCompound->setIAttribute(
    4279           8 :                 eq::server::Compound::IATTR_STEREO_ANAGLYPH_RIGHT_MASK, (yyvsp[(2) - (2)]._unsigned) ); ;}
    4280           8 :     break;
    4281             : 
    4282             :   case 393:
    4283             : 
    4284           0 :     { LBWARN << "ignoring removed attribute update_FOV" << std::endl; ;}
    4285           0 :     break;
    4286             : 
    4287             :   case 394:
    4288             : 
    4289             :     {
    4290        4738 :          (yyval._viewport)[0] = (yyvsp[(2) - (6)]._float);
    4291        4738 :          (yyval._viewport)[1] = (yyvsp[(3) - (6)]._float);
    4292        4738 :          (yyval._viewport)[2] = (yyvsp[(4) - (6)]._float);
    4293        4738 :          (yyval._viewport)[3] = (yyvsp[(5) - (6)]._float);
    4294             :      ;}
    4295        4738 :     break;
    4296             : 
    4297             :   case 395:
    4298             : 
    4299          24 :     { (yyval._unsigned) = (yyvsp[(2) - (3)]._unsigned); ;}
    4300          24 :     break;
    4301             : 
    4302             :   case 396:
    4303             : 
    4304           0 :     { (yyval._unsigned) =eq::server::Compound::COLOR_MASK_NONE; ;}
    4305           0 :     break;
    4306             : 
    4307             :   case 397:
    4308             : 
    4309          24 :     { (yyval._unsigned) = (yyvsp[(1) - (1)]._unsigned); ;}
    4310          24 :     break;
    4311             : 
    4312             :   case 398:
    4313             : 
    4314          36 :     { (yyval._unsigned) = ((yyvsp[(1) - (2)]._unsigned) | (yyvsp[(2) - (2)]._unsigned));;}
    4315          36 :     break;
    4316             : 
    4317             :   case 399:
    4318             : 
    4319          20 :     { (yyval._unsigned) = eq::server::Compound::COLOR_MASK_RED; ;}
    4320          20 :     break;
    4321             : 
    4322             :   case 400:
    4323             : 
    4324          20 :     { (yyval._unsigned) = eq::server::Compound::COLOR_MASK_GREEN; ;}
    4325          20 :     break;
    4326             : 
    4327             :   case 401:
    4328             : 
    4329          20 :     { (yyval._unsigned) = eq::server::Compound::COLOR_MASK_BLUE; ;}
    4330          20 :     break;
    4331             : 
    4332             :   case 402:
    4333             : 
    4334         296 :     { (yyval._int) = eq::fabric::ON; ;}
    4335         296 :     break;
    4336             : 
    4337             :   case 403:
    4338             : 
    4339         408 :     { (yyval._int) = eq::fabric::OFF; ;}
    4340         408 :     break;
    4341             : 
    4342             :   case 404:
    4343             : 
    4344         218 :     { (yyval._int) = eq::fabric::AUTO; ;}
    4345         218 :     break;
    4346             : 
    4347             :   case 405:
    4348             : 
    4349           2 :     { (yyval._int) = eq::fabric::FASTEST; ;}
    4350           2 :     break;
    4351             : 
    4352             :   case 406:
    4353             : 
    4354           0 :     { (yyval._int) = eq::fabric::HORIZONTAL; ;}
    4355           0 :     break;
    4356             : 
    4357             :   case 407:
    4358             : 
    4359          10 :     { (yyval._int) = eq::fabric::NICEST; ;}
    4360          10 :     break;
    4361             : 
    4362             :   case 408:
    4363             : 
    4364           0 :     { (yyval._int) = eq::fabric::QUAD; ;}
    4365           0 :     break;
    4366             : 
    4367             :   case 409:
    4368             : 
    4369          20 :     { (yyval._int) = eq::fabric::ANAGLYPH; ;}
    4370          20 :     break;
    4371             : 
    4372             :   case 410:
    4373             : 
    4374           4 :     { (yyval._int) = eq::fabric::PASSIVE; ;}
    4375           4 :     break;
    4376             : 
    4377             :   case 411:
    4378             : 
    4379           0 :     { (yyval._int) = eq::fabric::VERTICAL; ;}
    4380           0 :     break;
    4381             : 
    4382             :   case 412:
    4383             : 
    4384          18 :     { (yyval._int) = eq::fabric::WINDOW; ;}
    4385          18 :     break;
    4386             : 
    4387             :   case 413:
    4388             : 
    4389          40 :     { (yyval._int) = eq::fabric::FBO; ;}
    4390          40 :     break;
    4391             : 
    4392             :   case 414:
    4393             : 
    4394          74 :     { (yyval._int) = eq::fabric::PBUFFER; ;}
    4395          74 :     break;
    4396             : 
    4397             :   case 415:
    4398             : 
    4399           2 :     { (yyval._int) = eq::fabric::ASYNC; ;}
    4400           2 :     break;
    4401             : 
    4402             :   case 416:
    4403             : 
    4404           2 :     { (yyval._int) = eq::fabric::DRAW_SYNC; ;}
    4405           2 :     break;
    4406             : 
    4407             :   case 417:
    4408             : 
    4409           4 :     { (yyval._int) = eq::fabric::LOCAL_SYNC; ;}
    4410           4 :     break;
    4411             : 
    4412             :   case 418:
    4413             : 
    4414           8 :     { (yyval._int) = eq::fabric::RGBA16F; ;}
    4415           8 :     break;
    4416             : 
    4417             :   case 419:
    4418             : 
    4419          16 :     { (yyval._int) = eq::fabric::RGBA32F; ;}
    4420          16 :     break;
    4421             : 
    4422             :   case 420:
    4423             : 
    4424         210 :     { (yyval._int) = eq::fabric::FIXED; ;}
    4425         210 :     break;
    4426             : 
    4427             :   case 421:
    4428             : 
    4429           0 :     { (yyval._int) = eq::fabric::RELATIVE_TO_ORIGIN; ;}
    4430           0 :     break;
    4431             : 
    4432             :   case 422:
    4433             : 
    4434           4 :     { (yyval._int) = eq::fabric::RELATIVE_TO_OBSERVER; ;}
    4435           4 :     break;
    4436             : 
    4437             :   case 423:
    4438             : 
    4439          98 :     { (yyval._int) = (yyvsp[(1) - (1)]._int); ;}
    4440          98 :     break;
    4441             : 
    4442             :   case 424:
    4443             : 
    4444           0 :     { (yyval._int) = eq::fabric::CORE + (yyvsp[(2) - (2)]._int); ;}
    4445           0 :     break;
    4446             : 
    4447             :   case 425:
    4448             : 
    4449           0 :     { (yyval._int) = eq::fabric::SOCKET  + (yyvsp[(2) - (2)]._int); ;}
    4450           0 :     break;
    4451             : 
    4452             :   case 426:
    4453             : 
    4454             :     {
    4455       13722 :          static std::string stringBuf;
    4456       13722 :          stringBuf = yytext;
    4457       13722 :          stringBuf.erase( 0, 1 );                  // Leading '"'
    4458       13722 :          stringBuf.erase( stringBuf.size()-1, 1 ); // Trailing '"'
    4459       13722 :          (yyval._string) = stringBuf.c_str();
    4460             :      ;}
    4461       13722 :     break;
    4462             : 
    4463             :   case 427:
    4464             : 
    4465           4 :     { (yyval._character) = yytext[1]; ;}
    4466           4 :     break;
    4467             : 
    4468             :   case 428:
    4469             : 
    4470       17180 :     { (yyval._float) = atof( yytext ); ;}
    4471       17180 :     break;
    4472             : 
    4473             :   case 429:
    4474             : 
    4475       13168 :     { (yyval._float) = (yyvsp[(1) - (1)]._int); ;}
    4476       13168 :     break;
    4477             : 
    4478             :   case 430:
    4479             : 
    4480         664 :     { (yyval._int) = atoi( yytext ); ;}
    4481         664 :     break;
    4482             : 
    4483             :   case 431:
    4484             : 
    4485       12602 :     { (yyval._int) = (yyvsp[(1) - (1)]._unsigned); ;}
    4486       12602 :     break;
    4487             : 
    4488             :   case 432:
    4489             : 
    4490       16878 :     { (yyval._unsigned) = atoi( yytext ); ;}
    4491       16878 :     break;
    4492             : 
    4493             : 
    4494             : 
    4495      103370 :       default: break;
    4496             :     }
    4497             :   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
    4498             : 
    4499      260232 :   YYPOPSTACK (yylen);
    4500      260232 :   yylen = 0;
    4501             :   YY_STACK_PRINT (yyss, yyssp);
    4502             : 
    4503      260232 :   *++yyvsp = yyval;
    4504             : 
    4505             :   /* Now `shift' the result of the reduction.  Determine what state
    4506             :      that goes to, based on the state we popped back to and the rule
    4507             :      number reduced by.  */
    4508             : 
    4509      260232 :   yyn = yyr1[yyn];
    4510             : 
    4511      260232 :   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
    4512      260232 :   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
    4513       82214 :     yystate = yytable[yystate];
    4514             :   else
    4515      178018 :     yystate = yydefgoto[yyn - YYNTOKENS];
    4516             : 
    4517      260232 :   goto yynewstate;
    4518             : 
    4519             : 
    4520             : /*------------------------------------.
    4521             : | yyerrlab -- here on detecting error |
    4522             : `------------------------------------*/
    4523             : yyerrlab:
    4524             :   /* If not already recovering from an error, report this error.  */
    4525           2 :   if (!yyerrstatus)
    4526             :     {
    4527           2 :       ++yynerrs;
    4528             : #if ! YYERROR_VERBOSE
    4529           2 :       yyerror (YY_("syntax error"));
    4530             : #else
    4531             :       {
    4532             :         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
    4533             :         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
    4534             :           {
    4535             :             YYSIZE_T yyalloc = 2 * yysize;
    4536             :             if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
    4537             :               yyalloc = YYSTACK_ALLOC_MAXIMUM;
    4538             :             if (yymsg != yymsgbuf)
    4539             :               YYSTACK_FREE (yymsg);
    4540             :             yymsg = (char *) YYSTACK_ALLOC (yyalloc);
    4541             :             if (yymsg)
    4542             :               yymsg_alloc = yyalloc;
    4543             :             else
    4544             :               {
    4545             :                 yymsg = yymsgbuf;
    4546             :                 yymsg_alloc = sizeof yymsgbuf;
    4547             :               }
    4548             :           }
    4549             : 
    4550             :         if (0 < yysize && yysize <= yymsg_alloc)
    4551             :           {
    4552             :             (void) yysyntax_error (yymsg, yystate, yychar);
    4553             :             yyerror (yymsg);
    4554             :           }
    4555             :         else
    4556             :           {
    4557             :             yyerror (YY_("syntax error"));
    4558             :             if (yysize != 0)
    4559             :               goto yyexhaustedlab;
    4560             :           }
    4561             :       }
    4562             : #endif
    4563             :     }
    4564             : 
    4565             : 
    4566             : 
    4567           2 :   if (yyerrstatus == 3)
    4568             :     {
    4569             :       /* If just tried and failed to reuse lookahead token after an
    4570             :          error, discard it.  */
    4571             : 
    4572           0 :       if (yychar <= YYEOF)
    4573             :         {
    4574             :           /* Return failure if at end of input.  */
    4575           0 :           if (yychar == YYEOF)
    4576           0 :             YYABORT;
    4577             :         }
    4578             :       else
    4579             :         {
    4580             :           yydestruct ("Error: discarding",
    4581           0 :                       yytoken, &yylval);
    4582           0 :           yychar = YYEMPTY;
    4583             :         }
    4584             :     }
    4585             : 
    4586             :   /* Else will try to reuse lookahead token after shifting the error
    4587             :      token.  */
    4588           2 :   goto yyerrlab1;
    4589             : 
    4590             : 
    4591             : /*---------------------------------------------------.
    4592             : | yyerrorlab -- error raised explicitly by YYERROR.  |
    4593             : `---------------------------------------------------*/
    4594             : yyerrorlab:
    4595             : 
    4596             :   /* Pacify compilers like GCC when the user code never invokes
    4597             :      YYERROR and the label yyerrorlab therefore never appears in user
    4598             :      code.  */
    4599             :   if (/*CONSTCOND*/ 0)
    4600             :      goto yyerrorlab;
    4601             : 
    4602             :   /* Do not reclaim the symbols of the rule which action triggered
    4603             :      this YYERROR.  */
    4604           0 :   YYPOPSTACK (yylen);
    4605           0 :   yylen = 0;
    4606             :   YY_STACK_PRINT (yyss, yyssp);
    4607           0 :   yystate = *yyssp;
    4608           0 :   goto yyerrlab1;
    4609             : 
    4610             : 
    4611             : /*-------------------------------------------------------------.
    4612             : | yyerrlab1 -- common code for both syntax error and YYERROR.  |
    4613             : `-------------------------------------------------------------*/
    4614             : yyerrlab1:
    4615           2 :   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
    4616             : 
    4617             :   for (;;)
    4618             :     {
    4619           6 :       yyn = yypact[yystate];
    4620           6 :       if (yyn != YYPACT_NINF)
    4621             :         {
    4622           6 :           yyn += YYTERROR;
    4623           6 :           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
    4624             :             {
    4625           0 :               yyn = yytable[yyn];
    4626           0 :               if (0 < yyn)
    4627           0 :                 break;
    4628             :             }
    4629             :         }
    4630             : 
    4631             :       /* Pop the current state because it cannot handle the error token.  */
    4632           6 :       if (yyssp == yyss)
    4633           2 :         YYABORT;
    4634             : 
    4635             : 
    4636             :       yydestruct ("Error: popping",
    4637           4 :                   yystos[yystate], yyvsp);
    4638           4 :       YYPOPSTACK (1);
    4639           4 :       yystate = *yyssp;
    4640             :       YY_STACK_PRINT (yyss, yyssp);
    4641             :     }
    4642             : 
    4643           0 :   *++yyvsp = yylval;
    4644             : 
    4645             : 
    4646             :   /* Shift the error token.  */
    4647             :   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
    4648             : 
    4649           0 :   yystate = yyn;
    4650           0 :   goto yynewstate;
    4651             : 
    4652             : 
    4653             : /*-------------------------------------.
    4654             : | yyacceptlab -- YYACCEPT comes here.  |
    4655             : `-------------------------------------*/
    4656             : yyacceptlab:
    4657         426 :   yyresult = 0;
    4658         426 :   goto yyreturn;
    4659             : 
    4660             : /*-----------------------------------.
    4661             : | yyabortlab -- YYABORT comes here.  |
    4662             : `-----------------------------------*/
    4663             : yyabortlab:
    4664           2 :   yyresult = 1;
    4665           2 :   goto yyreturn;
    4666             : 
    4667             : #if !defined(yyoverflow) || YYERROR_VERBOSE
    4668             : /*-------------------------------------------------.
    4669             : | yyexhaustedlab -- memory exhaustion comes here.  |
    4670             : `-------------------------------------------------*/
    4671             : yyexhaustedlab:
    4672           0 :   yyerror (YY_("memory exhausted"));
    4673           0 :   yyresult = 2;
    4674             :   /* Fall through.  */
    4675             : #endif
    4676             : 
    4677             : yyreturn:
    4678         428 :   if (yychar != YYEMPTY)
    4679             :      yydestruct ("Cleanup: discarding lookahead",
    4680           2 :                  yytoken, &yylval);
    4681             :   /* Do not reclaim the symbols of the rule which action triggered
    4682             :      this YYABORT or YYACCEPT.  */
    4683         428 :   YYPOPSTACK (yylen);
    4684             :   YY_STACK_PRINT (yyss, yyssp);
    4685        1708 :   while (yyssp != yyss)
    4686             :     {
    4687             :       yydestruct ("Cleanup: popping",
    4688         852 :                   yystos[*yyssp], yyvsp);
    4689         852 :       YYPOPSTACK (1);
    4690             :     }
    4691             : #ifndef yyoverflow
    4692         428 :   if (yyss != yyssa)
    4693           0 :     YYSTACK_FREE (yyss);
    4694             : #endif
    4695             : #if YYERROR_VERBOSE
    4696             :   if (yymsg != yymsgbuf)
    4697             :     YYSTACK_FREE (yymsg);
    4698             : #endif
    4699             :   /* Make sure YYID is used.  */
    4700         432 :   return YYID (yyresult);
    4701             : }
    4702             : 
    4703             : 
    4704             : 
    4705             : 
    4706             : 
    4707             : namespace eq
    4708             : {
    4709             : namespace server
    4710             : {
    4711             : 
    4712             : //---------------------------------------------------------------------------
    4713             : // loader
    4714             : //---------------------------------------------------------------------------
    4715         428 : ServerPtr Loader::loadFile( const std::string& filename )
    4716             : {
    4717         428 :     yyin       = fopen( filename.c_str(), "r" );
    4718         428 :     yyinString = 0;
    4719             : 
    4720         428 :     if( !yyin )
    4721             :     {
    4722           0 :         LBERROR << "Can't open config file " << filename << std::endl;
    4723           0 :         return 0;
    4724             :     }
    4725             : 
    4726         428 :     loader::filename = filename;
    4727         428 :     _parse();
    4728         428 :     loader::filename.clear();
    4729             : 
    4730         428 :     fclose( yyin );
    4731             : 
    4732         428 :     eq::server::ServerPtr server = loader::server;
    4733         428 :     loader::server = 0;
    4734         428 :     return server;
    4735             : }
    4736             : 
    4737           0 : void Loader::_parseString( const char* data )
    4738             : {
    4739           0 :     yyin       = 0;
    4740           0 :     yyinString = data;
    4741           0 :     _parse();
    4742           0 : }
    4743             : 
    4744         428 : void Loader::_parse()
    4745             : {
    4746         428 :     LBASSERTINFO( !eq::loader::loader, "Config file loader is not reentrant" );
    4747         428 :     eq::loader::loader = this;
    4748             : 
    4749         428 :     loader::server = 0;
    4750         428 :     config = 0;
    4751         428 :     yylineno = 0;
    4752             : 
    4753         428 :     const std::string oldLocale = setlocale( LC_NUMERIC, "C" );
    4754         428 :     const bool error = ( eqLoader_parse() != 0 );
    4755         428 :     setlocale( LC_NUMERIC, oldLocale.c_str( ));
    4756             : 
    4757         428 :     if( error )
    4758           2 :         loader::server = 0;
    4759             : 
    4760         428 :     eq::loader::loader = 0;
    4761         428 : }
    4762             : 
    4763           0 : ServerPtr Loader::parseServer( const char* data )
    4764             : {
    4765           0 :     _parseString( data );
    4766             : 
    4767           0 :     eq::server::ServerPtr server = loader::server;
    4768           0 :     loader::server = 0;
    4769           0 :     return server;
    4770             : }
    4771             : 
    4772             : }
    4773          84 : }
    4774             : 

Generated by: LCOV version 1.11