type token =
| Tvolatile of (
-# 56 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
(Data.clt)
# 8 "parser_cocci_menhir.ml"
)
| Tvoid of (
-# 52 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
# 13 "parser_cocci_menhir.ml"
)
| Tunsigned of (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
# 18 "parser_cocci_menhir.ml"
)
| Tunion of (
-# 52 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
# 23 "parser_cocci_menhir.ml"
)
| Ttypedef of (
-# 55 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
# 28 "parser_cocci_menhir.ml"
)
| Tstruct of (
-# 52 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
# 33 "parser_cocci_menhir.ml"
)
| Tstatic of (
-# 55 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
# 38 "parser_cocci_menhir.ml"
)
- | Tsigned of (
-# 53 "parser_cocci_menhir.mly"
+ | Tssize_t of (
+# 115 "parser_cocci_menhir.mly"
(Data.clt)
# 43 "parser_cocci_menhir.ml"
)
- | Tshort of (
-# 51 "parser_cocci_menhir.mly"
+ | Tsize_t of (
+# 115 "parser_cocci_menhir.mly"
(Data.clt)
# 48 "parser_cocci_menhir.ml"
)
- | Tregister of (
-# 55 "parser_cocci_menhir.mly"
+ | Tsigned of (
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
# 53 "parser_cocci_menhir.ml"
)
- | Tlong of (
-# 51 "parser_cocci_menhir.mly"
+ | Tshort of (
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
# 58 "parser_cocci_menhir.ml"
+)
+ | Tregister of (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 63 "parser_cocci_menhir.ml"
+)
+ | Tptrdiff_t of (
+# 115 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 68 "parser_cocci_menhir.ml"
+)
+ | Tlong of (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 73 "parser_cocci_menhir.ml"
)
| Tlist
| Tint of (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 64 "parser_cocci_menhir.ml"
+# 79 "parser_cocci_menhir.ml"
)
| Tinline of (
-# 55 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 69 "parser_cocci_menhir.ml"
+# 84 "parser_cocci_menhir.ml"
)
| Tfloat of (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 74 "parser_cocci_menhir.ml"
+# 89 "parser_cocci_menhir.ml"
)
| Textern of (
-# 55 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 79 "parser_cocci_menhir.ml"
+# 94 "parser_cocci_menhir.ml"
)
| Tenum of (
-# 52 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
-# 84 "parser_cocci_menhir.ml"
+# 99 "parser_cocci_menhir.ml"
)
| Tdouble of (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 89 "parser_cocci_menhir.ml"
+# 104 "parser_cocci_menhir.ml"
)
| Tconst of (
-# 56 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
(Data.clt)
-# 94 "parser_cocci_menhir.ml"
+# 109 "parser_cocci_menhir.ml"
)
| Tchar of (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 99 "parser_cocci_menhir.ml"
+# 114 "parser_cocci_menhir.ml"
)
| Tauto of (
-# 55 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 104 "parser_cocci_menhir.ml"
+# 119 "parser_cocci_menhir.ml"
)
| Tattr of (
-# 57 "parser_cocci_menhir.mly"
+# 121 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 109 "parser_cocci_menhir.ml"
+# 124 "parser_cocci_menhir.ml"
)
| TXor of (
-# 95 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
(Data.clt)
-# 114 "parser_cocci_menhir.ml"
+# 129 "parser_cocci_menhir.ml"
)
| TWords
| TWhy0
| TWhy of (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 121 "parser_cocci_menhir.ml"
+# 136 "parser_cocci_menhir.ml"
)
| TWhile of (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 126 "parser_cocci_menhir.ml"
+# 141 "parser_cocci_menhir.ml"
)
| TWhenTrue of (
-# 77 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Data.clt)
-# 131 "parser_cocci_menhir.ml"
+# 146 "parser_cocci_menhir.ml"
)
| TWhenFalse of (
-# 77 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Data.clt)
-# 136 "parser_cocci_menhir.ml"
+# 151 "parser_cocci_menhir.ml"
)
| TWhen of (
-# 77 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Data.clt)
-# 141 "parser_cocci_menhir.ml"
+# 156 "parser_cocci_menhir.ml"
)
| TVirtual
| TUsing
| TUnderscore
+ | TUndef of (
+# 149 "parser_cocci_menhir.mly"
+ (Data.clt * token)
+# 164 "parser_cocci_menhir.ml"
+)
| TTypedef
| TTypeId of (
-# 61 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 150 "parser_cocci_menhir.ml"
+# 170 "parser_cocci_menhir.ml"
)
| TType
| TTildeExclEq of (
-# 97 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 156 "parser_cocci_menhir.ml"
+# 176 "parser_cocci_menhir.ml"
)
| TTildeEq of (
-# 97 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 161 "parser_cocci_menhir.ml"
+# 181 "parser_cocci_menhir.ml"
)
| TTilde of (
-# 102 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 166 "parser_cocci_menhir.ml"
+# 186 "parser_cocci_menhir.ml"
)
| TSwitch of (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 171 "parser_cocci_menhir.ml"
+# 191 "parser_cocci_menhir.ml"
)
| TSub of (
-# 97 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 176 "parser_cocci_menhir.ml"
+# 196 "parser_cocci_menhir.ml"
)
| TString of (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 181 "parser_cocci_menhir.ml"
+# 201 "parser_cocci_menhir.ml"
)
| TStrict of (
-# 77 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Data.clt)
-# 186 "parser_cocci_menhir.ml"
+# 206 "parser_cocci_menhir.ml"
)
| TStatement
| TSizeof of (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 192 "parser_cocci_menhir.ml"
+# 212 "parser_cocci_menhir.ml"
)
| TShROp of (
-# 99 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 197 "parser_cocci_menhir.ml"
+# 217 "parser_cocci_menhir.ml"
)
| TShLOp of (
-# 99 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 202 "parser_cocci_menhir.ml"
+# 222 "parser_cocci_menhir.ml"
)
| TScriptData of (
-# 74 "parser_cocci_menhir.mly"
+# 139 "parser_cocci_menhir.mly"
(string)
-# 207 "parser_cocci_menhir.ml"
+# 227 "parser_cocci_menhir.ml"
)
| TScript
| TRuleName of (
-# 49 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(string)
-# 213 "parser_cocci_menhir.ml"
+# 233 "parser_cocci_menhir.ml"
)
| TRightIso
| TReturn of (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 219 "parser_cocci_menhir.ml"
+# 239 "parser_cocci_menhir.ml"
)
| TPure
| TPtrOp of (
-# 107 "parser_cocci_menhir.mly"
+# 172 "parser_cocci_menhir.mly"
(Data.clt)
-# 225 "parser_cocci_menhir.ml"
+# 245 "parser_cocci_menhir.ml"
)
| TPtVirg of (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 230 "parser_cocci_menhir.ml"
+# 250 "parser_cocci_menhir.ml"
)
| TPragma of (
-# 62 "parser_cocci_menhir.mly"
+# 126 "parser_cocci_menhir.mly"
(Ast_cocci.added_string * Data.clt)
-# 235 "parser_cocci_menhir.ml"
+# 255 "parser_cocci_menhir.ml"
)
| TPosition
| TPosAny
| TPlusFile of (
-# 86 "parser_cocci_menhir.mly"
+# 151 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 242 "parser_cocci_menhir.ml"
+# 262 "parser_cocci_menhir.ml"
)
| TPlus0
| TPlus of (
-# 101 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
(Data.clt)
-# 248 "parser_cocci_menhir.ml"
+# 268 "parser_cocci_menhir.ml"
)
| TPathIsoFile of (
-# 82 "parser_cocci_menhir.mly"
+# 147 "parser_cocci_menhir.mly"
(string)
-# 253 "parser_cocci_menhir.ml"
+# 273 "parser_cocci_menhir.ml"
)
| TParameter
| TPOEllipsis of (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 259 "parser_cocci_menhir.ml"
+# 279 "parser_cocci_menhir.ml"
)
| TPCEllipsis of (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 264 "parser_cocci_menhir.ml"
+# 284 "parser_cocci_menhir.ml"
)
| TPArob
| TOrLog of (
-# 92 "parser_cocci_menhir.mly"
+# 157 "parser_cocci_menhir.mly"
(Data.clt)
-# 270 "parser_cocci_menhir.ml"
+# 290 "parser_cocci_menhir.ml"
)
| TOr of (
-# 94 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
(Data.clt)
-# 275 "parser_cocci_menhir.ml"
+# 295 "parser_cocci_menhir.ml"
)
| TOn
| TOPar0 of (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 281 "parser_cocci_menhir.ml"
+# 301 "parser_cocci_menhir.ml"
)
| TOPar of (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 286 "parser_cocci_menhir.ml"
+# 306 "parser_cocci_menhir.ml"
)
| TOInit of (
-# 104 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 291 "parser_cocci_menhir.ml"
+# 311 "parser_cocci_menhir.ml"
)
| TOEllipsis of (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 296 "parser_cocci_menhir.ml"
+# 316 "parser_cocci_menhir.ml"
)
| TOCro of (
-# 105 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 301 "parser_cocci_menhir.ml"
+# 321 "parser_cocci_menhir.ml"
)
| TOBrace of (
-# 104 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 306 "parser_cocci_menhir.ml"
+# 326 "parser_cocci_menhir.ml"
)
| TNothing
| TNotEq of (
-# 97 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 312 "parser_cocci_menhir.ml"
+# 332 "parser_cocci_menhir.ml"
)
| TNever
| TName
| TMul of (
-# 102 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 319 "parser_cocci_menhir.ml"
+# 339 "parser_cocci_menhir.ml"
)
| TMinusFile of (
-# 86 "parser_cocci_menhir.mly"
+# 151 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 324 "parser_cocci_menhir.ml"
+# 344 "parser_cocci_menhir.ml"
)
| TMinus of (
-# 101 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
(Data.clt)
-# 329 "parser_cocci_menhir.ml"
+# 349 "parser_cocci_menhir.ml"
)
| TMid0 of (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 334 "parser_cocci_menhir.ml"
+# 354 "parser_cocci_menhir.ml"
)
+ | TMetavariable
| TMetaType of (
-# 67 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 339 "parser_cocci_menhir.ml"
+# 360 "parser_cocci_menhir.ml"
)
| TMetaStmList of (
-# 67 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 344 "parser_cocci_menhir.ml"
+# 365 "parser_cocci_menhir.ml"
)
| TMetaStm of (
-# 67 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 349 "parser_cocci_menhir.ml"
+# 370 "parser_cocci_menhir.ml"
)
| TMetaPos of (
-# 71 "parser_cocci_menhir.mly"
+# 136 "parser_cocci_menhir.mly"
(Parse_aux.pos_info)
-# 354 "parser_cocci_menhir.ml"
+# 375 "parser_cocci_menhir.ml"
)
| TMetaParamList of (
-# 69 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
(Parse_aux.list_info)
-# 359 "parser_cocci_menhir.ml"
+# 380 "parser_cocci_menhir.ml"
)
| TMetaParam of (
-# 67 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 364 "parser_cocci_menhir.ml"
+# 385 "parser_cocci_menhir.ml"
)
| TMetaLocalIdExp of (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 369 "parser_cocci_menhir.ml"
+# 390 "parser_cocci_menhir.ml"
)
| TMetaLocalFunc of (
-# 64 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 374 "parser_cocci_menhir.ml"
+# 395 "parser_cocci_menhir.ml"
)
| TMetaIterator of (
-# 65 "parser_cocci_menhir.mly"
+# 129 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 379 "parser_cocci_menhir.ml"
+# 400 "parser_cocci_menhir.ml"
)
| TMetaInit of (
-# 68 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 384 "parser_cocci_menhir.ml"
+# 405 "parser_cocci_menhir.ml"
)
| TMetaIdExp of (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 389 "parser_cocci_menhir.ml"
+# 410 "parser_cocci_menhir.ml"
)
| TMetaId of (
-# 64 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 394 "parser_cocci_menhir.ml"
+# 415 "parser_cocci_menhir.ml"
)
| TMetaFunc of (
-# 64 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 399 "parser_cocci_menhir.ml"
+# 420 "parser_cocci_menhir.ml"
+)
+ | TMetaFieldList of (
+# 134 "parser_cocci_menhir.mly"
+ (Parse_aux.list_info)
+# 425 "parser_cocci_menhir.ml"
)
| TMetaField of (
-# 68 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 404 "parser_cocci_menhir.ml"
+# 430 "parser_cocci_menhir.ml"
)
| TMetaExpList of (
-# 69 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
(Parse_aux.list_info)
-# 409 "parser_cocci_menhir.ml"
+# 435 "parser_cocci_menhir.ml"
)
| TMetaExp of (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 414 "parser_cocci_menhir.ml"
+# 440 "parser_cocci_menhir.ml"
)
| TMetaErr of (
-# 66 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
(Parse_aux.expinfo)
-# 419 "parser_cocci_menhir.ml"
+# 445 "parser_cocci_menhir.ml"
)
| TMetaDeclarer of (
-# 65 "parser_cocci_menhir.mly"
+# 129 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 424 "parser_cocci_menhir.ml"
+# 450 "parser_cocci_menhir.ml"
)
| TMetaDecl of (
-# 68 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 429 "parser_cocci_menhir.ml"
+# 455 "parser_cocci_menhir.ml"
)
| TMetaConst of (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 434 "parser_cocci_menhir.ml"
+# 460 "parser_cocci_menhir.ml"
+)
+ | TMeta of (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 465 "parser_cocci_menhir.ml"
)
| TMPtVirg
| TLogOp of (
-# 98 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
(Ast_cocci.logicalOp * Data.clt)
-# 440 "parser_cocci_menhir.ml"
+# 471 "parser_cocci_menhir.ml"
)
| TLocal
| TLineEnd of (
-# 77 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Data.clt)
-# 446 "parser_cocci_menhir.ml"
+# 477 "parser_cocci_menhir.ml"
)
| TIteratorId of (
-# 61 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 451 "parser_cocci_menhir.ml"
+# 482 "parser_cocci_menhir.ml"
)
| TIterator
| TIsoType
| TIso
| TInvalid
| TInt of (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 467 "parser_cocci_menhir.ml"
+# 498 "parser_cocci_menhir.ml"
)
| TInitialize
| TInitialiser
| TIncludeNL of (
-# 83 "parser_cocci_menhir.mly"
+# 148 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 474 "parser_cocci_menhir.ml"
+# 505 "parser_cocci_menhir.ml"
)
| TIncludeL of (
-# 83 "parser_cocci_menhir.mly"
+# 148 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 479 "parser_cocci_menhir.ml"
+# 510 "parser_cocci_menhir.ml"
)
| TInc of (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 484 "parser_cocci_menhir.ml"
+# 515 "parser_cocci_menhir.ml"
)
| TIf of (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 489 "parser_cocci_menhir.ml"
+# 520 "parser_cocci_menhir.ml"
)
| TIdentifier
| TIdent of (
-# 61 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 495 "parser_cocci_menhir.ml"
+# 526 "parser_cocci_menhir.ml"
)
| TIdExpression
| TGoto of (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 501 "parser_cocci_menhir.ml"
+# 532 "parser_cocci_menhir.ml"
)
| TGenerated
| TFunction
| TFunDecl of (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 508 "parser_cocci_menhir.ml"
+# 539 "parser_cocci_menhir.ml"
)
| TFresh
| TForall
| TFor of (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 515 "parser_cocci_menhir.ml"
+# 546 "parser_cocci_menhir.ml"
)
| TFloat of (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 520 "parser_cocci_menhir.ml"
+# 551 "parser_cocci_menhir.ml"
)
| TFinalize
| TField
| TEver
| TError
| TEqEq of (
-# 97 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 532 "parser_cocci_menhir.ml"
+# 563 "parser_cocci_menhir.ml"
)
| TEq of (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 537 "parser_cocci_menhir.ml"
+# 568 "parser_cocci_menhir.ml"
)
| TElse of (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 542 "parser_cocci_menhir.ml"
+# 573 "parser_cocci_menhir.ml"
)
| TEllipsis of (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 547 "parser_cocci_menhir.ml"
+# 578 "parser_cocci_menhir.ml"
)
| TDotDot of (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 552 "parser_cocci_menhir.ml"
+# 583 "parser_cocci_menhir.ml"
)
| TDot of (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 557 "parser_cocci_menhir.ml"
+# 588 "parser_cocci_menhir.ml"
)
| TDo of (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 562 "parser_cocci_menhir.ml"
+# 593 "parser_cocci_menhir.ml"
)
| TDmOp of (
-# 100 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 567 "parser_cocci_menhir.ml"
+# 598 "parser_cocci_menhir.ml"
)
| TDisable
| TDepends
| TDefineParam of (
-# 85 "parser_cocci_menhir.mly"
+# 150 "parser_cocci_menhir.mly"
(Data.clt * token * int * int)
-# 574 "parser_cocci_menhir.ml"
+# 605 "parser_cocci_menhir.ml"
)
| TDefine of (
-# 84 "parser_cocci_menhir.mly"
+# 149 "parser_cocci_menhir.mly"
(Data.clt * token)
-# 579 "parser_cocci_menhir.ml"
+# 610 "parser_cocci_menhir.ml"
)
| TDefault of (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 584 "parser_cocci_menhir.ml"
+# 615 "parser_cocci_menhir.ml"
)
| TDeclarerId of (
-# 61 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 589 "parser_cocci_menhir.ml"
+# 620 "parser_cocci_menhir.ml"
)
| TDeclarer
| TDeclaration
| TDec of (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 596 "parser_cocci_menhir.ml"
+# 627 "parser_cocci_menhir.ml"
)
| TCppConcatOp
| TContinue of (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 602 "parser_cocci_menhir.ml"
+# 633 "parser_cocci_menhir.ml"
)
| TContext
| TConstant
| TComma of (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 609 "parser_cocci_menhir.ml"
+# 640 "parser_cocci_menhir.ml"
)
| TChar of (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 614 "parser_cocci_menhir.ml"
+# 645 "parser_cocci_menhir.ml"
)
| TCase of (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 619 "parser_cocci_menhir.ml"
+# 650 "parser_cocci_menhir.ml"
)
| TCPar0 of (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 624 "parser_cocci_menhir.ml"
+# 655 "parser_cocci_menhir.ml"
)
| TCPar of (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 629 "parser_cocci_menhir.ml"
+# 660 "parser_cocci_menhir.ml"
)
| TCEllipsis of (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 634 "parser_cocci_menhir.ml"
+# 665 "parser_cocci_menhir.ml"
)
| TCCro of (
-# 105 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 639 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.ml"
)
| TCBrace of (
-# 104 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 644 "parser_cocci_menhir.ml"
+# 675 "parser_cocci_menhir.ml"
)
| TBreak of (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 649 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.ml"
)
| TBang0
| TBang of (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 655 "parser_cocci_menhir.ml"
+# 686 "parser_cocci_menhir.ml"
)
| TAssign of (
-# 111 "parser_cocci_menhir.mly"
+# 176 "parser_cocci_menhir.mly"
(Ast_cocci.assignOp * Data.clt)
-# 660 "parser_cocci_menhir.ml"
+# 691 "parser_cocci_menhir.ml"
)
| TArobArob
| TArob
| TAny of (
-# 77 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
(Data.clt)
-# 667 "parser_cocci_menhir.ml"
+# 698 "parser_cocci_menhir.ml"
)
| TAndLog of (
-# 93 "parser_cocci_menhir.mly"
+# 158 "parser_cocci_menhir.mly"
(Data.clt)
-# 672 "parser_cocci_menhir.ml"
+# 703 "parser_cocci_menhir.ml"
)
| TAnd of (
-# 96 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
(Data.clt)
-# 677 "parser_cocci_menhir.ml"
+# 708 "parser_cocci_menhir.ml"
)
| EOF
module Ast = Ast_cocci
module P = Parse_aux
-# 699 "parser_cocci_menhir.ml"
+(* ---------------------------------------------------------------------- *)
+(* support for TMeta *)
+
+let print_meta (r,n) = r^"."^n
+
+let meta_metatable = Hashtbl.create(101)
+
+let coerce_tmeta newty name builder matcher =
+ try
+ let x = Hashtbl.find meta_metatable name in
+ if not (matcher x)
+ then
+ failwith
+ (Printf.sprintf "Metavariable %s is used as %s"
+ (print_meta name) newty)
+ with Not_found ->
+ (if !Flag_parsing_cocci.show_SP
+ then
+ Common.pr2
+ (Printf.sprintf
+ "Metavariable %s is assumed to be %s metavariable"
+ (print_meta name) newty));
+ Hashtbl.add meta_metatable name builder
+
+let tmeta_to_type (name,pure,clt) =
+ (coerce_tmeta "a type" name (TMetaType(name,pure,clt))
+ (function TMetaType(_,_,_) -> true | _ -> false));
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode name clt,pure))
+
+let tmeta_to_field (name,pure,clt) =
+ (coerce_tmeta "a field" name (TMetaField(name,pure,clt))
+ (function TMetaField(_,_,_) -> true | _ -> false));
+ P.meta_field (name,pure,clt)
+
+let tmeta_to_exp (name,pure,clt) =
+ (coerce_tmeta "an expression" name
+ (TMetaExp(name,Ast0.NoConstraint,pure,None,clt))
+ (function TMetaExp(_,_,_,_,_) -> true | _ -> false));
+ Ast0.wrap
+ (Ast0.MetaExpr(P.clt2mcode name clt,Ast0.NoConstraint,None,Ast.ANY,pure))
+
+let tmeta_to_param (name,pure,clt) =
+ (coerce_tmeta "a parameter" name (TMetaParam(name,pure,clt))
+ (function TMetaParam(_,_,_) -> true | _ -> false));
+ Ast0.wrap(Ast0.MetaParam(P.clt2mcode name clt,pure))
+
+let tmeta_to_statement (name,pure,clt) =
+ (coerce_tmeta "a statement" name (TMetaType(name,pure,clt))
+ (function TMetaType(_,_,_) -> true | _ -> false));
+ P.meta_stm (name,pure,clt)
+
+let tmeta_to_seed_id (name,pure,clt) =
+ (coerce_tmeta "an identifier" name
+ (TMetaId(name,Ast.IdNoConstraint,pure,clt))
+ (function TMetaId(_,_,_,_) -> true | _ -> false));
+ Ast.SeedId name
+
+let tmeta_to_ident (name,pure,clt) =
+ (coerce_tmeta "an identifier" name
+ (TMetaId(name,Ast.IdNoConstraint,pure,clt))
+ (function TMetaId(_,_,_,_) -> true | _ -> false));
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode name clt,Ast.IdNoConstraint,pure))
+
+# 793 "parser_cocci_menhir.ml"
let _eRR =
Error
fun _tok ->
match _tok with
| EOF ->
- 183
+ 190
| TAnd _ ->
- 182
+ 189
| TAndLog _ ->
- 181
+ 188
| TAny _ ->
- 180
+ 187
| TArob ->
- 179
+ 186
| TArobArob ->
- 178
+ 185
| TAssign _ ->
- 177
+ 184
| TBang _ ->
- 176
+ 183
| TBang0 ->
- 175
+ 182
| TBreak _ ->
- 174
+ 181
| TCBrace _ ->
- 173
+ 180
| TCCro _ ->
- 172
+ 179
| TCEllipsis _ ->
- 171
+ 178
| TCPar _ ->
- 170
+ 177
| TCPar0 _ ->
- 169
+ 176
| TCase _ ->
- 168
+ 175
| TChar _ ->
- 167
+ 174
| TComma _ ->
- 166
+ 173
| TConstant ->
- 165
+ 172
| TContext ->
- 164
+ 171
| TContinue _ ->
- 163
+ 170
| TCppConcatOp ->
- 162
+ 169
| TDec _ ->
- 161
+ 168
| TDeclaration ->
- 160
+ 167
| TDeclarer ->
- 159
+ 166
| TDeclarerId _ ->
- 158
+ 165
| TDefault _ ->
- 157
+ 164
| TDefine _ ->
- 156
+ 163
| TDefineParam _ ->
- 155
+ 162
| TDepends ->
- 154
+ 161
| TDisable ->
- 153
+ 160
| TDmOp _ ->
- 152
+ 159
| TDo _ ->
- 151
+ 158
| TDot _ ->
- 150
+ 157
| TDotDot _ ->
- 149
+ 156
| TEllipsis _ ->
- 148
+ 155
| TElse _ ->
- 147
+ 154
| TEq _ ->
- 146
+ 153
| TEqEq _ ->
- 145
+ 152
| TError ->
- 144
+ 151
| TEver ->
- 143
+ 150
| TExists ->
- 142
+ 149
| TExpression ->
- 141
+ 148
| TExtends ->
- 140
+ 147
| TField ->
- 139
+ 146
| TFinalize ->
- 138
+ 145
| TFloat _ ->
- 137
+ 144
| TFor _ ->
- 136
+ 143
| TForall ->
- 135
+ 142
| TFresh ->
- 134
+ 141
| TFunDecl _ ->
- 133
+ 140
| TFunction ->
- 132
+ 139
| TGenerated ->
- 131
+ 138
| TGoto _ ->
- 130
+ 137
| TIdExpression ->
- 129
+ 136
| TIdent _ ->
- 128
+ 135
| TIdentifier ->
- 127
+ 134
| TIf _ ->
- 126
+ 133
| TInc _ ->
- 125
+ 132
| TIncludeL _ ->
- 124
+ 131
| TIncludeNL _ ->
- 123
+ 130
| TInitialiser ->
- 122
+ 129
| TInitialize ->
- 121
+ 128
| TInt _ ->
- 120
+ 127
| TInvalid ->
- 119
+ 126
| TIso ->
- 118
+ 125
| TIsoArgExpression ->
- 117
+ 124
| TIsoDeclaration ->
- 116
+ 123
| TIsoExpression ->
- 115
+ 122
| TIsoStatement ->
- 114
+ 121
| TIsoTestExpression ->
- 113
+ 120
| TIsoToTestExpression ->
- 112
+ 119
| TIsoTopLevel ->
- 111
+ 118
| TIsoType ->
- 110
+ 117
| TIterator ->
- 109
+ 116
| TIteratorId _ ->
- 108
+ 115
| TLineEnd _ ->
- 107
+ 114
| TLocal ->
- 106
+ 113
| TLogOp _ ->
- 105
+ 112
| TMPtVirg ->
- 104
+ 111
+ | TMeta _ ->
+ 110
| TMetaConst _ ->
- 103
+ 109
| TMetaDecl _ ->
- 102
+ 108
| TMetaDeclarer _ ->
- 101
+ 107
| TMetaErr _ ->
- 100
+ 106
| TMetaExp _ ->
- 99
+ 105
| TMetaExpList _ ->
- 98
+ 104
| TMetaField _ ->
- 97
+ 103
+ | TMetaFieldList _ ->
+ 102
| TMetaFunc _ ->
- 96
+ 101
| TMetaId _ ->
- 95
+ 100
| TMetaIdExp _ ->
- 94
+ 99
| TMetaInit _ ->
- 93
+ 98
| TMetaIterator _ ->
- 92
+ 97
| TMetaLocalFunc _ ->
- 91
+ 96
| TMetaLocalIdExp _ ->
- 90
+ 95
| TMetaParam _ ->
- 89
+ 94
| TMetaParamList _ ->
- 88
+ 93
| TMetaPos _ ->
- 87
+ 92
| TMetaStm _ ->
- 86
+ 91
| TMetaStmList _ ->
- 85
+ 90
| TMetaType _ ->
- 84
+ 89
+ | TMetavariable ->
+ 88
| TMid0 _ ->
- 83
+ 87
| TMinus _ ->
- 82
+ 86
| TMinusFile _ ->
- 81
+ 85
| TMul _ ->
- 80
+ 84
| TName ->
- 79
+ 83
| TNever ->
- 78
+ 82
| TNotEq _ ->
- 77
+ 81
| TNothing ->
- 76
+ 80
| TOBrace _ ->
- 75
+ 79
| TOCro _ ->
- 74
+ 78
| TOEllipsis _ ->
- 73
+ 77
| TOInit _ ->
- 72
+ 76
| TOPar _ ->
- 71
+ 75
| TOPar0 _ ->
- 70
+ 74
| TOn ->
- 69
+ 73
| TOr _ ->
- 68
+ 72
| TOrLog _ ->
- 67
+ 71
| TPArob ->
- 66
+ 70
| TPCEllipsis _ ->
- 65
+ 69
| TPOEllipsis _ ->
- 64
+ 68
| TParameter ->
- 63
+ 67
| TPathIsoFile _ ->
- 62
+ 66
| TPlus _ ->
- 61
+ 65
| TPlus0 ->
- 60
+ 64
| TPlusFile _ ->
- 59
+ 63
| TPosAny ->
- 58
+ 62
| TPosition ->
- 57
+ 61
| TPragma _ ->
- 56
+ 60
| TPtVirg _ ->
- 55
+ 59
| TPtrOp _ ->
- 54
+ 58
| TPure ->
- 53
+ 57
| TReturn _ ->
- 52
+ 56
| TRightIso ->
- 51
+ 55
| TRuleName _ ->
- 50
+ 54
| TScript ->
- 49
+ 53
| TScriptData _ ->
- 48
+ 52
| TShLOp _ ->
- 47
+ 51
| TShROp _ ->
- 46
+ 50
| TSizeof _ ->
- 45
+ 49
| TStatement ->
- 44
+ 48
| TStrict _ ->
- 43
+ 47
| TString _ ->
- 42
+ 46
| TSub _ ->
- 41
+ 45
| TSwitch _ ->
- 40
+ 44
| TTilde _ ->
- 39
+ 43
| TTildeEq _ ->
- 38
+ 42
| TTildeExclEq _ ->
- 37
+ 41
| TType ->
- 36
+ 40
| TTypeId _ ->
- 35
+ 39
| TTypedef ->
- 34
+ 38
+ | TUndef _ ->
+ 37
| TUnderscore ->
- 33
+ 36
| TUsing ->
- 32
+ 35
| TVirtual ->
- 31
+ 34
| TWhen _ ->
- 30
+ 33
| TWhenFalse _ ->
- 29
+ 32
| TWhenTrue _ ->
- 28
+ 31
| TWhile _ ->
- 27
+ 30
| TWhy _ ->
- 26
+ 29
| TWhy0 ->
- 25
+ 28
| TWords ->
- 24
+ 27
| TXor _ ->
- 23
+ 26
| Tattr _ ->
- 22
+ 25
| Tauto _ ->
- 21
+ 24
| Tchar _ ->
- 20
+ 23
| Tconst _ ->
- 19
+ 22
| Tdouble _ ->
- 18
+ 21
| Tenum _ ->
- 17
+ 20
| Textern _ ->
- 16
+ 19
| Tfloat _ ->
- 15
+ 18
| Tinline _ ->
- 14
+ 17
| Tint _ ->
- 13
+ 16
| Tlist ->
- 12
+ 15
| Tlong _ ->
- 11
+ 14
+ | Tptrdiff_t _ ->
+ 13
| Tregister _ ->
- 10
+ 12
| Tshort _ ->
- 9
+ 11
| Tsigned _ ->
+ 10
+ | Tsize_t _ ->
+ 9
+ | Tssize_t _ ->
8
| Tstatic _ ->
7
Obj.repr _v
| TMPtVirg ->
Obj.repr ()
+ | TMeta _v ->
+ Obj.repr _v
| TMetaConst _v ->
Obj.repr _v
| TMetaDecl _v ->
Obj.repr _v
| TMetaField _v ->
Obj.repr _v
+ | TMetaFieldList _v ->
+ Obj.repr _v
| TMetaFunc _v ->
Obj.repr _v
| TMetaId _v ->
Obj.repr _v
| TMetaType _v ->
Obj.repr _v
+ | TMetavariable ->
+ Obj.repr ()
| TMid0 _v ->
Obj.repr _v
| TMinus _v ->
Obj.repr _v
| TTypedef ->
Obj.repr ()
+ | TUndef _v ->
+ Obj.repr _v
| TUnderscore ->
Obj.repr ()
| TUsing ->
Obj.repr ()
| Tlong _v ->
Obj.repr _v
+ | Tptrdiff_t _v ->
+ Obj.repr _v
| Tregister _v ->
Obj.repr _v
| Tshort _v ->
Obj.repr _v
| Tsigned _v ->
Obj.repr _v
+ | Tsize_t _v ->
+ Obj.repr _v
+ | Tssize_t _v ->
+ Obj.repr _v
| Tstatic _v ->
Obj.repr _v
| Tstruct _v ->
Obj.repr _v
let default_reduction =
- (16, "\000\000\000\000\002\171\000\128\000\000\000\000\002\250\001Q\000\000\001O\001P\001N\000\000\001S\001R\000\001\000\000\001\145\000\000\000\000\000\144\000\000\000\000\001\129\000\169\000\000\000\000\000\156\000\000\000\000\000\161\000\160\000\000\000\157\000\000\000\155\000\000\000\000\000\000\000\159\000\000\000\158\0032\0031\000\000\000\000\000\149\000\000\000\000\000\154\000\153\000\000\000\150\000\000\000\148\000\000\000\000\000\000\000\152\000\000\000\151\000\000\000\163\000\000\000\000\000\168\000\167\000\000\000\164\000\000\000\171\000\000\001K\001J\000\000\000\172\000\000\000\170\000\143\000\000\000\162\000\000\000\177\000\000\000\000\000\000\000\166\000\000\000\000\000\000\003'\003(\000\000\000\000\000\000\000\000\000\000\003-\000\000\000\000\000\174\000\000\003/\000\000\000\000\000\000\003\172\002u\000\000\003\170\000\000\002\143\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\169\003\171\002{\001F\002z\001D\001E\002y\002x\002w\002s\000\000\000\000\002t\001\019\000\000\002v\000\000\003\168\000\000\000g\001C\002V\000\000\000\000\002Y\000\000\000\015\000\000\000\000\000\000\000\000\001\020\002r\002~\000_\000\021\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\0021\000V\001\029\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000X\000\000\000W\001\030\000\000\002\\\001\031\000\014\000\016\000\000\000\000\000\199\000\000\000\000\000\186\000\000\000\000\000\191\000\190\000\000\000\187\000\000\000\185\000\000\000\000\000\000\000\189\000\000\000\188\000\000\000\000\000\179\000\000\000\000\000\184\000\183\000\000\000\180\000\000\000\178\000\000\000\000\000\000\000\182\000\000\000\181\000\000\000\193\000\000\000\000\000\198\000\197\000\000\000\194\000\000\000\201\000\000\000\000\000\202\000\000\000\200\000\000\000\192\000\000\000\207\000\000\000\000\000\000\000\196\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\146\000\000\000\000\000\000\000\000\000\000\000\000\002\023\000\215\000\000\000\000\000r\000s\002\022\001\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\221\000\000\001\248\000\000\000\000\000\000\000\000\000\214\000\212\000\227\000\000\001\137\000\000\000\000\003*\000\000\003)\000\000\000\000\000\000\000\000\000\000\000\204\000\000\000\000\000\000\000\000\000\205\000\203\000\000\000\000\003,\0030\000\195\000\000\000\000\001\"\000\000\000\000\002W\002Z\000\000\002X\002[\003\143\003\144\003\142\000\000\002|\003\141\000\000\002\150\000\000\000\000\002\149\002\148\002\147\002\146\002\145\002\141\000\000\000\000\002\142\000\000\002\144\000\000\000\000\000k\002d\000\000\000\000\002g\000\000\000\000\002j\000\000\000\000\002e\002h\000\000\002f\002i\002\152\002\140\003\157\003\158\003\156\003\155\000l\000\000\000\000\000[\000\000\000Z\001'\000\000\002\001\000\000\000\000\000\000\000\000\000\000\001\024\002\007\000\000\000\000\001\169\000Y\0003\001\017\000c\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\000\000\0005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002}\000\000\000\210\000\000\000\000\001\242\000\000\001\159\001\223\000\000\000\000\001\241\000\000\001\157\001\222\000\000\000\000\000h\000\000\002\151\000\000\000\000\003\160\003\159\000\000\002\002\000\000\000\000\003\146\003\145\000\000\000U\000\211\000\000\001\131\000\000\003+\000\000\000\000\000\000\000\000\000\175\000\173\000\000\001\028\000\000\000\000\000\176\000\165\000\000\000\000\001k\000\000\001j\000\000\001y\000\000\001\147\000\000\000\000\000\000\003b\000\000\000\000\003U\000\000\000\000\003Z\003Y\000\000\003V\000\000\003T\000\000\000\000\000\000\003X\000\000\003W\000\000\000\000\003N\000\000\000\000\003S\003R\000\000\003O\000\000\003M\000\000\000\000\000\000\003Q\000\000\003P\000\000\003\\\000\000\000\000\003a\003`\000\000\003]\000\000\003d\000\000\000\000\003e\000\000\003c\000\000\003[\000\000\003j\000\000\000\000\000\000\003_\000\000\000\000\003\137\000\000\000\000\000\000\000\000\003i\003^\000\000\003\139\000\000\000\000\003\n\003\138\000\136\000\000\001\000\000\000\000\000\000\000\000\000\003g\000\000\000\000\000\000\000\000\003h\003f\000\000\000\000\003\128\000\000\000\000\003s\000\000\000\000\003x\003w\000\000\003t\000\000\003r\000\000\000\000\000\000\003v\000\000\003u\000\000\000\000\003l\000\000\000\000\003q\003p\000\000\003m\000\000\003k\000\000\000\000\000\000\003o\000\000\003n\000\000\003z\000\000\000\000\003\127\003~\000\000\003{\000\000\003\130\000\000\000\000\003\131\000\000\003\129\000\000\003y\000\000\003\136\000\000\000\000\000\000\003}\000\000\000\000\000\000\000\000\003\135\003|\000\000\000\000\000\000\000\000\003\133\000\000\000\000\000\000\000\000\003\134\003\132\003#\003%\003&\003$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\237\000\216\000\000\000\000\000}\000\000\000\000\000\000\002\130\000\000\000\000\000\000\002\138\000\000\000\000\002\137\000\000\003\153\002\136\002\135\002\134\002\133\002\132\001g\002\128\000\000\000\000\002\129\000\000\002\131\000\000\000\000\000\000\000\000\000\000\000i\002]\000\000\000\000\002`\000\000\000\000\002c\000\000\000\000\002^\002a\000\000\002_\002b\002\139\002\127\000j\003\150\003\151\003\149\003\148\003\152\000\000\000\000\000\000\000\000\001\016\001\015\000\000\000\000\000\000\000\000\000\000\000\000\001\\\000\000\001\026\001Y\000\000\001\014\000\000\000\000\000\000\001`\000\000\000\000\001a\000\000\001\141\000$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\000\000\000&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001e\000\000\000\000\001d\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000z\000u\000w\000v\001f\001_\001b\000\000\001^\001[\000\000\001Z\000\000\000\249\000\000\002\244\000\000\000\000\000\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\252\000\000\000\000\000\255\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\000\000\000\000\000\000\242\000\000\000\239\000\000\000\000\000\000\000\000\000\000\000\250\000\000\000\246\000\000\000\000\000\000\000\000\000\247\000\000\000\243\000\000\000\000\000\000\002\156\000\000\000\000\000\000\000\000\002\163\000\000\000\000\002\162\002\161\002\160\002\159\002\158\002\154\000\000\000\000\002\155\000\000\002\157\000\000\000\000\000m\002k\000\000\000\000\002n\000\000\000\000\002q\000\000\000\000\002l\002o\000\000\002m\002p\002\165\002\153\003\164\003\165\003\163\003\162\000n\000\000\000\000\000^\000\000\000]\000\000\002\164\000\000\001\224\000\\\000B\001&\000d\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\167\003\166\000\000\003\026\000\000\003\025\000\000\000\000\000\000\000\000\003\179\000\000\000\000\000\000\003\180\000\000\000\018\000\000\000\000\000\000\003\175\000\000\001\171\000\000\000\000\000\000\000\228\003\016\001\127\001~\001U\001T\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\022\001\006\000\000\001\143\000\000\000\000\001\005\001\001\000\000\001\b\001\002\001\007\000\000\003\028\000\000\003\027\003\r\000\000\000\000\000\000\000\000\000\000\003\022\000\000\000\000\000\000\000\000\003\023\003\015\000\000\003\029\000\000\003\017\000\000\000\232\001V\000\000\003 \000\000\001X\000\000\000\000\0038\000\000\003?\000\234\000\000\000\240\000\000\0039\000\233\000\000\003:\000\000\003A\000\000\000\000\000\000\000\000\000\253\000\000\000\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\251\000\000\000\000\000\254\000\000\000\000\000\000\000\000\001H\000\000\000\000\000\000\000\241\000\000\000\238\000\000\000\000\000\000\000\000\000\000\000\248\000\000\000\244\000\230\000\229\000\000\003B\003C\000\000\003D\000\000\003E\000\000\001W\003\020\000\000\000\000\001\246\000\000\001\167\001\228\000\000\003\014\000\000\000\000\000\000\003\019\000\000\000\000\000\000\001<\000\000\0016\000\000\0017\000\000\001A\0015\001@\000\000\003\031\001B\000\000\000\235\000\000\000\000\000\000\000\000\001>\0019\001\243\000\000\001:\000\000\001;\000\000\001\161\001\225\000\000\000\000\000\000\001\253\000\000\001\251\000\000\000\000\001\255\001\249\000\000\002\000\001\250\000\000\003!\002\003\000\000\000\231\000\000\000\000\001\244\000\000\001\163\001\226\000\000\003\176\000\000\003\173\000\000\003\174\000\019\000\020\000\000\000\000\002\216\000\000\002\215\000\000\002\025\000\000\002\218\000\000\002\217\000\000\000\000\000\000\002!\000\000\000\000\002%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002(\000\000\000\000\002+\000\000\002\027\000\000\000\000\002\030\000\000\000\000\000\000\002\"\000\000\000\000\002&\000\000\000\000\001\245\000\000\000\000\002\031\000\000\000\000\002#\002\213\002\028\000\000\002\214\000\000\000\000\000\000\000\000\002)\000\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002'\000\000\000\000\002*\000\000\002\026\000\000\000\000\002\029\000\000\000\000\000\000\002 \000\000\000\000\002$\000\000\001\165\001\227\000\000\002\219\000\000\000\000\000\000\003\177\000\017\000{\000\000\003\178\000\000\000\000\002\240\000\000\000\000\003\"\000e\000\000\000\000\000\000\000f\000\000\003\024\000\000\001\133\000\000\001\139\003\021\000\000\000\000\001q\000\000\001p\000\000\001z\000\000\001\153\000\000\000\000\000\000\001o\000\000\001n\000\000\001w\000\000\001\151\000\000\000\000\000\000\001v\000\000\000\000\000\000\001s\000\000\001r\000\000\001x\000\000\001\155\000\000\000\000\000\000\001t\000\000\000\000\000\000\001m\000\000\001l\000\000\001{\000\000\001\149\000\000\000\000\000\000\001u\000\002\000\000\000R\000S\000\000\000\000\002\181\002\185\002\189\002\177\002\174\000\000\000\000\002\186\002\193\002\178\002\192\002\176\002\191\002\180\002\172\002\179\002\188\002\175\002\182\002\173\002\184\002\190\002\187\002\183\001\189\001\188\000\134\000\000\000\000\003\006\000\000\000\000\002\234\000\000\000\000\002\236\002\235\002\203\000\000\000\000\003\012\002\195\002\194\002\196\000\000\001\203\000Q\001|\000\003\000\000\000\000\002\168\000\000\002/\000\000\000\135\000\000\000\000\003\b\000\000\000\000\000\000\000\127\000\000\000\000\002\248\000\000\002\019\002\018\001\183\002\204\000\000\001\219\000\000\002\169\000\000\000\000\000\129\000\000\000\000\002\252\000\000\001\200\000\000\000\000\001\194\000\000\000\000\000\000\001\199\000\000\001\196\000\000\000\000\000\000\001\173\001\172\000\000\000\000\000\000\001\220\000\000\001\192\000\000\001\191\000\000\000|\000\000\000\000\002\242\000\000\000\000\001\187\000\000\000\000\000\132\000\000\000\000\003\002\000\000\000\000\002\211\000\000\002\210\000\000\000\000\000\000\002\017\002\016\002\208\0027\002\199\002\209\000\000\001\206\000\000\000\000\000\000\001\202\000\000\001\208\000\000\000\000\001\195\000\000\000\000\000\000\002\201\000\133\000\000\000\000\003\004\000\000\002\200\000\000\001\204\000\000\000\000\001\205\000\000\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\001\221\000\000\001\193\000\000\002\t\000\130\000\000\000\000\002\254\000\000\000\000\000\000\000\000\0034\0033\000\000\000\000\001M\000~\001L\000\000\000\000\002\246\000\000\002\011\002\n\002\r\002\197\0023\002\012\000\000\000\131\000\000\000\000\003\000\000\000\000\000\000\000\000\000\002\015\002\014\002\207\002\205\0025\002\198\002\206\000\000\001\213\000\000\001\217\000\000\000\000\001\209\000\000\000\000\000\000\001\201\000\000\001\207\000\000\000\000\001\197\000\000\000\000\000\000\000\000\001\186\000\000\000\000\001\216\000\000\001\215\000\000\000\000\000\000\000\000\001\212\000\000\000\000\001\211\000\000\001\210\000\000\000\000\000\000\000\000\001\214\000\000\001\218\000\000\000\000\001}\000\004\000\000\001\190\000\005\000\000\000\000\001*\000\006\000\000\001\232\001\233\001\231\000\000\001\230\0035\001\179\000\000\000\007\000\000\001\235\001\236\001\234\000\000\000\000\000\000\000\000\001,\000\000\000\000\000\000\000\000\0011\0013\0012\001-\001/\001.\000\000\000\000\000\000\000\000\000\000\003;\003H\000\000\003<\000\000\003=\000\000\000\000\0036\000\000\000\000\000\000\000\000\003G\000\000\000\000\003F\001\240\001\239\000\000\000\000\001\181\001\229\001\237\000\000\000\000\000\000\000\000\002\021\000\000\000\000\000p\000q\002\020\000\000\000\000\000\000\000\224\000\000\001\135\000\000\000\000\000\223\000\219\000\000\000\000\000\000\000\000\001G\000\000\003K\000\000\003L\000\000\000\000\002\006\002\004\000\000\002\005\000\b\000\000\000\t\000\000\002F\002G\002E\000\000\002D\000\000\000\n\000\000\002I\002J\002H\000\000\002L\000\000\000\000\000\000\002>\000\000\000\000\002@\000\000\002:\000\000\002<\000\000\002A\000\000\002B\000\000\002;\0029\002M\001\185\002C\000\000\002O\000\000\002N\000\000\002P\000\000\002\212\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002Q\000\000\000\000\002T\000\000\002S\000\000\002R\001\t\000\000\000\000\000\000\000\000\001\n\002U\000\000\000\000\000\000\002\224\000\000\002\223\000\000\000\000\000\000\000\000\002\225\000\000\000\000\001)\000\000\000\000\000\000\000\000\000\000\002\238\000o\000\000\000\000\001\018\000\000\001$\001#\000\000\001i\000\000\002\222\001\177\001\175\000\000\000\000\000\000\000\000\002\226\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\221\000\000\000\000\000\000\000\000\000\000\000\000\002\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\233\000\000\000\000\002\232\000\000\002\229\000\000\000\000\000\000\000\000\000\000\002\230\000\000\000\000\000\000\002\231\000\r\000\000\002\227\000\000\002\228")
+ (16, "\000\000\000\000\003\012\000\131\000\000\000\000\003\\\001\130\000\000\001\128\001\129\001\127\000\000\001\132\001\131\000\001\000\000\001\183\000\000\000\000\000\147\000\000\000\000\001\173\000\196\000\000\000\000\000\183\000\000\000\000\000\188\000\187\000\000\000\184\000\000\000\182\000\000\000\000\000\000\000\186\000\000\000\185\003\152\003\151\000\000\000\200\000\000\000\199\000\000\000\000\000\176\000\000\000\000\000\181\000\180\000\000\000\177\000\000\000\175\000\000\000\000\000\000\000\179\000\000\000\178\000\000\000\190\000\000\000\201\000\000\000\000\000\195\000\194\000\000\000\191\000\000\000\198\000\000\000\000\000\000\002\015\002\014\002\r\000\000\001-\001,\000\000\000\000\002&\000\000\001\197\002\017\000\000\000\000\000\000\000\000\000\000\0014\000\000\000\000\001M\001|\001L\001K\001J\001I\001{\001H\001G\002R\000\000\000\000\002Q\000\000\000\000\000\000\000\159\000\000\000\000\000\158\002U\001E\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\204\000\202\000\000\000\197\000\146\000\000\000\189\000\000\000\209\000\000\000\000\000\000\000\193\000\000\000\000\000\000\003\138\003\145\003\144\003\146\000\000\000\000\000\000\000\000\003\180\000\000\003\139\003\140\000\000\000\000\000\206\000\000\003\142\000\000\000\000\000\000\004'\002\214\000\000\000\000\004%\000\000\002\240\000\000\000\000\000\000\000\000\000\000\000\000\004$\004&\002\220\001w\002\219\001v\002\218\002\217\002\216\0029\002\212\000\000\000\000\002\213\001.\000\000\000\000\000\000\002\215\000\000\004#\000\000\000\000\004\004\002\183\000\000\000\000\002\186\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\001/\001u\002\211\002\223\000m\000\021\000o\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000S\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000d\0019\000p\002\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000n\000f\000\000\000e\000\000\002\184\002\187\000\000\002\185\002\188\004\003\000\000\002\248\000\000\000\247\000\000\000\000\002'\000\000\001\199\002\018\000\000\000\000\002%\000\000\000\000\000\231\000\000\000\000\000\218\000\000\000\000\000\223\000\222\000\000\000\219\000\000\000\217\000\000\000\000\000\000\000\221\000\000\000\220\000\000\000\235\000\000\000\234\000\000\000\000\000\211\000\000\000\000\000\216\000\215\000\000\000\212\000\000\000\210\000\000\000\000\000\000\000\214\000\000\000\213\000\000\000\225\000\000\000\236\000\000\000\000\000\230\000\229\000\000\000\226\000\000\000\233\000\000\000\000\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\239\000\237\000\000\000\232\000\000\000\224\000\000\000\244\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\000\000\243\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002x\000\252\000\253\000\000\000\000\000\000\000\000\000\000\002f\002w\002-\000\000\000\000\000\000\000\000\000\000\001D\001\001\000\000\002.\000\000\000\000\000\000\000\000\000\251\000\000\000\249\000\000\001\175\000\171\000\000\000\000\000\170\002j\002g\000\000\000\000\003\148\000\000\003\147\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\242\000\240\003\179\000\000\000\000\003\150\003\143\000\227\000\000\001\195\002\016\000\000\000\000\002\247\000\000\000\000\002\246\002\245\002\244\002\243\002\242\002\238\000\000\004\015\002\239\000\000\004\016\002\241\000\000\004\018\000\000\000y\002\197\000\000\000\000\002\200\000\000\000\000\000\015\000\000\000\000\000\000\000\000\000\000\000i\000\000\000h\000\151\002\249\002\237\000\014\000\016\000g\0003\001*\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\143\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\000\000\000\000\000\000\000\000\000\000\000\000\002C\002G\000\000\000\000\000\150\002D\001<\001:\000\000\002\203\000\000\000\000\002\198\002\201\000\000\002\199\002\202\004\017\000z\000\000\002\189\004\031\004 \004\030\004\029\004\002\000\000\002\221\004\001\001R\000\000\0027\000\000\000\000\000\000\000\000\000\000\0012\002>\000\000\000\000\001\211\000\000\002\222\000\000\000\000\000v\000\000\000\000\004\020\004\019\000\000\0028\000\000\000\000\004\"\004!\000\000\000\000\004\006\004\005\000\000\000c\000\248\000\000\003\149\000\000\000\000\000\000\000\000\000\207\000\205\000\000\0018\000\000\000\000\000\208\000\192\000\000\000\000\001\151\000\000\001\150\000\000\001\165\000\000\001\185\000\000\000\000\000\000\003\202\000\000\000\000\003\189\000\000\000\000\003\194\003\193\000\000\003\190\000\000\003\188\000\000\000\000\000\000\003\192\000\000\003\191\000\000\003\206\000\000\003\205\000\000\000\000\003\182\000\000\000\000\003\187\003\186\000\000\003\183\000\000\003\181\000\000\000\000\000\000\003\185\000\000\003\184\000\000\003\196\000\000\003\207\000\000\000\000\003\201\003\200\000\000\003\197\000\000\003\204\000\000\000\000\000\000\000\000\003\209\000\000\000\000\000\000\000\000\003\210\003\208\000\000\003\203\000\000\003\195\000\000\003\215\000\000\000\000\000\000\003\199\000\000\001\228\000\000\003\251\000\000\000\000\002*\001\229\000\000\001\205\002\022\000\000\000\000\000\000\000\000\003\214\003\198\003\252\000\000\003\255\003\254\000\000\000\000\003l\003\253\000\139\000\000\001\030\000\000\000\000\000\000\000\000\003\212\000\000\000\000\000\000\000\000\003\213\003\211\000\000\000\000\003\237\000\000\000\000\003\224\000\000\000\000\003\229\003\228\000\000\003\225\000\000\003\223\000\000\000\000\000\000\003\227\000\000\003\226\000\000\003\241\000\000\003\240\000\000\000\000\003\217\000\000\000\000\003\222\003\221\000\000\003\218\000\000\003\216\000\000\000\000\000\000\003\220\000\000\003\219\000\000\003\231\000\000\003\242\000\000\000\000\003\236\003\235\000\000\003\232\000\000\003\239\000\000\000\000\000\000\000\000\003\244\000\000\000\000\000\000\000\000\003\245\003\243\000\000\003\238\000\000\003\230\000\000\003\250\000\000\000\000\000\000\003\234\000\000\000\000\000\000\000\000\003\249\003\233\000\000\000\000\000\000\000\000\003\247\000\000\000\000\000\000\000\000\003\248\003\246\003\134\003\136\003\137\003\135\000\000\000\000\000\000\000\000\000\000\001\135\000\000\000\000\000\000\000\000\000\000\000\255\001\011\000\254\000\000\000\000\000\128\000\000\000\000\000\000\002\227\000\000\000\000\000\000\004\r\004\012\000\000\000\000\002\235\000\000\000\000\002\234\000\000\000\000\002\233\002\232\002\231\002\230\002\229\001\147\002\225\000\000\004\b\002\226\000\000\004\t\002\228\000\000\004\011\000\000\000w\002\190\000\000\000\000\002\193\000\000\000\000\002\196\000\000\000\000\002\191\002\194\000\000\002\192\002\195\002\236\002\224\004\n\000x\000\000\000\000\000\000\000\000\001)\001(\000\000\000\000\000\000\000\000\000\000\000\000\001\141\000\000\0016\001\139\000\000\001'\000\000\002Y\000\000\000\000\000\000\000\000\001\144\000\000\001\181\000$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&\000\000\000\000\000\000\000\000\001\145\000\000\000\000\002X\000\000\000\000\000\000\000\163\000\000\000\000\000\162\002\\\001@\000\000\001\143\001\146\000\000\001\140\000\000\001\023\000\000\003V\000\000\000\000\001\019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\000\000\000\000\001\029\001\\\001[\000\000\000\000\000\000\000\000\001z\000\000\000\000\000\000\000\000\001\016\000\000\001\r\000\000\000\000\000\000\000\000\000\000\001\024\000\000\001\020\000\000\000\000\000\000\000\000\001\021\000\000\001\017\000\000\000\000\000\000\002\253\000\000\000\000\000\000\004\027\004\026\000\000\003}\000\000\003|\000\000\000\000\000\000\000\000\004.\000\000\000\000\000\000\004/\000\000\000\018\000\000\000\000\000\000\000\000\003\004\000\000\000\000\000\000\003\003\003\002\003\001\003\000\002\255\002\251\000\000\004\022\002\252\000\000\004\023\002\254\000\000\004\025\000\000\000{\002\204\000\000\000\000\002\207\000\000\000\000\002\210\000\000\000\000\002\205\002\208\000\000\002\206\002\209\003\006\002\250\004\024\000\000\000\000\000l\000\000\000k\000\000\003\005\000\000\002\019\000j\000B\001Q\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\145\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000\000\000|\000\000\004*\000\000\001\213\000\000\000\000\000\000\001\002\003s\001\171\000\000\001\170\001\134\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\0010\000\000\000\000\002J\000\000\000\000\000\154\002N\002K\001>\001\031\000\000\001!\001 \000\000\003\127\000\000\003~\003o\000\000\000\000\000\000\000\000\000\000\003y\000\000\003\128\000\000\000\000\000\000\000\000\003z\003q\000\000\003t\000\000\001\006\001\136\000\000\003\131\000\000\001\138\000\000\000\000\003\158\000\000\003\165\001\b\000\000\001\014\000\000\003\159\001\007\000\000\003\160\000\000\003\167\000\000\000\000\000\000\000\000\001\027\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\028\000\000\000\000\000\000\000\000\001y\000\000\000\000\000\000\001\015\000\000\001\012\000\000\000\000\000\000\000\000\000\000\001\022\000\000\001\018\001\004\001\003\000\000\003\168\003\169\000\000\003\170\000\000\003\171\000\000\001\137\003w\000\000\000\000\002,\000\000\001\209\002\024\000\000\003p\000\000\000\000\000\000\003v\000\000\000\000\000\000\001n\000\000\001h\000\000\001i\000\000\001s\001g\001r\000\000\003\130\001t\000\000\001\t\000\000\000\000\000\000\000\000\001p\001k\002(\000\000\001l\000\000\001m\000\000\001\201\002\020\000\000\000\000\000\000\0023\000\000\0021\000\000\000\000\0025\002/\000\000\0026\0020\000\000\003\132\002:\000\000\001\005\000\000\000\000\002)\000\000\001\203\002\021\000\000\004+\000\000\004(\000\000\004)\000\019\000\020\000\000\000\000\0039\000\000\0038\000\000\002z\000\000\003;\000\000\003:\000\000\000\000\000\000\002\130\000\000\000\000\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\137\000\000\000\000\002\140\000\000\002|\000\000\000\000\002\127\000\000\000\000\000\000\002\131\000\000\000\000\002\135\000\000\000\000\002+\000\000\000\000\002\128\000\000\000\000\002\132\0036\002}\000\000\0037\000\000\000\000\000\000\000\000\002\138\000\000\002y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\136\000\000\000\000\002\139\000\000\002{\000\000\000\000\002~\000\000\000\000\000\000\002\129\000\000\000\000\002\133\000\000\001\207\002\023\000\000\003<\000\000\000\000\000\000\004,\000\017\000~\000\000\004-\000\000\000\000\003R\000\000\000\000\003\133\000s\000\000\000\000\000\000\000t\000\000\003{\000\000\001\177\000\000\001\179\003x\000\000\000\000\001\157\000\000\001\156\000\000\001\166\000\000\001\191\000\000\000\000\000\000\001\155\000\000\001\154\000\000\001\163\000\000\001\189\000\000\000\000\000\000\001\162\000\000\000\000\000\000\001\159\000\000\001\158\000\000\001\164\000\000\001\193\000\000\000\000\000\000\001\160\000\000\000\000\000\000\001\153\000\000\001\152\000\000\001\167\000\000\001\187\000\000\000\000\000\000\001\161\000\002\000\000\000`\000a\000\000\000\000\003\022\003\026\003\030\003\018\003\015\000\000\000\000\003\027\003\"\003\019\003!\003\017\003 \003\021\003\r\003\020\003\029\003\016\003\023\003\014\003\025\003\031\003\028\003\024\001\234\001\233\000\137\000\000\000\000\003h\000\000\000\000\003K\000\000\000\000\003N\003L\003M\003,\000\000\000\000\003n\003$\003#\003%\000\000\001\250\000_\001\168\000\003\000\000\000\000\003\t\000\000\002\144\000\000\000\138\000\000\000\000\003j\000\000\000\000\000\000\000\130\000\000\000\000\003Z\000\000\002t\002s\001\225\003-\000\000\002\t\000\000\003\n\000\000\000\000\000\132\000\000\000\000\003^\000\000\001\247\000\000\000\000\001\240\000\000\000\000\000\000\001\246\000\000\001\242\000\000\000\000\000\000\001\215\001\214\000\000\000\000\000\000\002\n\000\000\001\238\000\000\001\237\000\000\000\127\000\000\000\000\003T\000\000\000\000\001\232\000\000\000\000\001\236\000\000\000\000\000\135\000\000\000\000\003d\000\000\000\000\0034\000\000\0033\000\000\000\000\000\000\002r\002q\0031\002\152\003(\0032\000\000\001\253\000\000\000\000\000\000\001\249\000\000\001\255\000\000\000\000\001\241\000\000\000\000\000\000\003*\000\136\000\000\000\000\003f\000\000\003)\000\000\001\251\000\000\000\000\001\252\000\000\000\000\000\000\000\000\000\000\000\000\002\012\000\000\001\245\000\000\001\244\000\000\000\000\001V\000\000\001U\000\000\000\000\000\000\000\000\000\000\002\011\000\000\001\239\000\000\001T\000\000\002@\000\133\000\000\000\000\003`\000\000\000\000\000\000\000\000\003\154\003\153\000\000\000\000\001~\000\129\001}\000\000\000\000\003X\000\000\002l\002k\002n\003&\002\148\002m\001S\000\000\000\134\000\000\000\000\003b\000\000\000\000\000\000\000\000\002p\002o\0030\003.\002\150\003'\003/\000\000\002\004\000\000\002\007\000\000\000\000\002\000\000\000\000\000\000\000\001\248\000\000\001\254\000\000\000\000\001\243\000\000\000\000\000\000\000\000\000\000\000\000\001\231\000\000\000\000\002\006\000\000\002\005\000\000\000\000\000\000\000\000\002\003\000\000\000\000\002\002\000\000\002\001\000\000\000\000\002\b\000\000\000\000\001\169\000\004\000\000\001\235\000\005\000\000\000\000\001Y\000\006\000\000\002\028\002\029\002\027\000\000\002\026\003\155\001\221\000\000\000\007\000\000\002\031\002 \002\030\000\000\000\000\000\000\000\000\001^\000\000\000\000\000\000\000\000\001c\001e\001d\001_\001a\001`\000\000\000\000\000\000\000\000\000\000\003\161\003\174\000\000\003\162\000\000\003\163\000\000\000\000\003\156\000\000\000\000\000\000\000\000\003\173\000\000\000\000\003\172\002$\002#\000\000\000\000\001\223\002\025\002!\000\000\000\000\000\000\000\000\000\000\002v\000\000\000\000\000\000\000\000\000\000\002_\002u\000\000\000\000\000\000\000\167\000\000\000\000\000\166\002c\002`\001B\001\000\000\000\000\000\000\000\000\000\001x\001Z\000\000\003\177\000\000\003\178\000\000\000\000\002=\002;\000\000\002<\000\b\000\000\000\t\000\000\002\167\002\168\002\166\000\000\002\165\000\000\000\n\000\000\002\170\002\171\002\169\000\000\002\173\000\000\000\000\000\000\002\159\000\000\000\000\002\161\000\000\002\155\000\000\002\157\000\000\002\162\000\000\002\163\000\000\002\156\002\154\002\174\001\227\002\164\000\000\002\176\000\000\002\175\000\000\002\177\000\000\0035\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002\178\000\000\000\000\002\181\000\000\002\180\000\000\002\179\001\"\000\000\000\000\000\000\000\000\001#\002\182\000\000\000\000\000\000\003A\000\000\003@\000\000\000\000\000\000\000\000\003B\000\000\000\000\001X\000\000\000\000\000\000\000\000\000\000\003P\000}\000\000\000\000\001+\000\000\001O\001N\000\000\001\149\000\000\003?\001\219\001\217\000\000\000\000\000\000\000\000\003C\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003>\000\000\000\000\000\000\000\000\000\000\000\000\003=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\000\000\000\000\003I\000\000\003F\000\000\000\000\000\000\000\000\000\000\003G\000\000\000\000\000\000\003H\000\r\000\000\003D\000\000\003E")
let error =
- (184, "\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\b\001\006\000\000\002\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\252\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001*\134\128(\b5A\001!\152\017\1284\002!\222\004\128\001\014d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001v\142\000\000\0001\000\001\000\024\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001v\142\000\000\0001\000\001\000\024\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\002\016\000 \000\002\b\b\000@\000\000\000\128\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\000\000\000\000\000 \000\002 \000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\b\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\019\004\217d\176\000\000P\002\004\000\000n\128Bxw\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\185\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\017\004\024\004\176\000\000P\002\000\000\000l\128\002hw\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000l\128\002xw\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\000\000\000\004\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\001\000\000\000\000\128\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\017$ \004\131@\1683\185\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\002\004Y$\160\000\000@\000\004\000\000j\128@\016F\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\185\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000h\128\000\016F\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\b\000\000\016\000\000\000\000\002\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\b\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\000\000\000\000\000 \000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000\016\000 \000\002\000\b\000\006\000\000\000\128\000\000\006\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\003\002\004\025$\160\000\000@\000\004\000\000B\128B\000\006\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\185\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\b\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\000\130\000\000\001 \000\003\019\004\217d\176\000\000P\002\004\000\000n\128BPw\000\000\000\002\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\003\004\025$\176\000\000@\000\004\000\000f\128B@F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\001$\000\004\0030\1603\153\000\001\132\128@\"\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\001$\000\004\0030\1603\153\000\001\132\128@\"\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@\"\000A\004\130\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\017\128\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\001 \000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\001\000\001 \000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\030Q\134\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\019\004\217d\176\000\000P\002\004\000\000j\128@Pw\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\185\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000h\128\000Pw\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\001\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\004\000\000\000\000\000\000\001\002 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\016\174;\159\b\001\158\160\192\001\026Q\002\130\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\026QB\130\127\245\252\030\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\030\017\164(\004\003\024\190;\159\024\001\158\164\192\001\030Q\198\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\026QB\130\127\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\026Q\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\001\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\001\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\185\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\024\001\158\160\192\t\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\030\017\164(\004\003\024\190;\159\024\001\158\164\192\001\030Q\198\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\024\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\128@\000\000\000\016\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\024\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\019\004\217d\176\001\000P\002\004\128\000n\128@Pw\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\016\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\024\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\024\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\185\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\001\000\000\017\128\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\024\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\024\001\158\160\192\t\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\001\000\000\017\128\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\127\247\254\016\017\1648\004\195P\190;\159\024\003\158\164\192\025\030Q\214\179\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\190;\159\b\001\158\160\192\001\030Q\198\130\000\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000\b\000\000\000\000\127\245\252\016\017\164(\004\003\024\190;\159\b\001\158\160\192\001\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\127\245\252\016\017\164(\004\003\024\190;\159\b\001\158\160\192\001\026QB\130\000\000\000\000\000\000\000\000\128@\016\000\000\000\000\000\000\000\b\000\000@\000\127\245\252\016\017\164(\004\003\024\190;\159\b\001\158\160\192\001\026QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\016\000\000\000\000\000\000\000\b\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\026QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\001\000\016\017\128\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\016\000\192@\000\000\000\000\002\000\000\000\b\000\000\016\001\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\192@\000\000\000\000\002\000\000\000\b\000\000\016\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\1648\004\195P\174;\159\b\003\158\160\192\t\026Q\018\131\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\1648\004\195P\174;\159\b\003\158\160\192\t\026Q\018\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\026QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\024\001\158\160\192\t\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\245\252\000\017$(\004\003\000\1683\159\000\001\132\128@\000\002Q\002\130\000\000\000\000\001$\001\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\245\252\000\017$(\004\003\000\1683\159\000\001\132\128@\000\002Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\017\128\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000{\245\252\000\017$(\004\003\000\1683\159\000\001\132\128@\000\002Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\003\004\025$\176\001\000@\000\004\128\000b\128@@F\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\185\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\001\000\000\017\128\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\001\000\001\000\016\017\128\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\001\002\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\030Q\134\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000\016\000 \000\002\000\b\000\006\000\000\000\128\000\000\006\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000\016\000 \000\002\000\b\000\006\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\127\245\252\000\016\000 \000\002\000\b\000\006\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000\016\000 \000\002\000\b\000\006\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x@8\b$I\002\016\b\000\000$\000!J\020\128\001\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\b\000\128(\b\004A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000 \000\002\000\000\000\000\000\000\000 \000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\"\000\000\000\000\000\000\000 \000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\0008\b$A\002\016\b\000\000$\000!H\020\128\001\140\000\000z\213x\0008\b \001\002\016\b\000\000$\000!H\020\128\001\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$a\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\0008\b$\001\002\016\b\000\000$\000!H\020\128\001\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\0008\b \001\002\016\b\000\000$\000!H\020\128\001\132\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\004\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000\001\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\000\000\000\164\000!\218\004\128\001\014\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\128\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000\000\000\000\004\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\017\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128.\b$A\000\005\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\129(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\b\000\129(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000\000\000\000\004\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\128\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(H$A\000%\000\000\000\164\000!\218\004\128\001\014\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\128\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\004\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006@\000\000\000\004\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128.\b$A\000\005\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\221x\1288\b$A\002\017\b\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\b\000\128(\b\004A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128.H$A\000\005\128\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000z\221x\1288\b$A\002\017\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x@8\b$I\002\016\b\000\000$\000!J\020\128\001\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\2243\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131\208\238;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131\208\174;\159\b\001\158\164\192\t\026Q\002\179{\247\254\000\016\000 \000\002\000\b\000\000\000\000\000\004\000\000\000\000\000\000{\247\254\000\016\000 \000\002\000\b\000\000\000\000\000\004\000\000\000\000\000\000{\247\254\000\016\000 \000\002\000\b\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\247\254\000\016\000 \000\002\000\b\000\000\000\000\000\132\000\000\000\000\000\000\001\"\134\000\000\000\000\000\001\000\000\017\128\000\000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\128\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\001\000\000\000\000\128\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\026Q\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\001\000\001\000\000\017\128\000\000\000\132\000\000\000\000\0001\000\000\000\000\000\000\128\128 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\2243\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131\208\238;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131\208\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\003\024\174;\159\b\001\158\164\192\001\026Q\002\179\000\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\127\247\254\016\017\164(\004\003\024\174;\159\b\001\158\164\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\127\247\254\016\017\164(\004\003\024\174;\159\b\001\158\164\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\001\000\001\000\000\017\128\000\000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\001\000\001\000\000\017\128\000\000\000\132\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000@\000\000\000\000\000\000\000\000@\145.\000`\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000 \000\000\016\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000 \004\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\128\000\000\000\016\000\000\000\000\000\000\000\001\006\000@\000 \020\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\016\000\000\000\000\000\000\000\001\006\000@\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\014\000`\000\000\016\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\002\000\016\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\014\000`\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")
+ (191, "\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000\000\000\000\000\001\000 \192\000\000@\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\224\000\000\000\000\000\000\000\003\215\181x\000\b\000\016\000\001\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@BT4\000\160 \213\004\012\134P#\000\154\001\016\239\002@\000\1352\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0025\163\128\000\000\006 \000`\002\129\024\004@\b\002\016\000\000\000\t\144\196\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\165\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 !\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\209\192\000\000\003\016\0000\001@\140\002 \004\001\b\000\000\000\004\200b\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bR\134\000\000\000\b\128\001\128H\004`\017\000 \b@\000\000\000&C\016\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132(`\000\000\000\136\000\024\004\128F\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132(`\000\000\000\136\000\024\004\128F\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\b\128\001\128H\004`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!J\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\b\128\001\128H\004`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\001\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b \000\002\000\128\000\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\b\000\000\128 \000\000\016\000\001\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\001\000\000\016 \000\000\000\000\000\000\000\000\000\000\000\000\000\1940\000\b\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\002\000\000\000\000\000\000\000\000\000\000\016@\000\004\001\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\016\000\000\000\000\000\000\000\000\000\000\130\000\000 \b\000\000\004\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\004\000\000@\016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\b \000\002\000\128\000\000@\000\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\bB\134\000\000\000\b\128\001\128H\004`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\n\024\000\000\000\"\000\006! \017\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\b \000\002\000\128\000\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\b\128\001\128H\004`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000@\000\128\000\b\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\132(`\000\000\000\136\000\024\132\128F\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\003\002\000\000\001\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015^\213\224\b \000@\000\004\016\b\000`@\000\000 \000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\001\000\000\016\000 \001\129\000\000\000\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\b\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004\000\b\000\000\130\001\000\012\b\000\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\003\002\000\000\001\000\000\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000 \b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\002\000\000\"\000\000\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b!\016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000\000\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \158\189\171\192\000D\144\128\018\r\002\144g\025\128\000B@ \004\000 \128A={W\128\000\137!\000$\026\005 \2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\000\000\130\001\004\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\001\137\130l\178X\000\000\005\000 @\000\006\232\004'\199p\000\000\000\000\000\000\000\000\002\000\000\000\128 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000D\144\128\018\r\"\144g9\128\000B@ \004\000 \144A={W\128\000\137!\000$\026\005 \2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\144\000\000\196\1936Y,\000\000\002\128\016 \000\003t\002\019\227\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\r\144\000O\014\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\0006@\001<;\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\024\136&\194%\128\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002d\000\019\193\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\134\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001>\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\134\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001>\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\153\000\004\248n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002d\000\019\225\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\134\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001>\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\153\000\004\240n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002d\000\019\193\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001<\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\153\000\004\248n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002d\000\019\225\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\134\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001<\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\153\000\004\240n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001<\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\153\000\004\240n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001<\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\030\189\171\192\000@\000\128\000\b\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\148\b\000\000\000\016\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\1480\000\000\000D\000\012\002@#\000\136\001\000B\000\000\000\0012\024\128\132(`\000\000\000\136\000\024\004\128F\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bR\134\000\000\000\b\128\001\128H\004`\017\000 \b@\000\000\000&C\016\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132(`\000\000\000\136\000\024\004\128F\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132(`\000\000\000\136\000\024\004\128F\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\b\128\001\128H\004`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!J\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\b\128\001\128H\004`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\001\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b \000\002\000\128\000\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000\196$\0020\b\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\001\004\000\000@\016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000\196$\0020\b\128\016\004 \000\000\000\019!\139\215\181x\000\b\000\016\000\001\004\002\000\024\016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\001\000\000\016@ \001\129\000\000\000\128\000\000\000\000\004\000z\246\175\000\001\000\002\000\000 \128@\003\002\000\000\001\000\000\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\000\000 \b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\001\000\000\016@#\000\001\000\000\000\000\000\b\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\002\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\015^\213\224\000 \000@\000\004\016\b\192\000@\000\000\000\000\000\000\000\b\000\030\189\171\192\000@\000\128\000\b \017\128\000\128\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\002\000\000\000\000\000\016\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\000\000\128 \000\000\016\000\000\000\000D\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\002\000\128\000\000@\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\002\000\000\000\000\000\016\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\001\000\000\016@#\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\000\000\000\000\000\004\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\002\000\000\000\000\000\016\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\237Z\000\002\000\004\000\000\000\000\128\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\132\000\000 \b\000\000\004\000\000\000\000\000\000\003\215\181x\000\b\000\016\000\001\004\002\000\024\016\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132(`\000\000\000\136\000\024\132\128F\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\003\002\000\000\001\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\002\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000D\144\128\018\r\002\144g\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000\000\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000\000\001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\003\002\004Y$\160\000\000\b\000\000\128\000\rP\bF\b\192\000\000\000\000\000\000\000\000\004\000\000\001\000@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\137!\000$\026E \206s\000\000\132\128@\b\000A \130z\246\175\000\001\018B\000H4\138A\156\230\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\003\215\181x\000\b\146\016\002A\164R\012\2310\000\bH\004\000\000\004\018\b'\175j\240\000\017$ \004\131H\164\025\206`\000\016\144\b\001\000\b \016@\000\000\004\128\000\006\000\b\176\t@\000\000\016\000\000\000\000\026 \000\140\017\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\001\128\002,\002P\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\128\000\006\000\b\176\t@\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \006\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001 \000\001\128\002,\002P\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\128\000\006\000\b\176\t@\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\018\000\000\024\000\"\192%\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000H\000\000`\000\139\000\148\000\000\001\000\000\000\000\001\"\000\b\192\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001 \000\001\128\002,\002P\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\128\000\006\000\b\176\t@\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000H\000\000`\000\139\000\148\000\000\001\000\000\000\000\001\"\000\b\192\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001 \000\001\128\002,\002P\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\128\000\006\000\b\176\t@\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000H\000\000`\000\139\000\148\000\000\001\000\000\000\000\001\"\000\b\192\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001 \000\001\128\002,\002P\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\015^\213\224\000\"H@\t\006\145H3\156\192\000! \016\002\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004@\000\245\237^\000\002$\132\000\144i\020\1319\204\000\002\018\001\000 \001\004\130\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\000\000\000\000 \t \000$\026\005\000\2063\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\000\000\016@ \128\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015^\213\224\000\"H@\t\006\129H3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\b\146\016\002A\160R\012\2270\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\137!\000$\026\005 \2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\140\002 \004\001\b\000\000\000\004\200b\245\237^\000\002\000\004\000\000A\000\128\006\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\bB\134\000\000\000\b\128\001\128H\004`\017\000 \b@\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000/^\213\224\000 \000@\000\004\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\001\000\000\016\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\215\240@\163HP\b\0061N;\143\194\000g\1680\000F\148@\160\158\189\171\192\000@\000\128\000\b\000\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\002\000\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\001\000(\b$A\000!\132\000\000$\128\004;@\144\000!\128\000\000\000 \002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000$\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\160@\000\000\000\128\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\b\000\128\020\004\018 \128\016\194\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128\020\004\018 \128\016\194\000\000\018@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000!\132\000\000$\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000@\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\b\000\000\128 \000\000\016\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\002H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000A\000\000\016\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\b\000\128\020\004\018 \128\016\194\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\b\000\015^\213\224\000 \000@\000\004\000\b\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\020\004\018 \128\024\194\000\000\018@\002\029\160H\000\016\192\000\007\175j\240\000\016\000 \000\002\b\004\0000 \000\000\016\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\002\016\000\000\128 \000\000\016\000\000\000\000\000\000\015^\213\224\000 \000@\000\004\016\b\000`@\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\001\004\136 \0060\128\000\004\144\000\135h\018\000\0040\000\001\235\218\188\000\004\000\b\000\000\130\001\000\012\b\000\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\016\001\000(\b$A\000!\132\000\000$\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029{V\128\000\128\001\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000J\004\000\000\000\b\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\020\004\018 \128\016\194\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\000@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\020\004\018 \128\016\194\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\020\004\018 \128\016\194\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t@\128\000\000\001\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000@\n\002\t\016@\ba\000\000\t \001\014\208$\000\b`\000\000\000\b\000\128\020\004\018 \128\016\194\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000$\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\001\000(\b$A\000!\132\000\000$\128\004;@\144\000!\128\000\000\000 \002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\128\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\016\000\001\000@\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\001\004\136 \0060\128\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\130\000\000 \b\000\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\016\001\000(\b$A\000!\132\000\000$\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\020\004\018 \128\016\194\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\001\004\136 \0060\128\000\004\144\000\135h\018\000\0040\000\001\235\218\188\000\004\000\b\000\000\130\001\000\012\b\000\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\016\001\000(\b$A\000!\132\000\000$\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\016\128\000\004\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\003\002\000\000\001\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\0001\132\000\000$\128\004;@\144\000!\128\000\015^\213\224\000 \000@\000\004\016\b\000`@\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128\b\001@A\"\b\001\012 \000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\004\b4\129\000\128b\020#\184\204 \006z\131\000\004aD\n\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\024\000\000\001\000\000\000\012\001\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\016\000 \000\002\000\004\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\188f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000$\128\000\128g\020\0038\204\000\006\018\001\000\168\001\004\018\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b'\175j\240\000\017$ \004\131@\164\025\198`\000\016\144\b\001\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\b\146\016\002A\160R\012\2270\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\t \000 \024\005\000\2062\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000 \024\005\000\2062\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\192\129\006I(\000\000\002\000\000 \000\002\020\002\016 0\000\000\000\000\000\000\000\000\001\000\000\000@\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015^\213\224\000\"H@\t\006\145H3\156\192\000! \016\002\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\001\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\128g\020\0038\204\000\006\018\001\000\168\001\004\018\b\000\000\000\000\000I\000\001\000\206(\006q\152\000\012$\002\001P\002\b\004\016\000\000\001 \000\001\137\130l\178X\000\000\005\000 @\000\006\232\004%Gp\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\128\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\rB\128o\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000@\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\006\006\b2I`\000\000\016\000\001\000\000\025\160\016\145\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000@3\n\001\156f\000\003\t\000\128D\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000I\000\001\000\204(\006q\152\000\012$\002\001\016\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\004@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\024\000 \192%\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000@\000\000`\000\131\000\148\000\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001\000\000\001\128\002\012\002P\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\000\000\006\000\b0\t@\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\016\000\000\024\000 \192%\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000@\000\000`\000\131\000\148\000\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001\000\000\001\128\002\012\002P\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\000\000\006\000\b0\t@\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000@\000\000`\000\131\000\148\000\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001\000\000\001\128\002\012\002P\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\000\000\006\000\b0\t@\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000@\000\000`\000\131\000\148\000\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001\000\000\001\128\002\012\002P\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\004\144\000\016\012\226\128g\025\128\000\194@ \021\000 \130A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\b\000\000\000\000\000\000$\128\000\128g\020\0038\204\000\006\018\001\000\136\001\004\018\b\000\000\000\000\000I\000\001\000\206(\006q\152\000\012$\002\001P\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\128\000\000\000\000\000\002H\000\b\006q@3\140\192\000a \016\n\128\016A \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\b\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000\000\017\128@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004\000\b\000\000\130\001\024\000\b\000\000\000\000\000@\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\rB\128o\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\016\000 \000\002\b\004`\000 \000\000\000\000\001\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\018\000\000\000\000\000\000\000\000\000@\000\004\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\128\000\b\000\000\000\000\000\000\000I\000\001 \212(\006\241\152\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029{V\128\000\128\001\000\000\000\000 \000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\b\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\128\000\b\000\000\000\000\000\000\000I\000\001 \212(\006\241\152\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000@\000\004\000\000\000\000\000\000\000$\128\000\144j\020\003x\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\127\254\191\130\005\026B\128H5\nq\220~\016\003=A\128\018<\163\r\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\019\215\181x\000\b\146\016\002A\160R\012\2270\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \b$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\245\252\030(\210\020\002\001\140S\142\227\240\128\025\234\012\000\017\165\016( \000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\004\000\000\000\000\000\000\000 D\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\129F\144\160\016\012B\156w\031\132\000\207P`\000\141(\129A?\255_\193\002\141!@$\026\133\184\238?\b\001\158\160\192\t\026QB\130z\246\175\000\001\018B\000H4\nA\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\001$\000\004\003\000\160\025\198@\0000\144\b\000\000\b \016@\000\000\000\000\002H\000\b\006\001@3\140\128\000a \016\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\160\025\198@\0000\144\b\000\000\b \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\024\152&\203%\128\000\000P\002\004\000\000j\128@Pw\000\000\000\000\000\000\000\000\000 \000\000\b\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004I\b\001 \210)\006s\152\000\004$\002\000@\002\t\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\016\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\024\136&\194%\128\000\000P\002\000\000\000h\128\000Pw\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\016\000\n\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000$@\000(\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\016\000\n\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000$@\000(\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\145\000\000\160n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002D\000\002\129\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\016\000\n\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000$@\000(\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002D\000\002\129\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\016\000\n\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000$@\000(\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002D\000\002\129\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\016\000\n\006\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\241F\144\160\016\012b\156w\031\132\000\207P`\000\141(\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\195\197\026B\128@1\139q\220~0\003=I\128\002<\163\141f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020i\n\001\000\198)\199q\248@\012\245\006\000\b\210\136\020\019\255\245\252\016(\210\020\002A\168[\142\227\240\128\025\234\012\000\145\165\020('\255\235\248 Q\164(\004\131P\167\029\199\225\0003\212\024\001#J \208@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026C\128L5\011q\220~0\007=I\128:<\163\173f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\001\002\r @ \024\133\b\2383\b\001\158\160\192\001\024Q\002\130\000\000\000\002\004\026@\128@1\n\017\220f\016\003=A\128\0020\162\005\004\000\000\000\000\000\000\000\000\000@\000\000\016\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\002\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \b$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\130\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\016 \210\004\002\001\136P\142\2270\128\025\234\012\000\017\133\016( \000\000\000 A\164\b\004\003\016\161\029\198a\0003\212\024\000#\n P@\000\000\000\000\000\000\000\000\000\016\000\001\000@\000\000 \000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\128\000\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\b\002\000\000\001\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\001\000\000\016\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000@\000\000 \000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\b\002\000\000\001\000\000\016\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\137!\000$\026E \206s\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\004\b4\129\000\128b\020#\184\204 \006z\131\000\004aD\n\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\129F\144\160\018\rB\156w\031\140\000\207P`\004\141(\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\255\135\1384\133\000\128c\022\227\184\252`\006z\147\000\004yG\026\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\215\240@\163HP\b\0061N;\143\198\000g\1680\000F\148@\160\128\000\000\000\000\000\000\000\002\001\000\000\000\000\b\000\000\000\000\004\000\000\000\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\220~0\003=A\128\0024\162\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\001\137\130m\178X\000@\021\000 H\000\006\232\004\005\007p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\001\000\128\000\000\000\004\000\000\000\000\002\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\220~0\003=A\128\0184\162\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020i\n\001\000\198)\199q\248\192\012\245\006\000\b\210\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015^\213\224\000\"H@\t\006\145H3\156\192\000! \016\002\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000`\000\001\024\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\001\000\000\016@#\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\168P\r\2270\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\001\000\000\016@#\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\001$\000\004\131P\160\027\198`\000\016\144\b\001\000\b \016@\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\237Z\000\002\000\004\000\000\000\000\128\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000 \b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\001$\000\004\131P\160\027\198`\000\016\144\b\001\000\b \016@\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\245\252\016(\210\020\002A\168S\142\227\241\128\025\234\012\000\145\165\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\000\000\000\000\b\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\220~0\003=A\128\0184\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\192\000\0020\b\128\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\129\006\144 \016\012B\132w\025\132\000\207P`\000\140(\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\031\255\191\240\129F\144\224\019\rB\220w\031\140\001\207R`\012\143(\235Y\128\000\000\001\002\r @ \024\133\b\2383\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\127\004\n4\133\000\128c\022\227\184\252 \006z\131\000\004yG\026\b\000\000\000\000\000\000\000\000 \016\000\000\000\000\000\000\000\000\000@\000\000\000\003\255\245\252\016(\210\020\002\001\140[\142\227\240\128\025\234\012\000\017\229\028h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\001\000\128\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\255_\193\002\141!@$\026\133\184\238?\b\001\158\160\192\t\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\127\004\n4\133\000\144j\022\227\184\252 \006z\131\000$yG\026\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\002\000\003\255\245\252\016(\210\020\002\001\140[\142\227\240\128\025\234\012\000\017\165\020( \000\000\000\000\000\000\000\000\128@\016\000\000\000\000\000\000\000\001\000\000\b\000\015\255\215\240@\163HP\b\0061n;\143\194\000g\1680\000F\148P\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \016\b\002\000\000\000\000\000\000\000\000 \000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\245\252\016(\210\020\002A\168[\142\227\240\128\025\234\012\000\145\165\020( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\0000\001\000\140\002\000\000\001\000\000\000\000\000\128\000\000\000\000\000\000\000\002\000\024\b\000\000\000\000\000\b\000\000\000 \000\000@\005\255\250\254\b\020i\n\001\000\198)\199q\248@\012\245\006\000\b\210\136\020\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\192@\000\000\000\000\000@\000\000\001\000\000\002\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\129F\144\224\019\rB\156w\031\132\001\207P`\004\141(\137A\191\255_\193\002\141!@ \024\1978\238?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020i\014\0010\212)\199q\248@\028\245\006\000H\210\136\148\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\002\000\003\255\245\252\016(\210\020\002A\168[\142\227\240\128\025\234\012\000\145\165\020( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@ \016\000\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 Q\164(\004\131P\167\029\199\227\0003\212\024\001#J P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\254\191\128\001\018B\128@0\nA\156|\000\003\t\000\128\000\004\162\005\004\000\000\000\000\000$\128 \144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\127\215\240\000\"HP\b\006\001H3\143\128\000a \016\000\000\148@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\b\000\016\000\001\000\002\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\133\000\2223\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\000\0020\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\001\000\000\016@#\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\168P\r\2270\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\188f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\215\181h\000\b\000\016\000\000\000\002\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\133\000\2223\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\002\000\003\223\245\252\000\b\146\020\002\001\128R\012\227\224\000\024H\004\000\000%\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\006\006\b6I`\001\000P\000\001 \000\024\160\016\016\017\128\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\188f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\156\230\000\001\t\000\128\016\000\130A\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\003\000\000\b\192 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004\000\b\000\000\130\001\024\000\b\000\000\000\000\000@\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\rB\128o\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\168P\r\2270\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\189\171@\000@\000\128\000\000\000\016\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \212(\006\241\152\000\004$\002\000@\002\b\004\016\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\004\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\128\001\128\b\004`\016\000\000\b\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\016\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\016 \000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\215\240@\163HP\b\0061N;\143\194\000g\1680\000F\148@\160\128\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\003\255\245\252\016(\210\020\002A\168S\142\227\240\128\025\234\012\000\145\229\024h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\127\000\002\000\004\000\000@\000\128\0000\000\000\002\000\000\000\024\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000/\255\215\240@\163HP\b\0061N;\143\194\000g\1680\000F\148@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\255_\193\002\141!@ \024\1978\238?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000@\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016 \210\004\002\001\136P\142\2270\128\025\234\012\000\017\133\016( \000\000\000\000\000\000\016\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000 \000\000\000@\131H\016\b\006!B;\140\194\000g\1680\000F\020@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\002\r @ \024\133\b\2383\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000@\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\127\000\002\000\004\000\000@\000\128\0000\000\000\002\000\000\000\b\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\011\255\245\252\000\b\000\016\000\001\000\002\000\000\192\000\000\b\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\215\240\000 \000@\000\004\000\b\000\003\000\000\000 \000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\016\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\b\003\128\130D\144!\000\192\000\002H\000B\148)\000\003\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\016\001\000(\b$A\000\001\000\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\b\000\128\020\004\002 \128\000\128\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\004\000\000\000\002\000 \005\001\004\136 \000 \000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\002\000\000 \000\000\000\000\000\000\000 \000\000\000\000\000\128 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\004@\000\000\000\000\000\000\000@@\000\000\000\000\001\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\001\192A\"\b\016\128`\000\001$\000!H\020\128\001\140\000\000z\246\175\000\003\128\130\000\016!\000\192\000\002H\000B\144)\000\003\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\024@\000@\000\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000\001\000\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\001\000\000\000\000\128\b\001@A\"\b\000\b\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\002\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\001\192A \b\016\128`\000\001$\000!H\020\128\001\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\237^\000\007\001\004\000 B\001\128\000\004\144\000\133 R\000\006\016\000\000\000\004\000@\n\002\t\016@\000@\000\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000@\128\000\000 \002\000P\016H\130\000\002\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \005\001\004\136 \000 \000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000\001\000\000\000\004\128\004;@\144\000!\128\000\000\000 \002\000P\016H\130\000\002\000\000\000)\000\bv\129 \000C\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\000@\000\000\001 \001\014\208$\000\b`\000\000\000\b\000\128\020\004\018 \128\016\128\000\000\n@\002\029\160H\000\016\224\000\000\000\016\001\000(\b$A\000\001\000\000\000\004\128\020;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\001\000\000\016\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\016\001\235\218\188\000\004\000\b\000\000\128\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000 \002\000P\016H\130\000\003\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\001@A\"\b\000\b\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\000\000\000\000\000\000\b\000\128\020\004\018 \128\000\128\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\128\000\000\000@\004\000\160 \145\004\000\004\000\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000P\016H\130\000\"\000\000\000\t\000\bv\129 \000C\000\000\000\000@\004\000\160 \145\004\000\004\000\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000H\000C\180\t\000\002\024\000\000\000\002\000 \005\193\004\136 \000\160\000\000\002\144\000\135h\018\000\0048\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\004\000\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 E\001\004\136 \000 \000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\001\000\000\000\000\128\b\017@A\"\b\000\b\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\000\000\000\000\128\000\000\002\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000P\016H\130\000\002\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000H\000C\180\t\000\002\024\000\000\000\002\000 \005\001\004\136 \004 \000\000\002\144\000\135h\018\000\0048\000\000\000\004\000@\n\002\t\016@\000@\000\000\001 \005\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\016\001\000(\b$A\000\001\000\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000P\b@\128\020\004\018 \128\000\192\000\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000\001\128\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\006\000\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\132\130D\016\002P\000\000\001H\000C\180\t\000\002\028\000\000\000\002\000 \005\001\004\136 \000 \000\000\000\144\002\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\b\000\128\020\004\018 \128\000\128\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\000`\000\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\128\000\000\000@\004\000\160 \145\004\000\004\000\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000@@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\004\000\000\000\018\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\004\000\000\000\002\000 \005\001\004\136 \000 \000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003 \000\000\000\002\000\000\000\b\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\000@\000\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000P\016H\130\000\002\000\000\000\t\000\bv\129 \000C\000\000\000\000@\004\000\184 \145\004\000\020\000\000\000R\000\016\237\002@\000\135\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\020\004\018 \128\000\128\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\235\196\000\224 \145\004\bD\016\000\000\146\000\016\237\002@\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\001\000\016\002\128\128D\016\000\016\000\000\000H\000C\180\t\000\002\024\000\000\000\002\000 \005\201\004\136 \004\176\000\000\002\144\000\135h\018\000\0048\000\000\000\004\000@\n\002\t\016@\b@\000\000\001 \001\014\208$\000\b`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000P\016H\130\000\002\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\003\215\189x\128\028\004\018 \129\b\194\000\000\018@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000\001\000\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\001@A\"\b\000\b\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000\001\000\000\000\004\128\004;@\144\000!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x@\028\004\018$\129\b\006\000\000\018@\002\020\161H\000\024\192\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\003\128g\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\251\255\b\020i\n\001 \2449\199q\248@\012\245&\000H\210\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H=\nq\220~\016\003=I\128\0184\162\005f\247\253\255\128\002\000\004\000\000@\000\128\000\000\000\000\000\016\000\000\000\000\000\001\239\251\255\000\004\000\b\000\000\128\001\000\000\000\000\000\000 \000\000\000\000\000\003\223\247\254\000\b\000\016\000\001\000\002\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\n\024\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000B\0200\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\132(`\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\255_\193\226\141!@ \024\1978\238?\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128@1\138q\220~\016\003=A\128\0024\162\005\004\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020i\n\001\000\198)\199q\248@\012\245\006\000\b\210\136\021\152\000\000\000\000\000\000\000\000@ \000\000\000\000\000\000\000\000\000\128\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\000\000\000\000\000\000\000\000\000\004\000\000\000\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\220~\016\003=A\128\0184\162\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001\000\206(\006q\152\000\012$\002\001P\002\b$\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\215\240x\163HP\b\0061N;\143\194\000g\1680\000F\148@\160\159\255\175\224\129F\144\160\016\012b\156w\031\132\000\207P`\000\141(\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\127\254\191\130\005\026B\128@1\138q\220~\016\003=A\128\0024\162\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\015\020i\n\001\000\198)\199q\248@\012\245\006\000\b\210\136\020\019\255\245\252\016(\210\020\002\001\140S\142\227\240\128\025\234\012\000\017\165\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=\255\127\224\000\128\001\000\000\016\000 \000\000\000\000\000\132\000\000\000\000\000\000\001\bP\192\000\000\000\000\0000\000\000\140\002\000\000\001\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\017\128@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\001\000\000\016@#\000\001\000\000\000\000\000\b\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\002\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\003\215\181x\000\b\000\016\000\001\004\0020\000\016\000\000\000\000\000\000\000\002\000\007\175j\240\000\016\000 \000\002\b\004`\000 \000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\030\189\171\192\000@\000\128\000\b \017\128\000\128\000\000\000\000\004\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000\000\016\004\000\000\002\000\000\000\000\b\128\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000@\016\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\030\189\171\192\000@\000\128\000\b \017\128\000\128\000\000\000\000\004\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\129F\144\160\018\rB\156w\031\132\000\207P`\004\141(\131A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@ \016\000\000\000\000\000\000\000\000\000@\000\000\001\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 Q\164(\004\131P\167\029\199\225\0003\212\024\001#J V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000\004\000\012\000\000#\000\128\000\000B\000\000\000\000\000\024\128\000\000\000\000\000\004\004\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129\1923\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\223\248@\163HP\t\007\161\206;\143\194\000g\1690\002F\148@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\247\254\016(\210\020\002A\232S\142\227\240\128\025\234L\000\145\165\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\223\248@\163HP\b\0061N;\143\194\000g\1690\000F\148@\172\192\000\000\000\000\000\000\000\002\001\000\000\000\000\000\000\000\000\000\004\000\000\000\024\191\255\127\225\002\141!@ \024\1978\238?\b\001\158\164\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\253\255\132\n4\133\000\144j\020\227\184\252 \006z\147\000$iD\n\205\255\251\255\b\020i\n\001\000\198)\199q\248@\012\245&\000\b\210\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\001\000\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\191\240\129F\144\160\018\rB\156w\031\132\000\207R`\004\141(\129Y\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H5\nq\220~\016\003=I\128\0184\162\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\251\255\b\020i\n\001 \212)\199q\248@\012\245&\000H\210\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\001\000\003\000\000\b\192 \000\000\016\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\251\255\b\020i\n\001 \212)\199q\248@\012\245&\000H\210\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\001\000\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\191\240\129F\144\160\018\rB\156w\031\132\000\207R`\004\141(\129Y\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\000\016\0000\000\000\140\002\000\000\001\b\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000 \000\000\000\000\000\000\000\000\004\t\018\224\006\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\016\000\000\b\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\002\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000@\128\000\000\000\000\000\000\000\b\000\000\000\004\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\001\000 \000\000\000\000\000\000\016\000\000\129\000\000\000\000\000\000\000\000\016\000\000\000\b\000\000\000\000\001\000\000\000\000\016\000\000\000\000\000\000\000\000 \192\b\000\004\002\128\000\000\000\000\000\000@\000\002\004\000\000\000\000\000\000\000\000@\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\001\000\000\000\000\000\000\000\000\002\012\000\128\000\000(\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\016\224\006\000\000\001\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\131\0000\000\000\b\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\024\001\000\b\000@\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000A\128\016\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\012\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\014\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\002\012\000\192\000\000 \000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\004\024\001\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b0\002\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016`\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\002\012\000\128\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\024\001\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b0\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")
let action =
- ((16, "\000\240\000\193\000\000\000\000\n\228\000\193\000\000\000\000\000'\000\000\000\000\000\000\001)\000\000\000\000\000\000\000\240\000\000\000u\027<\000\000\019x\019x\000\000\000\000/\002\019x\000\000@\218\019x\000\000\000\000\019x\000\000\019x\000\000\000\179\000g\019x\000\000\019x\000\000\000\000\000\000/\204\019x\000\000A,\019x\000\000\000\000\019x\000\000\019x\000\000\000u\000\005\019x\000\000\019x\000\000\019x\000\000A`\019x\000\000\000\000\019x\000\000\019x\000\000\000y\000\000\000\000\019x\000\000\019x\000\000\000\000\019x\000\000\019x\000\000\000\130\000\240\019x\000\000\027<@\218L\232\000\000\000\000L>\001\1840\220\001@L\232\000\000\001\004\019x\000\000L\232\000\000\000y\000x0\194\000\000\000\000>\174\000\000BH\000\000B\1600\1940\194\020\230\020\230BH\020\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?,0\194\000\000\000\000?,\000\000?,\000\0000\194\000\000\000\000\000\000\025$\000y\000\000\020\230\000\000-\0220\194\031J0\194\000\000\000\000\000\000\000\000\000\000\000\000 \1500\194!\1700\194\"\0120\194# 0\194\000\0000\194\000\0000\194#\1300\194$\1500\194$\2480\194&\0120\194&n0\194'\1300\194\001J0\194\000\000\000\000\000\000\000\000\000\0000\194'\2280\194(\2480\194)Z0\194\000\000\000\0000\194\000\000\000\000\002\n\000\000\000\000\000\000\000\000\018\182\019x\000\000\001\002\019x\000\000C\\\019x\000\000\000\000\019x\000\000\019x\000\000\002\160\002\240\019x\000\000\019x\000\000\001\244\019x\000\000Ch\019x\000\000\000\000\019x\000\000\019x\000\000\003\148\004\n\019x\000\000\019x\000\000\019x\000\000Cx\019x\000\000\000\000\019x\000\000\019x\000\000\000y\019x\000\000\019x\000\000\019x\000\000\019x\000\000\003\242\004V\019x\000\000A,L\232\004\002\019x\000\000N\182M0\000\000\002\186\005J\000y\004\166\005rN\182\000\000\000\000\000\199\028\014\000\000\000\000\000\000\000\000\001`\005v\000\\\005\252N\182\001<\029|\000\000\000\000\005B\000\000\005v\006JN\182\005\166\000\000\000\000\000\000\000\199\000\000\005\172\006\160\000\000\006\162\000\000\018\182\001JL\232\005\198\019x\000\000A`L\232\006\002\019x\000\000\000\000\000y\006\250\000\000\000\000\000\000\001\130\020\230\000\0000\194\006\024\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\000\006\"\000\000\000\000\006(\000\000\0062BH\000\000\000\000\000\000\000\000\000\000\000\000D\1340\194\000\000D\134\000\000D\134BH\000\000\000\000E\028\000y\000\000\020\230\0066\000\0000\194\006:\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\2140\194\000\0000\194\000\000\000\000\006@\000\000\000\000?\170\007\0000\194\006\202\000\000\000\000BH\000\000\000\000\000\000\000\000\000\000\000\0004JBH5\190BH72BH8\166BH\000\000BH\000\000BHOFBHPNBHP^BHP\198BHQrBHQ\1780\194\006\130BH\000\000BHQ\242BHR2BHRr\006\\\000\000\006j\000\000\000\0210\194\000\000\000\021\000\000\000\000\000\017\027<\000\000\000\017\000\000\000\000\006j0\194\000\000\006t\000\000\020\230\006~\000\000\000\000\007R\000\000\020\230\006\130\000\000\000\000\006\134\000\000\000\000\000x\000\000\007x\000\000C\\L\232\006\142\019x\000\000\000\000\007 \000\000\006\158\019x\000\000\000\000\000\\\027<\000\000\027<\000\000\006\144\000\000\000\\\000\000\017&\028V\019N\000\000\003\154\019N\000\000\019N\019N\000\000\000\000\019N\000\000\019N\000\000\006\212\007\002\019N\000\000\019N\000\000\006\186\019N\000\000\019t\019N\000\000\000\000\019N\000\000\019N\000\000\006\216\007\006\019N\000\000\019N\000\000\019N\000\000\019x\019N\000\000\000\000\019N\000\000\019N\000\000\000y\019N\000\000\019N\000\000\019N\000\000\019N\000\000\006\220\007\n\019N\000\000\027<\006\186\000\000\019bL\232\006\182\019N\000\000\000\000\0002\000\000\000r\0002\000\000\000\000\000\000\007\168\000\000\004&L\232\006\190\019N\000\000\019xL\232\006\200\019N\000\000\000\000!L\019N\000\000\006\240\019N\000\000<r\019N\000\000\000\000\019N\000\000\019N\000\000\006\250\007,\019N\000\000\019N\000\000\b(\019N\000\000<\134\019N\000\000\000\000\019N\000\000\019N\000\000\007\004\0072\019N\000\000\019N\000\000\019N\000\000<\190\019N\000\000\000\000\019N\000\000\019N\000\000\000y\019N\000\000\019N\000\000\019N\000\000\019N\000\000\007\012\007@\019N\000\000<\134L\232\006\234\019N\000\000\000\000\004:L\232\006\236\019N\000\000<\190L\232\006\240\019N\000\000\000\000\000\000\000\000\000\000\000\000\007\2000\194\007\004\022\234\007\2140\194\007\024\007\2180\220\000\000\000\000\000\000\028\014\000y\000\000\001J0\194*\200\000\000Ej0\194\007&\000\000\020\230\007&\000\000\007(\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000F\0180\194\000\000F\018\000\000F\018F\156\020\230\007.F\156\000\000\000\000O\006\000y\000\000\020\230\0072\000\0000\194\0076\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\194\000\1730\194\007R\000\000\000\000+R*\200\027f*>\b\0200\194\000\000\007\232\000\000\000\000\000y\000\000\026P\007\156*\200\000\000\007\152*\200\000\000\000\190\000\000\000\000\021dF\1560\"F\156;\004F\156;\222F\156\000\000F\156\000\000F\156C\244F\156J\208F\156N\178F\156R\242F\156S`F\156S\132F\156S\148F\156T\024F\156T|\000\000\007x+\220\000\000,f,f\007z,f-d,f\000\000\007~,f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007r\000\000\000\000\007t\000\000\bd\000\000\000y\000\000\001J\bf\000\000\000\246\b6\000y\007\134\bPN\182\007\154\002<\000\0000\194\b\130\000\000\006.\007\218\bdN\182\007\160\b\142\000\000\002\0240\194\b\148\000\000\b\150\000\000\018\182\000y\004@0\194\b\152\000\000\b\154\000\000\000y\004H0\194\b\156\000\000\b\162\000\000\002\166\007\236\007$\000\000F\244G~\020\230\007\196\000\000\007\198G~\000\000\000\000\000\000\000\000\000\000\000\000G\2140\194\000\000G\214\000\000G\214G~\000\000\000\000\028\212\000y\000\000\020\230\007\200\000\0000\194\007\210\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000.d0\194\000\0000\194\000\000\007\218\000\000\000\021\000\000\000\000\000\000\000\000\000\0001\194G~2\"G~36G~3\150G~\000\000G~\000\000G~4\170G~5\nG~6\030G~6~G~7\146G~7\2420\194\b\004G~\000\000G~9\006G~9fG~:z\020\230\007\220\000\000\000\000=Z\000\000\b\210\000\000\001l\b\1680\194\bn\000\000\b\1780\194\b~\000\000\002\156\000\000\007$\007$\001l\000\000\001l\000\000\017&\007$\007$\000\000\000\000\000\000\000\000\000\000\000\000\b\2000\194\b\014\022\234\023\194\000y\b\246\000\000\b\216=\216\b\250=\216\b\254=Z\b\026\022\234\022\234\000y\002\228\001J\000\000\000\000\000\000\002\228\000\000\0030\000y\000\000\000\000\b\028\000\000\000\000\000\000\t\004\000\000\t\006\000\000\000\000\t@\b\2340\194\b&\t\014\000\000\b\246\020\230\b2\022\234\000\000\000\000\bf\000\000\000\021\000\000\005\182\000\000\000\000\001l\000\000\b\190\000\000\012\220\003\028\000\000\012\220\000\000\000\000\026P\000\000\003\028\000\000\000\000\n\000\000\000\012\220\000\000\t\012\020\230\bH\t2\000\000\0002\000\000\t\b\000y\bX\t N\182\b\\\004\b\000\0000\194\tD\000\000\t*N\182\bh\tP\000\000\005\0260\194\tT\000\000\tV\000\000\018\182\000y\005\1440\194\tX\000\000\t^\000\000\000\000\000\000\n\000\000\000\000\000\003\028\000\000\007$\000\000\001\194\000\000\000\000\002l\023\194\000\000\002l\000\000\000\000\b~\000\000\000\021\000\003\022\234\000\000\004H\000Q\004H\000\000\002\030\000\000\007$\000\000\007$\000\000\000\000\000\000\bx\000\000\000\000\b\132\000\000\002\134\005\182\002\208\004H\000\000\000\000\000\000\007\188\000\000\007$\000\000\002\134\000\000\000\000\005\148\000Q\017&\000\000\002\030\000\000\b\146\017&\000\000\000\000\b\146\000\000\000\000\b\132\000\000\000\000\b\138\000\000\003@\007$\000\000\003@\000\000\000\000\t\b\000\000\003\028\000\000\007$\000\000\000\000\000\000\018\136>V\000\000\tt\000\000\018\136\000\000\tv\000\000\tx\000\000\028\014\000y\004\170\000\0000\194\t|\000\000\003\006\tL\000y\b\156\tfN\182\b\162\004\252\000\0000\194\t\140\000\000\005\000\000\0000\194\t\142\000\000\018\182\000y\005\014\000\0000\194\t\174\000\000\004&\018\136\000\000\026P\005v\000\0000\194\t\190\000\000\000\000\000\000\000\250\000\000\t\160\020\230\b\220\t\196\000\000\004t\000\000\t\148\000y\b\228\t\172N\182\b\232\005\154\000\0000\194\t\208\000\000\006l\000\0000\194\t\212\000\000\018\182\000y\006\144\000\0000\194\t\214\000\000\004&\000\000\000\000\b\250\000\000\000\250\005\234\t|\000\000\000\000\000\000\t\128\000\000\005\028\002\156\000\000\017&\t\214\000\000\000\0000\194\t2\007$\000\000\t\004\000\000\002\166\000\0000\220\000\000\000\000\004B\017&\000\000\017&\000\000\b\242\000\000\004B\000\0000\194\004D0\194\000\0000\194\000\000\b\244\000\000\004D\000\0000\194\004D\b\248\000\000\022\234\004\190\022\234\000\000\022\234\000\000\b\252\000\000\004\190\000\0000\194\004D\b\254\000\0000\220\005\2340\220\000\0000\220\000\000\t\000\000\000\005\234\000\0000\194\004D\t\002\000\000\000\000\025$\000\000\000\000\tt:\250\000\000\000\000\000\000\000\000\000\000\tH\004H\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206:\250\000\000\000v\000~\000\000\tJ\000\193\000\000\000\000\000\000\002\176\000~\000\000\000\000\000\000\000\000\t\168\000\000\000\000\000\000\000\000\028\212\030B\000\000Hp\000\000:\250\000\000\001~:\250\000\000\003H\004`\004`\000\000\000\146\004`\000\000\t\"\000\000\000\000\000\000\000\000\t\174\000\000\030\192\000\000 @:\250\000\000\000}:\250\000\000\t\178\000\000:\250\t\180\000\000I\216;\192\t\182\000\000\t\184\000\000J\138@^:\250\000\000\000\000\t8:\250\t\200\000\000\t\202\000\000\t\204\000\000\027<\000\000\004\204\027<\000\000\tD\019N\000\000\002\022:\250\000\000\002\206:\250\000\000\000\020\nN\000\000\nR\000\000:\250:\250\tT\000\000\000\000\000\000\000\000\000\000\000\000\t\224\000\000J\226:\250\t\226\000\000\t\234\000\000:\250\t\242\000\000:\250\t\152\000\193\000\000\000\000\004\026:\250\000\000\000\020\000\000\n\000\000\000:\250\n\002\000\000:\250\n\004\000\000H\200;\192:\250\t\130:\250\n\012\000\000\n\014\000\000Iz\000\000\000\000\005\200:\250\000\000\005\148\006\012\004`\t\134\000\000\000\000\001\212\001\212\000\000\000\000\000\000\004\222\001\212\000\000\t\136\000\000\000\000\000\000\000\000\000\000\000\000:\250\000\000\006\024:\250\000\000\000\003\004(\000\193\t\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\022\000\000\n\024\000\000:\250\n\026\000\000K\148:\250\n\028\000\000\n\"\000\000:\250\n$\000\000\022H\t\210Ml\019b\000\000:\250\n2\000\000\n6\000\000\n\006\022H:\250\n:\000\000:\250\n<\000\000\n>\000\000:\250\t\188:\250\nF\000\000\nH\000\000\000\193\t\180\000\000\000\000\025$\000\000\000\000\002\142\n\166\000\000\000\000\000\216\000\000\000\000\000\0000\194\000\000\000\000\000\000\002\218\000\000\002\198\000\000\000\000\000\000\004H0\2200\2200\220\000\000\000\246\000\246\000\246\000\246\000\000\000\000\000\000\000\000\000\000\000\000\001l\017&\n\156\014J\001R\000\000\000\000\002\166\000\000\n\000\000\000*\200\t\198\000\000\001l\017&\t\208\015\184\000\000\001l\014J\000\000\000\000\000\0000\220\000\246\000\000\000\000\000\000\n \001\212\n\158N\224\000\000\004\232P:\000\000\000\000\000\000\004&\n\144\000y\000\000\004\232\000\000\006\nN\224\000\000\000\000\t\222\n\158\007$\t\224\000\000\002\166\000\000\n\000\000\000/n\003\174\000\000\000\000\n\144\000\000\000\000\002\142\000\000\004\138\000\000\000\000\000\0000\194\000\000\002\218\000\000\004\174\000\000\000\000\000\000\005\182\000\000\011n\002\192\011n\000\000\007$\011n\000\000\0048\000\000\007$\000\000\007$\000\000\007$\000\000\t\138\000\000\000\000\000\000\000\000\000\000\007$\000\000\0048\000\000\007$\000\000S\022\000\000\000\000\006\142\n\022\000\193\000\200\n\186\004@\000\000\004@\n\228\000\000\n\230\000\000\n\232\000\000\000\000\005\162\004@\007\206\004@\000\000\000\000\002\b\000\200\t\234\000\000\t\236\000\000\n*\000\193\000\200\t\240\000\000\000\192\n\244\000\000\004\218\006R\011\006\005l\011\006\000\000\000\000\003l\000\193\000\000\000\227\000\000\000\000\001\242\000\000\t\248\000\000\000\000\000\000\n8\000\193\000\200\n\002\000\000\000\000\000\192\004\218\006R\003l\000\227\001\242\n\004\000\000\004\218\006R\003l\000\227\001\242\n \000\000\004\012\003\250\nP\000\193\nJ\006\150\000\t\nt\000\193\000\000\nv\000\193\000\000\n\214\000\000\n\\\006\130\nV\006\150\n\220\000\000\nZ\006\150\n\224\000\000\000\000\006\150\000\000\n\226\000\000"), (16, "\012E\012E\012E\012E\012E\012E\012E\012E\012E\012E\012E\007\237\012E\012E\012E\012E\012E\012E\012E\012E\012E\012E\028n\000&\015\026\007\237\012E\028\254\004\145\028r\0007\000;\000\n\015N\012E\001\"\0236\023>\012E\012E\024\030\012E\011\233\000*\012E\016V\029\n\0236\023>\012E\012E\012E\000N\007\202\020\150\020\190\020\206\020\246\021\006\021.\012E\000\150\011\142\012E\012E\006\157\004\145\004j\000\n\012E\012E\006\029\012E\006\242\012E\007\n\024\134\000\154\007\237\012E\016\202\012E\012E\012E\012E\012E\011\154\023F\015\202\012E\012E\012E\000\226\012E\012E\012E\016\206\007\170\012E\012E\012E\012E\012E\b\205\022\146\021\214\012E\012E\016f\b\230\004\t\011\233\012!\021\218\b\213\006\005\001\234\012E\012E\012E\r\026\001\246\012E\012E\012E\012E\000\230\012E\004\157\012E\nf\007\237\012E\nj\001\166\012E\012E\025\214\003F\nn\003N\001\"\003^\007\237\nr\025\218\017\158\012E\006&\003f\012E\000\006\000\"\000\n\012E\012E\012E\012E\021\230\006u\012E\006m\012E\011%\007\178\b\205\012E\012E\012E\011\134\012E\006\157\012E\012E\000\n\012E\b\213\012E\012E\003n\019z\012E\012E\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\012\238\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\021\210\006\005\012\017\006\242\006\165\015\030\015.\015>\003~\001\234\001R\004\138\006\165\r\026\001\246\011\201\006\165\006\165\b\238\006\165\011%\006\005\006\165\000\n\006E\006\005\004\157\006\165\015\026\006\165\001\130\028:\004\157\004\157\022V\004\234\006-\015N\006\165\000.\011\198\011\217\004\130\001V\004\157\004\157\000\n\006\165\006\165\027\198\001\"\004\189\006\165\006\165\003\138\001\"\003\146\006\165\003\162\006\165\006\165\006\165\006\165\006\165\021\198\003\170\001\"\006\165\006\165\006\165\004\157\006\165\006\165\006\165\004-\016\202\006\165\006\165\006\165\006\165\006\165\025\139\025\143\000\n\006\165\006\165\025\147\0041\000\n\006u\012\025\016\206\001z\006=\006=\003\178\006\165\006\165\001\142\000\n\006\165\006\165\006\165\006\165\0246\006\165\n\182\006\165\015\210\002\218\006\165\001\234\016f\006\165\006\165\r\026\001\246\007\237\011\201\004\150\001\234\016V\027\246\003\129\001\242\001\246\012\214\017n\006\165\003\194\015\026\007\237\006\165\006\165\006\165\006\165\r\n\003Q\006\165\015N\006\165\003Q\012\245\012\245\006\165\006\165\006\165\012\245\000\n\024:\006\165\006\165\022:\006\165\005*\006\165\006\165\000\n\004\129\006\165\006\165\006\197\006\197\006\197\006\197\006\197\006\197\006\197\006\197\006\197\006\197\006\197\015B\006\197\006\197\006\197\006\197\006\197\006\197\006\197\006\197\006\197\006\197\006\197\007\237\028z\006\197\006\197\017z\016V\0041\b\177\006\197\006\197\023\030\006\197\0041\0041\015\026\006\197\006\197\017\238\006\197\025z\006\197\006\197\015F\015N\0041\r:\006\197\015\026\006\197\006\197\016f\004J\006\197\006\197\006\197\015\026\015N\006\197\006\197\005\157\006\197\006\197\003&\r\014\015N\012\214\006\197\006\197\006\197\006\197\0041\006\197\027\254\007\237\004\241\001\"\006\197\025z\006\197\012)\006\197\006\197\006\197\006\197\016V\007\237\006\197\006\197\006\197\018\238\006\197\006\197\006\197\015\026\012\001\006\197\006\197\006\197\006\197\006\197\018\154\007\222\015N\007\230\006\197\007\246\006\197\018\158\000\n\001\234\006\149\018\162\007\254\r\026\001\246\006\197\006\197\003r\016f\006\197\006\197\006\197\006\197\006}\006\197\006\197\006\197\r\142\022F\006\197\018n\016f\006\197\006\197\006\197\003v\012\245\021\242\020F\016f\006\197\012)\b\006\006\r\006\197\020\026\000\n\006\197\012\245\012\245\026\235\006\197\006\197\012\245\006\197\006\213\023*\006\197\026\239\006\197\004\241\b\241\b\241\006\197\025\179\025\183\b\241\015\206\026\242\025\187\006\197\0065\006\197\028\234\006\197\006\197\b\022\016f\006\197\006\197\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\021V\001\014\025\194\001\022\nn\001\030\0012\001:\001>\nr\025\198\016\234\021Z\006\189\015\234\nv\012\245\012\245\004\r\006\189\006\189\012\245\021^\001F\021b\006\133\006\213\001\170\n\134\028\230\r\150\028b\021f\r\154\027\206\016V\020v\020\158\001N\011\201\015\n\021r\026\154\011\201\015\026\021v\t\n\024\138\003\182\001\182\021j\021z\025\250\015N\019N\027\210\n>\006\189\015b\r\162\026&\0262\027\214\015f\017\170\019\150\001\"\021~\001\222\012\t\001\226\004\205\001b\016^\015n\022J\001\"\000\n\r\182\001\234\015r\019\154\r\186\011\166\001\246\003\186\000\n\r\190\r\194\n\154\n\158\r\198\018\218\004-\021\130\004\026\015v\021\134\020\214\000\n\000\n\001\234\016\238\020~\020\166\r\026\001\246\n\250\r\202\000\n\021\138\015z\015~\r\206\015\130\021\142\000\n\021\146\015\150\021\150\021\154\004\169\021\158\004\030\015\162\r\214\0042\027\222\016f\021\162\rZ\023\174\021\166\019\n\rv\019\030\026F\003Q\000\n\015\194\006\141\003Q\019:\015\198\016\002\004\205\n\162\021\170\011\201\r\218\012\214\016\006\021\174\021\178\012\214\r\222\004\205\004\205\b\241\b\241\027\230\004\205\016\014\b\241\r\226\020\222\006\205\006\205\006]\006U\002&\006\205\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\018\222\001\014\025\194\001\022\nn\001\030\0012\001:\001>\nr\025\198\019^\024\030\004-\004N\nv\027\011\027\015\011\185\004-\004-\027\019\004V\001F\011\201\004Z\016\202\001\170\n\134\019\182\r\150\004-\027\198\r\154\027+\027/\004\134\023\006\001N\0273\015\n\019\014\016\206\019\"\011\193\027\246\024J\006e\0242\001\182\019>\026\134\015\026\011\209\007\n\006\021\017\018\004-\015b\r\162\026&\015N\001\234\015f\017\242\021\014\r\026\001\246\001\222\019\150\001\226\004\221\001b\016^\015n\b\197\012\214\020.\r\182\001\234\015r\021j\r\186\011\166\001\246\019\154\011\177\r\190\r\194\n\154\n\158\r\198\011\177\011\177\004\142\016b\015v\007\n\028J\000\n\004\166\011\241\019b\005)\011\177\001\234\024\"\n\250\r\202\r\026\001\246\015z\015~\r\206\015\130\0172\000\n\028R\015\150\005\r\019\186\004\169\005)\029&\015\162\r\214\004\174\b\"\004\157\b*\011\177\b:\021\022\004\178\019\202\012\214\016f\b\197\bB\015\194\006m\011\249\000\n\015\198\016\002\027\186\n\162\028\250\028\006\r\218\004\186\016\006\019\230\004\210\tB\r\222\tJ\004\221\tZ\027\254\004\214\004\222\016\014\024\018\r\226\tb\006\221\006\221\bJ\004\242\002&\006\221\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\006m\001\014\025\194\001\022\nn\001\030\0012\001:\001>\nr\025\198\005)\tj\026\178\006M\nv\005\006\003u\006\181\bZ\024z\029O\005\026\001F\006\181\006\181\005:\001\170\n\134\005^\r\150\005)\005j\r\154\028\"\000\n\006\181\005r\001N\005\198\015\n\000\n\019\206\005\210\0286\006\030\tz\006.\004\157\001\182\0066\028\142\015\026\028:\004\157\004\157\006\190\006\226\015J\r\162\019\234\015N\006\181\015f\006\234\007\"\004\157\004\157\001\222\007.\001\226\004\249\001b\015j\015n\007:\007F\007R\r\182\001\234\015r\007^\r\186\011\166\001\246\007r\007\130\r\190\r\194\n\154\n\158\r\198\004\157\007\146\007\154\012\253\015v\007\191\b\n\b\014\bN\bR\b\178\b\182\b\198\004)\b\214\n\250\r\202\t\002\t\018\015z\015~\r\206\015\130\t&\000\n\tn\015\150\016V\tr\004\169\t\178\t\182\015\162\r\214\n\022\t\134\015\026\t\142\n\026\t\158\n.\nF\005%\nZ\016f\015N\t\166\015\194\004)\nz\n\130\015\198\016\002\004\249\n\162\004\241\n\138\r\218\005\t\016\006\n\146\005%\n\150\r\222\004\249\004\249\n\206\n\218\n\226\004\249\016\014\011&\r\226\011F\b\249\b\249\t\174\011R\002&\b\249\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\011\150\001\014\011\178\001\022\nn\001\030\0012\001:\001>\nr\011\190\011\214\011\226\012r\012\134\nv\012\154\012\190\012\202\t\190\012\210\012\230\012\242\001F\012\250\004)\012\254\001\170\n\134\016f\r\150\004)\004)\r\154\r\006\r\022\r&\r.\001N\007\245\015\n\r2\005%\004)\rB\rJ\rb\rj\r~\001\182\004\241\r\134\015\026\007\245\r\146\r\170\r\178\014\006\015J\r\162\004)\015N\005%\015f\014\018\014Z\014\218\015\002\001\222\004)\001\226\027\254\001b\015j\015n\015\022\015\"\015*\r\182\001\234\015r\0152\r\186\011\166\001\246\015:\015\134\r\190\r\194\n\154\n\158\r\198\015\142\015\158\015\166\015\174\015v\015\182\015\190\015\250\016\n\016\018\016\030\016\"\016*\016.\007\245\n\250\r\202\0166\016>\015z\015~\r\206\015\130\016N\000\n\016r\015\150\nf\016\182\016\190\nj\016\194\015\162\r\214\025\214\016\210\nn\016\218\016\222\016\230\016\246\nr\025\218\016\254\016f\017\006\017\n\015\194\017\026\017\"\017:\015\198\016\002\017B\n\162\017\146\017\218\r\218\017\230\016\006\018Z\018f\018\134\r\222\018\178\018\194\018\202\007\245\018\230\018\242\016\014\018\250\r\226\018\254\019\006\016\202\019\022\019*\002&\007\245\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\016\206\001\014\019F\001\022\nn\001\030\0012\001:\001>\nr\019j\019\130\019\138\019\142\019\158\nv\019\166\019\170\019\178\019\194\001\234\019\214\019\242\001F\r\026\001\246\020\006\001\170\n\134\020\022\r\150\020&\020>\r\154\020N\020Z\020\139\020\179\001N\020\203\015\n\020\235\021\003\021#\021;\021R\021n\021\222\022\011\001\182\022b\022w\015\026\022\159\022\171\022\187\022\195\000\n\015J\r\162\022\222\015N\004\189\015f\022\231\022\239\022\247\023\018\001\222\023:\001\226\023B\001b\015j\015n\023R\023o\023\127\r\182\001\234\015r\023\135\r\186\011\166\001\246\023\147\023\158\r\190\r\194\n\154\n\158\r\198\023\195\023\207\023\219\012\253\015v\023\238\023\247\023\255\024*\024V\024\146\024\179\024\187\024\199\024\215\n\250\r\202\024\223\024\235\015z\015~\r\206\015\130\024\246\000\n\025\011\015\150\025\019\025\026\025'\0253\025;\015\162\r\214\025F\025O\025W\025c\025~\026\006\026.\011\225\011\225\026>\016f\026r\026z\015\194\026\158\026\194\026\198\015\198\016\002\026\206\n\162\026\247\027\190\r\218\027\202\016\006\027\218\027\226\027\234\r\222\028\023\028\031\028&\0283\028>\028N\016\014\028\131\r\226\028\146\012\253\012\253\028\159\028\195\002&\012\253\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\028\223\001\014\025\194\001\022\nn\001\030\0012\001:\001>\nr\025\198\028\238\028\246\029\002\029\014\nv\029\027\029\"\029*\0293\029:\029C\029W\001F\000\000\000\000\000\000\001\170\n\134\000\000\r\150\000\000\000\000\r\154\000\000\000\000\000\000\000\000\001N\000\000\015\n\000\000\000\000\011\225\000\000\000\000\000\000\000\000\000\000\001\182\000\000\000\000\000\000\000\000\011\225\000\000\000\000\000\000\015b\r\162\011\225\011\225\000\000\015f\027B\000\000\000\000\000\000\001\222\000\000\001\226\000\000\001b\016^\015n\000\000\000\000\000\000\r\182\001\234\015r\000\000\r\186\011\166\001\246\000\022\000\000\r\190\r\194\n\154\n\158\r\198\011\225\000\000\000\000\000\000\015v\011\225\011\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\250\r\202\000\000\000\000\015z\015~\r\206\015\130\000\000\000\n\000\000\015\150\000\000\000\000\004\169\000\000\000\000\015\162\r\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\194\000\000\000\000\000\000\015\198\016\002\000\000\n\162\000\000\000\000\r\218\000\000\016\006\000\000\000\000\000\000\r\222\000\000\000\000\000\000\000\000\000\000\000\000\016\014\000\000\r\226\000\000\b\221\b\221\000\000\000\000\002&\b\221\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\000\000\001\014\000\000\001\022\nn\001\030\0012\001:\001>\nr\000\000\000\000\000\000\000\000\000\000\nv\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\170\n\134\000\000\r\150\000\000\000\000\r\154\000\000\000\000\000\000\000\000\001N\000\000\015\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015b\r\162\000\000\000\000\000\000\015f\016z\000\000\000\000\000\000\001\222\000\000\001\226\000\000\001b\016^\015n\000\000\000\000\000\000\r\182\001\234\015r\000\000\r\186\011\166\001\246\000\000\000\000\r\190\r\194\n\154\n\158\r\198\000\000\000\000\000\000\012\217\015v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\250\r\202\000\000\000\000\015z\015~\r\206\015\130\000\000\000\n\000\000\015\150\000\000\000\000\000\000\000\000\000\000\015\162\r\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\194\000\000\000\000\000\000\015\198\016\002\000\000\n\162\000\000\000\000\r\218\000\000\016\006\000\000\000\000\000\000\r\222\000\000\000\000\000\000\000\000\000\000\000\000\016\014\000\000\r\226\000\000\012\217\012\217\000\000\000\000\002&\012\217\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\000\000\001\014\000\000\001\022\nn\001\030\0012\001:\001>\nr\000\000\000\000\000\000\000\000\000\000\nv\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\170\n\134\000\000\r\150\000\000\000\000\r\154\000\000\000\000\000\000\000\000\001N\000\000\015\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015b\r\162\000\000\000\000\000\000\015f\026\n\000\000\000\000\000\000\001\222\000\000\001\226\000\000\001b\016^\015n\000\000\000\000\000\000\r\182\001\234\015r\000\000\r\186\011\166\001\246\000\000\000\000\r\190\r\194\n\154\n\158\r\198\000\000\000\000\000\000\000\000\015v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\250\r\202\000\000\000\000\015z\015~\r\206\015\130\000\000\000\n\000\000\015\150\000\000\000\000\000\000\000\000\000\000\015\162\r\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\194\000\000\000\000\000\000\015\198\016\002\000\000\n\162\000\000\000\000\r\218\000\000\016\006\000\000\000\000\000\000\r\222\000\000\000\000\000\000\000\000\000\000\000\000\016\014\000\000\r\226\000\000\r%\r%\000\000\000\000\002&\r%\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\000\000\001\014\000\000\001\022\nn\001\030\0012\001:\001>\nr\000\000\000\000\000\000\000\000\000\000\nv\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\170\n\134\000\000\r\150\000\000\000\000\r\154\000\000\000\000\000\000\000\000\001N\000\000\015\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015b\r\162\000\000\000\000\000\000\015f\026\n\000\000\000\000\000\000\001\222\000\000\001\226\000\000\001b\016^\015n\000\000\000\000\000\000\r\182\001\234\015r\000\000\r\186\011\166\001\246\000\000\000\000\r\190\r\194\n\154\n\158\r\198\000\000\000\000\000\000\000\000\015v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\250\r\202\000\000\000\000\015z\015~\r\206\015\130\000\000\000\n\000\000\015\150\000\000\000\000\000\000\000\000\000\000\015\162\r\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\194\000\000\000\000\000\000\015\198\016\002\000\000\n\162\000\000\000\000\r\218\000\000\016\006\000\000\000\000\000\000\r\222\000\000\000\000\000\000\000\000\000\000\000\000\016\014\000\000\r\226\000\000\r!\r!\000\000\000\000\002&\r!\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\000\000\001\014\000\000\001\022\nn\001\030\0012\001:\001>\nr\000\000\000\000\000\000\000\000\000\000\nv\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\170\n\134\000\000\r\150\000\000\000\000\r\154\000\000\000\000\000\000\000\000\001N\000\000\015\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015b\r\162\000\000\000\000\000\000\015f\018&\000\000\000\000\000\000\001\222\000\000\001\226\000\000\001b\016^\015n\000\000\000\000\000\000\r\182\001\234\015r\000\000\r\186\011\166\001\246\000\000\000\000\r\190\r\194\n\154\n\158\r\198\000\000\000\000\000\000\000\000\015v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\250\r\202\000\000\000\000\015z\015~\r\206\015\130\000\000\000\n\000\000\015\150\000\000\000\000\000\000\000\000\000\000\015\162\r\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\194\000\000\000\000\000\000\015\198\016\002\000\000\n\162\000\000\000\000\r\218\000\000\016\006\000\000\000\000\000\000\r\222\000\000\000\000\000\000\000\000\000\000\000\000\016\014\000\000\r\226\000\000\000R\000V\000f\000\170\002&\000\174\nf\000\178\000\246\nj\000\254\000\000\001\014\000\000\001\022\nn\001\030\0012\001:\001>\nr\000\000\000\000\000\000\003:\003B\000\170\000\000\000\174\000\000\003\134\003\202\000\000\003\210\001F\003\226\000\000\003\234\001\170\003\242\003\254\r\150\004\006\000\000\r\154\000\000\000\000\000\000\000\000\001N\000\000\018\166\000\000\000\000\000\000\000\000\000\000\004\014\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\182\r\162\000\000\004\022\000\000\000\000\000\000\000\000\000\000\000\000\001\222\000\000\001\226\000\000\001b\000\000\000\000\000\000\000\000\000\000\r\182\001\234\000\000\000\000\r\186\001\242\001\246\000\000\000\000\r\190\r\194\n\154\018\186\r\198\000\000\000\000\000\000\004&\000\000\000\000\007\234\005\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\250\r\202\005\253\000\000\005\253\000\000\r\206\000\000\005\253\000\n\b.\005\253\bn\005\253\005\253\005\253\005\253\005\253\r\214\000\000\000\000\000\000\005\253\005\253\005\253\005\253\005\253\n\169\n\169\000\000\005\253\n\169\000\n\005\253\005\253\005\253\000\000\005\253\000\000\n\162\005\253\000\000\r\218\005\253\018\190\005\253\000\000\005\253\r\222\005\253\000\000\005\253\005\253\005\253\005\253\018\198\005\253\r\226\005\253\005\253\000Z\000\000\005\253\002&\005\253\b\206\000\000\n\169\000\000\005\253\000Z\000\000\005\253\005\253\005\253\005\253\t\030\000\000\005\253\000Z\005\253\000Z\000\000\005\253\005\253\005\253\005\253\000\000\000\000\005\253\000\000\000\000\005\253\000\000\n\169\000\000\005\253\005\253\000\000\005\253\000\000\000\000\005\253\000\000\000\000\005\253\000\000\005\253\005\253\005\253\005\253\005\253\005\253\000\000\005\253\000\000\000\000\005\253\005\253\005\253\000\000\005\253\005\253\005\253\005\253\000\000\005\253\005\253\005\253\005\253\005\253\005\253\005\253\005\253\005\253\005\253\000\000\000\000\000\000\005\253\005\253\000\000\005\253\005\253\005\253\005\253\000\000\000\000\000\000\005\253\000\000\000\000\000\000\000\000\005\253\005\253\n\169\000\000\005\253\000\000\005\253\000\000\000\000\005\253\005\253\005\253\005\253\005\253\000\000\000\000\005\253\005\253\000\000\000\000\005\253\000\000\000\000\000\000\000\000\005\253\005\253\000\000\000\000\000\000\005\253\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\170\000\000\000\000\001\174\000\000\000\000\001\178\000\000\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\182\000\000\000\000\001\186\000\000\000\000\000\000\000\000\000\000\001\210\001\206\000\000\001\214\000\000\000\000\000\000\000\000\000\000\000\000\001\222\000\000\001\226\000\000\001b\000\000\011\250\000\000\000\000\000\000\001\230\001\234\000\000\000\000\001\238\001\242\001\246\000\000\002J\001\250\001\254\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\012\002\012*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\012\n\002\n\000\000\000\000\000\n\000\000\012R\012Z\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\0122\000\000\000\000\012\018\000\000\012\"\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\002\030\012:\000\000\004}\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000R\007\210\007\218\000\170\002&\000\174\000\000\b\030\bb\000\000\bj\021V\bz\000\000\b\130\000\000\b\138\b\150\001:\b\158\000\000\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\012B\000\000\000\000\021^\b\166\021b\000\000\012\026\000\000\000\000\000\000\000\000\000\000\021f\000\000\000\000\000\000\000\000\000\000\024\242\000\000\005q\021r\000\000\000\000\000\000\021v\000\000\000\000\000\000\000\000\000\000\021z\000\000\000\000\000\000\012b\012J\000\000\b\190\000\000\000\000\000\000\000\000\022\250\000\000\000\000\000\000\021~\024\002\000\000\000\000\000\000\b\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\130\000\000\nv\021\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\170\n\134\021\138\r\150\000\000\000\000\r\154\021\142\000\n\021\146\000\000\021\150\021\154\015\n\021\158\000\000\000\000\000\000\000\000\000\000\000\000\021\162\001\182\000\000\021\166\000\000\000\000\000\000\000\000\000\000\000\000\015\146\r\162\000\000\000\000\000\000\015f\000\000\000\000\021\170\000\000\001\222\000\000\001\226\021\174\021\178\000\000\015n\000\000\000\000\000\000\r\182\001\234\015r\000\000\r\186\011\166\001\246\000\000\000\000\r\190\r\194\000\000\000\000\r\198\000\000\000\000\000\000\000\000\015v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\250\r\202\000\000\000\000\015z\015~\r\206\015\130\000\000\000\n\000\000\015\150\000\000\000\000\000\000\000\000\nv\015\162\r\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\170\n\134\000\000\r\150\015\194\000\000\r\154\000\000\015\198\016\002\000\000\000\000\000\000\015\n\r\218\000\000\016\006\000\000\000\000\000\000\r\222\000\000\001\182\000\000\000\000\000\000\000\000\016\014\000\000\r\226\000\000\r\158\r\162\000\000\000\000\002&\015f\000\000\000\000\000\000\000\000\001\222\000\000\001\226\000\000\000\000\000\000\015n\000\000\000\000\000\000\r\182\001\234\015r\000\000\r\186\011\166\001\246\000\000\000\000\r\190\r\194\000\000\000\000\r\198\000\000\000\000\000\000\000\000\015v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\250\r\202\000\000\000\000\015z\015~\r\206\015\130\000\000\000\n\000\000\015\150\000\000\000\000\000\000\000\000\000\000\015\162\r\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\194\000\000\000\000\000\000\015\198\016\002\000\000\000\000\000\000\000\000\r\218\000\000\016\006\000\000\000\000\000\000\r\222\000\000\000\000\000\000\000\000\000\000\000\000\016\014\000\000\r\226\000\000\001M\001M\001M\001M\002&\001M\000\000\001M\001M\000\000\001M\000\000\001M\000\000\001M\000\000\001M\001M\001M\001M\000\000\000\000\014-\000\000\021F\014-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\001M\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\014-\014-\000\000\000\000\001M\014-\000\000\001M\002>\014-\000\000\001M\000\000\000\000\021J\014-\000\000\001M\014-\014-\000\000\014-\014-\000\000\001M\002F\000\000\014-\0052\001M\000\000\014-\000\000\000\000\014-\000\000\014-\014-\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014-\001M\014-\000\000\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014-\000\000\000\000\000\000\001M\000\000\000\000\005>\000\000\001M\000\000\001M\000\000\000\000\001M\000\000\021N\000\000\000\000\000\000\000\000\001M\000\000\001M\000\000\000\000\001M\014-\014-\000\000\014-\014-\005B\000\000\014-\000\000\000\000\000\000\000\000\000\000\000\000\001M\001M\005J\000\000\000\000\001M\001M\014-\000\000\000\000\014-\014-\014-\014-\005\t\000\000\022\014\005\t\014-\014-\014-\000\000\014-\014-\014-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\t\005\t\000\000\000\000\000\000\005\t\000\000\000\000\005\t\005\t\000\000\000\000\000\000\000\000\000\000\005\t\000\000\000\000\005\t\005\t\000\000\005\t\005\t\000\000\000\000\005\t\000\000\005\t\005\t\000\000\000\000\005\t\000\000\000\000\005\t\000\000\005\t\005\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\t\000\000\005\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\t\000R\000V\000f\000\170\000\000\000\174\005\t\000\178\000\246\000\n\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\005\t\005\t\000\000\005\t\005%\005\t\000\000\005\t\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\t\005\r\000\000\000\000\005\r\005\t\000\000\001N\005\t\000\000\005\t\000\000\000\000\000\000\000\000\000\000\005\t\005\t\005\t\000\000\005\t\005\t\005\t\000\000\005\r\005\r\000\000\001^\000\000\005\r\000\000\000\000\005\r\005\r\000\000\000\000\000\000\000\000\000\000\005\r\000\000\001b\005\r\005\r\000\000\005\r\005\r\000\000\000\000\005\r\000\000\005\r\005\r\000\000\000\000\005\r\000\000\000\000\005\r\000\000\005\r\005\r\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\005\r\000\000\005\r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\r\001F\000\000\000R\007\210\007\218\000\170\005\r\000\174\000\000\b\030\bb\000\000\bj\000\000\bz\001N\b\130\000\000\b\138\b\150\001:\b\158\000\000\000\000\000\000\000\000\005\r\005\r\000\000\005\r\005)\005\r\000\000\005\r\000\000\001^\b\166\000\000\000\000\000\000\000\000\000\000\005\r\000\000\000\000\000\000\000\000\005\r\000\000\001b\005\r\b\174\005\r\004^\004b\000\000\000\000\000\000\005\r\005\r\005\r\000\000\005\r\005\r\005\r\n\165\n\165\n\165\n\165\000\000\n\165\b\190\n\165\n\165\000\000\n\165\000\000\n\165\000\000\n\165\000\000\n\165\n\165\n\165\n\165\b\202\000\000\014\129\000\000\000\000\014\129\000\000\000\000\000\n\000\000\000\000\000\000\000\000\n\165\n\165\n\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\165\000\000\014\129\014\129\000\000\004n\n\165\014\129\000\000\022\030\r\246\014\129\000\000\022&\000\000\000\000\000\000\014\129\000\000\n\165\014\129\014\129\000\000\014\129\014\129\000\000\n\165\r\254\000\000\014\129\014\n\n\165\000\000\014\129\000\000\000\000\014\129\000\000\014\129\014\129\n\165\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\014\129\n\165\014\129\000\000\n\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\129\001F\000\000\000\000\n\165\000\000\000\000\014\022\000\000\n\165\000\000\n\165\000\000\000\000\n\165\000\000\001N\000\000\000\000\000\000\000\000\n\165\000\000\n\165\000\000\000\000\n\165\014\129\014\129\000\000\014\129\000\000\014\026\000\000\014\129\000\000\001^\000\000\000\000\000\000\000\000\n\165\n\165\014\"\000\000\000\000\022z\n\165\000\000\000\000\001b\014\129\000\000\014\129\004^\004b\000\000\000\000\000\000\014\129\014\129\014\129\000\000\014\129\014\129\014\129\n\149\n\149\n\149\n\149\000\000\n\149\000\000\n\149\n\149\000\000\n\149\000\000\n\149\000\000\n\149\000\000\n\149\n\149\n\149\n\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\149\n\149\n\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\149\000\000\000\000\000\000\000\000\004f\n\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\149\n\153\n\153\n\153\n\153\000\000\n\153\n\149\n\153\n\153\000\000\n\153\n\149\n\153\000\000\n\153\000\000\n\153\n\153\n\153\n\153\n\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\153\n\153\n\153\000\000\000\000\000\000\000\000\000\000\000\000\n\149\n\153\000\000\n\149\000\000\000\000\000\000\n\153\000\000\000\000\022~\000\000\000\000\000\000\000\000\000\000\n\149\000\000\000\000\000\000\n\153\n\149\000\000\n\149\000\000\000\000\n\149\n\153\000\000\000\000\000\000\000\000\n\153\n\149\000\000\n\149\000\000\000\000\n\149\000\000\000\000\n\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\001\153\n\149\n\149\000\000\000\000\000\000\022\"\n\149\000\000\000\000\000\000\n\153\000\000\000\000\n\153\000\000\000\000\000\000\000\000\000\000\001\153\001\153\000\000\000\000\000\000\001\153\000\000\n\153\000\000\001\153\000\000\000\000\n\153\000\000\n\153\001\153\000\000\n\153\001\153\001\153\000\000\001\153\001\153\000\000\n\153\000\000\n\153\001\153\000\000\n\153\000\000\001\153\000\000\000\000\001\153\000\000\001\153\001\153\000\000\000\000\000\000\000\000\000\000\000\000\n\153\n\153\000\000\000\000\000\000\000\000\n\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\000R\007\210\007\218\000\170\000\000\000\174\000\000\b\030\bb\000\000\bj\000\000\bz\000\000\b\130\000\000\b\138\b\150\001:\b\158\000\000\001\153\002Z\000\000\001\153\001\153\000\000\000\000\001\153\000\000\000\000\000\000\000\000\022\134\b\166\022\162\000\000\000\000\000\000\000\000\000\000\000\000\001\153\022\174\000\000\001\153\001\153\001\153\001\153\b\174\000\000\000\000\000\000\003\n\001\153\001\153\000\000\001\153\001\153\001\153\000\000\000\000\022\198\000\000\000\000\002z\000\000\000\000\002\210\b\190\000\000\000\000\000\000\000\000\022\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\202\000\000\000\000\000\000\000\000\002\130\002\170\000\000\000\000\000\000\002!\000\000\000\000\000\000\002!\000\000\000\000\000\000\000\000\000\000\002\138\000\000\023\026\002!\002!\023r\002\242\002\250\000\000\000\000\000\000\000\000\002!\000\000\000\000\000\000\002\178\000\000\023\138\002\146\000\000\002\162\002!\023\150\000\000\b\173\000\000\000\000\023\198\000\000\000\000\000\000\t6\t>\000\170\023\210\000\174\023\222\t\130\t\198\024\190\t\206\000\000\t\222\002\186\t\230\002!\t\238\t\250\000\000\n\002\000\000\000\000\000\000\000\000\024\202\024\226\002!\000\000\000\000\000\000\024\238\000\000\000\000\000\000\n\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\018\000\000\000\000\000\000\002\194\000\000\000\000\002!\002!\000\000\000\000\002\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\129\000\000\002!\000\000\000\000\002!\002!\002!\002!\000\000\000\000\n\"\000\000\000\000\002!\002!\000\000\003\002\002\202\002!\002\130\002\170\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\002\138\000\000\000\000\000\129\000\129\000\000\000\129\000\129\000\000\000\000\000\000\000i\000\129\000\000\000i\000\000\002\178\000\000\000\000\002\146\000\000\002\162\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000i\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\002\186\000\000\000\129\000\000\000\000\002\138\000\000\000\000\000i\000i\000\000\000i\000i\000\129\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\146\000\000\002\162\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\194\000\000\000\000\000\129\000\129\000\000\000\000\002\154\000\000\000i\000\000\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000i\000\000\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\000\000\000\129\000\129\000\000\000\129\002\202\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000\000\000\000\002\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000\000\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000\000\000\000\000\000\000i\000i\000\000\000i\000i\000i\000]\000]\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000\000\000a\000]\000\000\000a\000\000\000]\000\000\000\000\002\146\000\000\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000a\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000]\000\000\000]\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000a\000a\000]\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\002\146\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000\000\002\154\000\000\000a\000\000\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000a\000\000\000]\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000]\000]\000\000\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000\000\002\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\000\000\000\000\000\000\000a\000a\000\000\000a\000a\000a\000e\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000\000\000\000\002\138\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000\000\000u\000e\000\000\000u\000\000\000e\000\000\000\000\002\146\000\000\002\162\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\130\002\170\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000e\000\000\000e\000\000\000\000\002\138\000\000\000\000\000u\000u\000\000\000u\000u\000e\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000\000\000\000\002\146\000\000\002\162\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000\000\000\000\002\154\000\000\002\186\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000u\000\000\000e\000e\000e\000e\000\000\000\000\000\000\000\000\000\000\000e\000e\000\000\000e\000e\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000u\000\000\000\000\002\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000\000\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000\000\000\000\000\000\000u\000u\000\000\000u\000u\000u\002\130\002\170\000\000\000\000\000\000\000m\000\000\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\002\138\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000q\000m\000\000\000q\000\000\000m\000\000\000\000\002\146\000\000\002\162\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\130\002\170\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000m\000\000\000m\000\000\000\000\002\138\000\000\000\000\000q\000q\000\000\000q\000q\000m\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\002\146\000\000\002\162\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\000\000\002\154\000\000\002\186\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000q\000\000\000m\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000m\000m\000\000\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\000\000\002\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000\000\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000q\000q\000\000\000q\000q\000q\002\130\002\170\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\000\002\138\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\000\002z\000y\000\000\000\137\000\000\002\178\000\000\000\000\002\146\000\000\002\162\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\130\002\170\000\000\000\000\000\000\000\137\000\000\000\000\000\000\000\137\002\186\000\000\000y\000\000\000\000\002\138\000\000\000\000\000\137\000\137\000\000\000\137\002\250\000y\000\000\000\000\000\000\000\137\000\000\000\000\000\000\002\178\000\000\000\000\002\146\000\000\002\162\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\194\000\000\000\000\000y\000y\000\000\000\000\002\154\000\000\002\186\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\137\000\000\000y\000y\000y\000y\000\000\000\000\000\000\000\000\000\000\000y\000y\000\000\000y\000y\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\194\000\000\000\000\000\137\000\137\000\000\000\000\002\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\000}\000\000\000\137\000\000\000\000\000\137\000\137\000\137\000\137\000\000\000\000\000\000\000\000\000\000\000\137\000\137\000\000\003\002\002\202\000\137\002\130\002\170\000\000\000\000\000\000\000}\000\000\000\000\000\000\000}\000\000\000\000\000\000\000\000\000\000\002\138\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\000\002z\000}\000\000\000\133\000\000\002\178\000\000\000\000\002\146\000\000\002\162\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\130\002\170\000\000\000\000\000\000\000\133\000\000\000\000\000\000\000\133\002\186\000\000\000}\000\000\000\000\002\138\000\000\000\000\000\133\000\133\000\000\000\133\002\250\000}\000\000\000\000\000\000\000\133\000\000\000\000\000\000\002\178\000\000\000\000\002\146\000\000\002\162\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\194\000\000\000\000\000}\000}\000\000\000\000\002\154\000\000\002\186\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000\133\000\000\000}\000}\000}\000}\000\000\000\000\000\000\000\000\000\000\000}\000}\000\000\000}\002\202\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\174\002\194\000\000\000\000\000\133\000\133\000\000\000\000\002\154\004a\000\000\000\000\004a\000\000\000\000\004a\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\004a\000\000\000\000\000\133\000\133\000\000\000\133\002\202\000\133\004a\004a\000\000\000\000\004a\004a\004a\000\000\000\000\000\000\004a\000\000\004a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004a\004a\000\000\000\000\004a\004a\004a\000\000\000\000\004a\004a\000\000\000\000\004a\000\000\000\000\000\000\000\000\001\170\000\000\000\000\n\190\000\000\000\000\n\194\000\000\000\000\000\000\000\000\004a\004a\000\000\000\000\000\000\000\000\004a\000\000\000\000\004a\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\004a\000\000\n\198\011\030\000\000\000\000\011\134\011\158\011\162\004a\000\000\004a\001\222\004a\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\230\001\234\004a\000\000\n\234\011\166\001\246\000\000\004a\n\238\n\242\000\000\000\000\n\246\004a\000\000\000\000\004a\001\170\000\000\000\000\n\190\000\000\004a\n\194\000\000\000\000\000\000\000\000\n\250\n\254\000\000\000\000\000\000\000\000\011\002\000\000\000\000\000\n\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\011\n\000\000\n\198\011\030\000\000\000\000\011\134\011\158\011\162\006-\000\000\011\170\001\222\011\198\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\230\001\234\011\014\000\000\n\234\011\166\001\246\000\000\011\018\n\238\n\242\000\000\000\000\n\246\012\194\000\000\000\000\011\022\001\170\000\000\000\000\n\190\000\000\002&\n\194\000\000\000\000\000\000\000\000\n\250\n\254\000\000\000\000\000\000\000\000\011\002\000\000\000\000\000\n\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\011\n\000\000\n\198\011\030\000\000\000\000\011\134\011\158\011\162\006-\000\000\011\170\001\222\011\198\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\230\001\234\011\014\000\000\n\234\011\166\001\246\000\000\011\018\n\238\n\242\000\000\000\000\n\246\012\178\000\000\000\000\011\022\001\170\000\000\000\000\n\190\000\000\002&\n\194\000\000\000\000\000\000\000\000\n\250\n\254\000\000\000\000\000\000\000\000\011\002\000\000\000\000\000\n\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\011\n\000\000\n\198\011\030\000\000\000\000\011\134\011\158\012~\006-\000\000\011\170\001\222\011\198\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\230\001\234\011\014\000\000\n\234\011\166\001\246\000\000\011\018\n\238\n\242\000\000\000\000\n\246\005\137\000\000\000\000\011\022\000\000\000\000\000\000\001\153\000\000\002&\001\153\000\000\000\000\000\000\000\000\n\250\n\254\000\000\000\000\000\000\000\000\011\002\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\153\001\153\000\000\011\n\000\000\001\153\000\000\000\000\000\000\001\153\000\000\000\000\006-\000\000\011\170\001\153\011\198\000\000\000\000\000\000\000\000\001\153\001\153\000\000\000\000\000\000\000\000\011\014\000\000\000\000\000\000\001\153\001\170\011\018\001\153\n\190\001\153\001\153\n\194\001\205\000\000\000\000\011\022\000\000\000\000\000\000\000\000\000\000\002&\000\000\000\000\000\000\000\000\000\000\001\182\000\000\000\000\000\000\000\000\001\153\000\000\001\153\000\000\n\198\011\030\000\000\000\000\011\134\011\158\012\142\000\000\000\000\001\153\001\222\000\000\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\230\001\234\000\000\000\000\n\234\011\166\001\246\000\000\000\000\n\238\n\242\000\000\000\000\n\246\000\000\000\000\001\153\002R\000\000\001\153\001\153\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\n\250\n\254\000\000\000\000\000\000\000\000\011\002\000\000\001\153\000\n\000\000\001\153\001\153\000\000\001\153\000\000\000\000\000\000\011\n\003\022\001\153\001\153\000\000\001\153\001\153\001\153\000\000\006-\000\000\000\000\000\000\011\198\001\177\000\000\000\000\001\177\000\000\000\000\000\000\000\000\000\000\000\000\011\014\000\000\000\000\000\000\000\000\000\000\011\018\000\000\000\000\000\000\000\000\000\000\001\221\001\177\001\177\011\022\000\000\000\000\001\177\000\000\000\000\002&\001\177\000\000\000\000\000\000\000\000\000\000\001\177\000\000\000\000\001\177\001\177\000\000\001\177\001\177\000\000\000\000\000\000\000\000\001\177\000\000\000\000\000\000\001\177\000\000\000\000\001\177\000\000\001\177\001\177\000\000\000\000\003A\000\000\000j\003A\000r\000\000\000\130\003A\000\000\003A\000\000\000\000\000\000\000\138\003A\003A\000\000\000\000\000\000\001\177\000\000\001\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\003A\000\000\000\000\000\000\003A\000\000\000\000\000\000\000\000\000\000\nf\000\000\000\000\nj\000\000\001\177\014F\025\214\001\177\nn\003A\000\000\001\177\000\000\nr\025\218\000\000\000\000\000\000\000\000\000\000\000\000\003A\000\162\000\000\000\000\000\000\000\000\000\000\001\177\003A\001\177\000\000\000\000\003A\003A\000\000\014N\001\177\001\177\000\000\001\177\001\177\001\177\000\000\000\000\003A\003=\016\202\000\182\003=\000\190\000\000\000\206\003=\000\000\003=\003A\000\000\000\000\000\214\003=\003=\000\000\016\206\000\000\000\000\003A\000\000\000\000\000\000\000\000\003A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\r\026\001\246\000\222\003=\000\000\000\000\000\000\003=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003A\000\189\000\000\003A\003A\000\000\003=\003A\000\000\000\000\000\000\000\000\003A\003A\000\000\000\000\000\n\003A\003=\000\238\000\000\004\189\000\000\000\000\012\002\012*\003=\000\000\000\000\000\000\003=\003=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\n\000\000\000\000\003=\000\000\000\000\000\189\000\189\000\000\000\000\000\000\000\000\000\000\000\000\003=\000\000\0122\000\000\000\000\012\018\000\000\012\"\000\000\000\000\003=\000\000\000\000\007\181\007\181\003=\000\000\000\000\007\181\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\012:\001\014\025\194\001\022\nn\001\030\0012\001:\001>\nr\025\198\000\000\000\000\000\000\001\170\000\000\000\000\001\174\003=\000\000\001\178\003=\003=\001F\000\000\003=\000\000\000\000\000\000\000\000\003=\003=\000\000\000\000\000\000\003=\001\182\000\000\001N\001\186\012B\000\000\000\000\000\000\000\000\001\202\001\206\012\026\001\214\000\000\n\186\000\000\000\000\000\000\000\000\001\222\000\000\001\226\001^\000\000\000\000\000\189\000\000\000\000\001j\001\230\001\234\000\000\011\182\001\238\001\242\001\246\001b\000\000\001\250\001\254\000\189\012J\002\002\000\000\000\000\000\000\000\000\000\000\000\000\001n\000\000\000\000\000\000\n\154\n\158\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\000\000\002\n\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\004\169\000\000\002\022\b\189\000\000\014z\000\000\000\000\014\210\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\002\030\000\000\000\000\006%\n\162\b\189\000\000\014\130\014\170\002\"\000\000\000\000\0021\000\000\006%\002&\0021\000\000\000\000\006%\000\000\000\000\014\138\000\000\000\000\0021\0021\000\000\014\226\014\234\000\000\000\000\0015\000\000\0021\0015\000\000\000\000\014\178\000\000\000\000\014\146\000\000\014\162\0021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\014\170\000\000\000\000\000\000\0015\000\000\000\000\000\000\0015\000\000\014\186\000\000\0021\000\000\014\138\000\000\000\000\0015\0015\000\000\0015\0015\000\000\0021\000\000\000\000\0015\000\000\000\000\000\000\014\178\000\000\000\000\014\146\000\000\014\162\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\194\000\000\000\000\0021\000\000\000\000\000\000\014\154\014\186\000\000\0015\000\000\000\000\000\000\000\000\000\000\001\169\000\000\000\000\001\169\000\000\0015\000\000\000\000\0021\000\000\0021\000\000\000\000\000\000\000\000\000\000\000\000\0021\0021\000\000\014\242\014\202\0021\001\169\001\169\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\194\000\000\000\000\0015\000\000\000\000\001\169\014\154\000\000\000\000\001\169\000\000\001\169\001\169\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\001\169\000\000\0015\001\169\0015\001\169\000\000\000\000\000\000\000\000\000\000\0015\0015\000\000\0015\014\202\0015\001\029\001\029\000\000\000\000\000\000\001\029\000\000\000\000\000\000\001\029\000\000\001\169\000\000\000\000\000\000\014\138\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\001\017\000\000\001\029\001\017\000\000\000\000\001\029\000\000\000\000\014\146\000\000\014\162\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\001\169\006\006\001\017\001\169\000\000\000\000\001\017\001\169\001\029\000\000\001\029\000\000\001\017\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\001\029\000\000\000\000\001\017\000\000\001\169\000\000\001\017\000\000\000\000\014\146\006\014\001\017\001\017\000\000\001\169\001\169\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\000\000\014\154\001\017\000\000\001\017\000\000\000\000\000\000\000\000\000\000\006^\000\000\000\000\006\182\000\000\001\017\000\000\000\000\001\029\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\001\029\001\029\001\029\006f\006\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\006n\014\154\000\000\000\000\002)\000\000\006\198\006\206\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\006\150\000\000\001\017\006v\001\017\006\134\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\001\017\001\017\001\017\001\021\001\021\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\006\158\000\000\000\000\000\000\001\021\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\001\025\000\000\001\021\001\025\000\000\000\000\001\021\000\000\000\000\014\146\000\000\001\021\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\006\166\000\000\001\025\002)\000\000\000\000\001\025\006~\001\021\000\000\001\021\000\000\014\138\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\001\021\000\000\000\000\001\025\000\000\002)\000\000\001\025\000\000\000\000\014\146\000\000\014\162\001\025\000\000\006\214\006\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\000\000\014\154\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\249\000\000\000\000\000\249\000\000\001\025\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\021\006f\006\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\025\000\000\000\000\006n\014\154\000\000\000\000\000\249\000\000\000\249\000\249\000\000\000\000\001)\000\000\000\000\001)\000\000\000\000\006\150\000\000\001\025\006v\001\025\006\134\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\025\014\130\014\170\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\006\158\000\000\000\000\000\000\014\138\000\000\000\000\001)\001)\000\000\001)\001)\000\000\000\000\001!\000\000\001)\001!\000\000\000\000\001)\000\000\000\000\014\146\000\000\014\162\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\014\170\000\000\006\166\000\000\001!\000\249\000\000\000\000\001!\006~\014\186\000\000\001)\000\000\014\138\000\000\000\000\001!\001!\000\000\001!\001!\000\000\001)\000\000\000\000\001!\000\000\000\249\000\000\001!\000\000\000\000\014\146\000\000\014\162\001!\000\000\000\249\006\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\001)\000\000\000\000\000\000\014\154\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\225\000\000\001!\000\000\000\000\001)\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\001)\001)\000\000\001)\001)\001)\000\225\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\001!\000\000\000\000\006n\014\154\000\000\000\000\000\225\000\000\000\225\000\225\000\000\000\000\001%\000\000\000\000\001%\000\000\000\000\000\225\000\000\001!\006v\001!\006\134\000\000\000\000\000\000\000\000\000\000\001!\001!\000\000\001!\001!\001!\014\130\014\170\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\000\225\000\000\000\000\000\000\014\138\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\001-\000\000\001%\001-\000\000\000\000\001%\000\000\000\000\014\146\000\000\014\162\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\014\170\000\000\000\225\000\000\001-\000\225\000\000\000\000\001-\006~\014\186\000\000\001%\000\000\014\138\000\000\000\000\001-\001-\000\000\001-\001-\000\000\001%\000\000\000\000\001-\000\000\000\225\000\000\014\178\000\000\000\000\014\146\000\000\014\162\001-\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\000\000\001%\000\000\000\000\000\000\014\154\014\186\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\213\000\000\001-\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\001%\001%\000\000\001%\001%\001%\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\194\000\000\000\000\001-\000\000\000\000\000\213\014\154\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\000\014z\000\000\000\000\001=\000\000\000\000\000\213\000\000\001-\006v\001-\000\213\000\000\000\000\000\000\000\000\000\000\001-\001-\000\000\001-\001-\001-\014\130\014\170\000\000\000\000\000\000\001=\000\000\000\000\000\000\001=\000\000\000\213\000\000\000\000\000\000\014\138\000\000\000\000\001=\001=\000\000\001=\014\234\000\000\000\000\014z\000\000\001=\0011\000\000\000\000\014\178\000\000\000\000\014\146\000\000\014\162\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\014\170\000\000\000\213\000\000\0011\000\213\000\000\000\000\0011\006~\014\186\000\000\001=\000\000\014\138\000\000\000\000\0011\0011\000\000\0011\0011\000\000\001=\000\000\000\000\0011\000\000\000\213\000\000\014\178\000\000\000\000\014\146\000\000\014\162\0011\000\000\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\194\000\000\000\000\001=\000\000\000\000\000\000\014\154\014\186\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0011\000\000\000\000\001=\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\001=\001=\000\000\014\242\014\202\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\194\000\000\000\000\0011\000\000\000\000\000\000\014\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\000\000\0019\000\000\000\000\000\000\000\000\0011\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\0011\0011\000\000\0011\014\202\0011\014\130\014\170\000\000\000\000\000\000\0019\000\000\000\000\000\000\0019\000\000\000\000\000\000\000\000\000\000\014\138\000\000\000\000\0019\0019\000\000\0019\014\234\000\000\000\000\000\000\000\000\0019\000\000\000\000\021V\014\178\000\000\000\000\014\146\000\000\014\162\0019\000\000\000\000\000\000\000\000\021Z\000\000\000\000\000\000\000\165\000\000\000\000\023\154\000\000\000\000\021^\000\000\021b\n\253\n\253\000\000\000\000\014\186\000\000\0019\021f\000\000\000\000\000\000\000\000\000\000\021j\000\165\000\165\021r\0019\000\000\000\000\021v\000\000\000\000\000\000\000\000\000\000\021z\000\000\000\000\012\n\000\000\000\000\000\000\000\000\000\000\000\165\000\165\025B\023J\000\000\n\253\000\000\021~\000\000\014\194\000\165\000\000\0019\012\018\000\000\012\"\014\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\253\0019\021\130\0019\000\000\021\134\000\165\021V\000\000\000\000\0019\0019\000\000\0019\014\202\0019\022\210\000\000\021\138\021Z\000\000\000\000\000\000\021\142\000\n\021\146\000\000\021\150\021\154\021^\021\158\021b\000\000\000\153\000\000\000\000\n\209\021\162\000\000\021f\021\166\000\000\000\000\000\000\000\000\021j\000\165\000\000\021r\000\000\000\000\000\000\021v\012\026\000\000\021\170\000\153\000\153\021z\000\000\021\174\021\178\n\253\000\000\000\000\000\000\000\000\000\165\000\000\023\230\000\000\000\153\n\209\000\000\021~\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\165\000\165\000\000\000\000\000\000\000\153\000\000\000\000\012\018\000\000\000\153\000\000\000\000\tN\005\253\000\000\000\000\n\209\000\000\021\130\000\000\000\000\021\134\t\146\005\253\000\000\005\253\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\021\138\005\253\000\000\005\253\000\000\021\142\000\n\021\146\000\000\021\150\021\154\005\253\021\158\005\253\000\000\000\000\t\210\005\253\000\000\021\162\005\253\005\253\021\166\000\000\005\253\000\000\000\000\005\253\000\000\005\253\005\253\000\000\000\000\000\000\005\253\000\000\000\000\021\170\000\153\005\253\005\253\005\253\021\174\021\178\n\209\012\026\005\253\000Z\000\000\005\253\000\000\005\253\n&\000\000\000\000\005\253\005\253\000Z\005\253\000\153\000\000\005\253\005\253\000\000\000\000\000\000\000\000\000\000\005\253\000\000\000\000\000\000\000\000\005\253\000\153\000\153\005\253\000\000\000\000\005\253\nR\000\000\000\000\005\253\005\253\000Z\005\253\000\000\000\000\005\253\000\000\000\000\000\000\000\000\005\253\005\253\005\253\000\000\005\253\005\253\000\000\005\253\000\000\000\000\005\253\005\253\005\253\000\000\005\253\005\253\000\000\005\253\000\000\000\000\005\253\000\000\000\000\000\000\005\253\000\000\000\000\005\253\001\170\000\000\000\000\001\174\005\253\005\253\001\178\000\000\000\000\005\253\005\253\005\253\005\253\000\000\005\253\005\253\015\014\005\253\000\000\005\253\005\253\000\000\001\182\000\000\005\253\001\186\000\000\005\253\000\000\000\000\000\000\001\202\001\206\000\000\001\214\000\000\000\000\000\000\000\000\000\000\000\000\001\222\005\253\001\226\000\000\000\000\000\000\005\253\005\253\000\000\000\000\001\230\001\234\000\000\000\000\001\238\001\242\001\246\000\000\000\000\001\250\001\254\000\000\001\170\002\002\000\000\001\174\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\189\000\000\002\006\000\000\000\000\000\000\001\182\002\n\000\000\001\186\000\n\000\000\000\000\000\000\000\000\001\202\001\206\000\000\001\214\002\018\000\000\000\000\000\000\000\000\000\000\001\222\000\000\001\226\000\000\000\000\002\022\000\000\000\000\000\000\000\000\001\230\001\234\000\000\000\000\001\238\001\242\001\246\000\000\002\026\001\250\001\254\000\000\001\170\002\002\002\030\001\174\000\000\b\189\001\178\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\018\170\002&\002\006\000\000\000\000\000\000\001\182\002\n\000\000\001\186\000\n\000\000\000\000\000\000\000\000\001\202\001\206\000\000\001\214\002\018\000\000\000\000\000\000\000\000\000\000\001\222\000\000\001\226\001\170\000\000\002\022\001\174\000\000\000\000\001\178\001\230\001\234\000\000\000\000\001\238\001\242\001\246\000\000\002\026\001\250\001\254\000\000\000\000\002\002\002\030\001\182\000\000\000\000\001\186\000\000\000\000\000\000\000\000\002\"\001\202\007J\000\000\001\214\000\000\002&\002\006\000\000\000\000\000\000\001\222\002\n\001\226\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\230\001\234\000\000\002\018\001\238\001\242\001\246\000\000\000\000\001\250\001\254\000\000\001\170\002\002\002\022\001\174\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\002\006\000\000\000\000\002\030\001\182\002\n\000\000\001\186\000\n\000\000\000\000\000\000\002\"\001\202\002\014\000\000\001\214\002\018\002&\000\000\000\000\000\000\000\000\001\222\000\000\001\226\000\000\000\000\002\022\000\000\000\000\000\000\000\000\001\230\001\234\000\000\006*\001\238\001\242\001\246\000\000\002\026\001\250\001\254\000\000\004Y\002\002\002\030\004Y\000\000\000\000\004Y\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\002&\002\006\000\000\000\000\000\000\004Y\002\n\000\000\004Y\000\n\000\000\000\000\000\000\000\000\004Y\004Y\000\000\004Y\002\018\000\000\000\000\000\000\000\000\000\000\004Y\000\000\004Y\000\000\000\000\002\022\000\000\000\000\000\000\000\000\004Y\004Y\000\000\000\000\004Y\004Y\004Y\000\000\002\026\004Y\004Y\000\000\021V\004Y\002\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\"\021Z\000\000\000\000\000\000\000\000\002&\004Y\000\000\000\000\000\000\021^\004Y\021b\000\000\004Y\000\000\000\000\000\000\000\000\000\000\021f\000\000\000\000\004Y\000\000\000\000\021j\000\000\000\000\021r\000\000\000\000\000\000\021v\000\000\000\000\000\000\000\000\000\000\021z\000\000\000\000\000\000\000\000\000\000\005\253\000\000\004Y\005\253\000v\022\206\000\000\005\253\004Y\005\253\021~\000\000\000\000\000\000\005\253\005\253\000\000\004Y\000\000\000\000\000\000\000\000\000\000\004Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\209\000\000\021\130\000\000\000\000\021\134\005\253\000\000\000\000\005\253\000\194\000\000\000\000\005\253\000\000\005\253\000\000\000\000\021\138\000\000\005\253\005\253\000\000\021\142\000\n\021\146\000\000\021\150\021\154\005\253\021\158\000\000\005\253\001f\000\000\005\253\001\002\021\162\000Z\005\253\021\166\005\253\000\000\000\000\000\000\000\000\005\253\005\253\000\000\005\253\005\253\000\000\000\000\005\253\005\253\021\170\000\000\000\000\000\000\000\000\021\174\021\178\n\209\000\000\000\000\005\253\000\000\000\000\000\000\000\000\005\253\000\000\000\000\000\000\004*\000\000\005\253\000\000\000\000\000Z\005\253\000\000\005\253\000\000\000\000\000\000\005\253\000\000\000\000\000\000\005\253\005\253\000\000\000\000\005\253\005\253\005\253\000\000\000\000\000\000\004\254\000\000\000\000\000\000\000\000\000Z\005\253\000\000\005\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\253\005\253\000\000\000\000\005\253\005\253\000\000\000\000\005\253\000\000\000\000\005\253\005\253\000\000\000\000\005\253\005\253\000\000\000\000\000\000\005\253\005\253\000\000\000\000\000\000\005\253\000\000\005\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\253\000\000\000\000\000\000\000\000\005\253\000\000\000\000\000\000\000\000\000\000\000\000\005\253\000\000\000\000\005\253\005\253\000\000\000\000\005\253\000\000\000\000\000\000\000\000\005\253\005\253\000\000\001\170\000\000\005\253\001\190\000\000\000\000\001\194\000\000\000\000\000\000\000\000\005\253\000\000\000\000\005\253\005\253\000\000\000\000\005\253\000\000\000\000\000\000\001\182\005\253\005\253\001\186\000\000\000\000\005\253\000\000\000\000\001\198\001\218\000\000\001\214\000\000\000\000\000\000\000\000\000\000\000\000\001\222\000\000\001\226\001\170\000\000\000\000\001\190\000\000\000\000\001\194\005v\001\234\000\000\000\000\005z\001\242\001\246\000\000\000\000\005~\005\130\000\000\000\000\005\134\000\000\001\182\000\000\000\000\001\186\000\000\000\000\000\000\000\000\000\000\001\198\0072\000\000\001\214\000\000\000\000\005\138\000\000\000\000\000\000\001\222\005\142\001\226\000\000\000\n\000\000\000\000\000\000\000\000\000\000\005v\001\234\000\000\005\150\005z\001\242\001\246\000\000\000\000\005~\005\130\005\253\000\000\005\134\005\253\003R\000\000\005\253\005\253\000\000\005\253\003\150\000\000\000\000\005\253\005\253\005\253\005\154\005\253\003\214\005\138\005\253\005\253\005\158\005\253\005\142\000\000\000\000\000\n\005\253\005\253\000\000\005\162\000\000\000\000\000\000\000\000\005\150\002&\000\000\000\000\000\000\000\000\000\000\000\000\005\253\000\000\000\000\000\000\005\253\000\000\005\253\000\000\000\000\000\000\005\253\000\000\000\000\000\000\005\253\000\000\005\154\000\000\005\253\000\000\005\253\000\000\005\158\000\000\007z\000\000\005\253\000\000\000\000\000Z\000\000\005\162\005\253\000\000\005\253\000Z\000\000\002&\005\253\000\000\005\253\000\000\000\000\000Z\005\253\005\253\005\253\000\000\000\157\000\000\005\253\005\253\000\000\000\000\005\253\000\000\005\253\000\000\005\253\005\253\000\000\000\000\005\253\000\000\000\000\000\000\000\000\005\253\000\000\000\000\005\253\000\157\000\157\005\253\000\000\000\000\000\000\005\253\000\000\000\000\000\000\005\253\005\253\005\253\000\000\000\000\000\157\000\000\005\253\000\000\000\000\005\253\000\157\000\157\000\000\000\000\005\253\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\012\018\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\253\000\000\000\000\005\253\005\253\000\000\005\253\005\253\000\000\005\253\005\253\000\000\005\253\005\253\005\253\000\157\000\000\005\253\005\253\005\253\000\000\005\253\001\170\005\253\000\000\001\190\005\253\005\253\001\194\000\000\000\000\005\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\182\000\000\000\000\001\186\000\000\000\000\000\000\000\000\000\000\001\198\005\146\000\157\001\214\000\000\000\000\000\000\000\000\000\000\012\026\001\222\000\000\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005v\001\234\000\000\000\157\005z\001\242\001\246\000\000\014e\005~\005\130\014e\000\000\005\134\000\000\000\000\000\000\000\000\000\157\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\138\014e\014e\000\000\000\000\005\142\000\000\000\000\000\n\005\182\000\000\000\000\000\000\000\000\000\000\000\000\014e\005\150\000\000\000\000\014e\000\000\014e\014e\000\000\000\000\005\190\000\000\000\000\005\202\000\000\000\000\014e\001\170\000\000\014e\n\190\014e\000\000\n\194\000\000\005\154\000\000\000\000\000\000\000\000\000\000\005\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\182\005\162\000\000\000\000\000\000\014e\000\000\002&\000\000\n\198\n\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\222\000\000\001\226\000\000\000\000\000\000\005\214\000\000\000\000\000\000\n\230\001\234\000\000\000\000\n\234\001\242\001\246\000\000\000\000\n\238\n\242\000\000\000\000\n\246\000\000\000\000\014e\014e\000\000\014e\000\000\005\218\000\000\014e\000\000\000\000\000\000\000\000\000\000\n\250\n\254\000\000\005\226\001\170\000\000\011\002\n\190\000\000\000\n\n\194\000\000\000\000\014e\000\000\000\000\000\000\000\000\011\n\014e\000\000\000\000\000\000\014e\014e\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\198\011\006\000\000\000\000\000\000\000\000\000\000\011\014\000\000\000\000\001\222\000\000\001\226\011\018\000\000\000\000\000\000\000\000\000\000\000\000\n\230\001\234\011\022\000\000\n\234\001\242\001\246\000\000\002&\n\238\n\242\000\000\000\000\n\246\000\000\000\000\000\000\000\000\001\170\000\000\000\000\n\190\000\000\000\000\n\194\000\000\000\000\000\000\000\000\n\250\n\254\000\000\000\000\000\000\000\000\011\002\000\000\000\000\000\n\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\011\n\000\000\n\198\011\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\222\000\000\001\226\001\170\000\000\000\000\r\150\000\000\000\000\r\154\n\230\001\234\011\014\000\000\n\234\001\242\001\246\000\000\011\018\n\238\n\242\000\000\000\000\n\246\000\000\001\182\000\000\011\022\000\000\000\000\000\000\000\000\000\000\002&\r\158\014\250\000\000\000\000\000\000\n\250\n\254\000\000\000\000\000\000\001\222\011\002\001\226\000\000\000\n\000\000\000\000\000\000\000\000\000\000\r\182\001\234\000\000\011\n\r\186\001\242\001\246\000\000\000\000\r\190\r\194\000\000\000\000\r\198\000\000\000\000\000\000\000\000\001\170\000\000\000\000\r\150\000\000\000\000\r\154\000\000\000\000\011\014\000\000\n\250\r\202\000\000\000\000\011\018\000\000\r\206\000\000\000\000\000\n\000\000\001\182\000\000\011\022\000\000\000\000\000\000\000\000\r\214\002&\r\158\r\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\222\000\000\001\226\001\170\000\000\000\000\r\150\000\000\000\000\r\154\r\182\001\234\r\218\000\000\r\186\001\242\001\246\000\000\r\222\r\190\r\194\000\000\000\000\r\198\000\000\001\182\000\000\r\226\000\000\000\000\000\000\000\000\000\000\002&\r\158\r\210\000\000\000\000\000\000\n\250\r\202\000\000\000\000\000\000\001\222\r\206\001\226\000\000\000\n\000\000\000\000\000\000\000\000\b\181\r\182\001\234\000\000\r\214\r\186\001\242\001\246\000\000\000\000\r\190\r\194\b\181\000\000\r\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\181\000\000\b\181\000\000\000\000\000\000\r\218\000\000\n\250\r\202\b\181\000\000\r\222\000\000\r\206\000\000\b\181\000\n\000\000\b\181\000\000\r\226\023\226\b\181\022*\000\000\r\214\002&\000\000\b\181\000\000\000\000\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021^\b\181\021b\000\000\000\000\000\000\r\218\000\000\000\000\000\000\021f\000\000\r\222\000\000\000\000\000\000\021j\000\000\000\000\021r\000\000\r\226\000\000\021v\000\000\000\000\000\000\002&\b\181\021z\000\000\b\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\181\021~\024\002\000\000\000\000\b\181\b\181\b\181\000\000\b\181\b\181\000\000\b\181\000\000\000\000\000\000\000\000\000\000\000\000\b\181\000\000\000\000\b\181\b\029\000\000\000\000\000\000\000\000\021\130\000\000\000\000\021\134\000\000\000\000\000\000\b\029\000\000\b\181\000\000\000\000\000\000\000\000\b\181\b\181\021\138\b\029\000\000\b\029\000\000\021\142\000\n\021\146\000\000\021\150\021\154\b\029\021\158\000\000\000\000\000\000\000\000\b\029\000\000\021\162\b\029\000\000\021\166\000\000\b\029\000\000\022\178\000\000\000\000\000\000\b\029\000\000\000\000\000\000\000\000\000\000\000\000\021\170\021Z\000\000\000\000\000\000\021\174\021\178\000\000\000\000\b\029\024\002\021^\000\000\021b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021f\000\000\000\000\000\000\000\000\000\000\021j\000\000\000\000\021r\000\000\000\000\000\000\021v\000\000\b\029\000\000\000\000\b\029\021z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\029\000\000\000\000\000\000\021~\b\029\b\029\b\029\000\000\b\029\b\029\000\000\b\029\000\000\000\000\000\000\000\000\000\000\000\000\b\029\000\000\000\000\b\029\000\000\000\000\000\000\022\202\000\000\000\000\000\000\000\000\021\130\000\000\000\000\021\134\000\000\000\000\b\029\021Z\000\000\000\000\000\000\b\029\b\029\000\000\000\000\000\000\021\138\021^\000\000\021b\000\000\021\142\000\n\021\146\000\000\021\150\021\154\021f\021\158\000\000\000\000\000\000\000\000\021j\000\000\021\162\021r\000\000\021\166\021V\021v\000\161\000\000\000\000\000\000\000\000\021z\000\000\000\000\000\000\000\000\021Z\000\000\021\170\000\000\000\000\000\000\000\000\021\174\021\178\000\000\021^\021~\021b\000\161\000\161\000\000\000\000\000\000\000\000\000\000\021f\000\000\000\000\000\000\000\000\000\000\021j\000\000\012\n\021r\000\000\000\000\000\000\021v\000\161\000\161\000\000\000\000\021\130\021z\000\000\021\134\000\000\000\000\000\161\000\000\000\000\012\018\000\000\012\"\000\000\000\000\000\000\000\000\021\138\023v\000\000\000\000\000\000\021\142\000\n\021\146\000\000\021\150\021\154\000\000\021\158\000\000\000\000\000\000\000\000\000\000\000\161\021\162\000\000\000\000\021\166\021V\000\000\000\000\000\000\000\000\021\130\000\000\000\000\021\134\000\000\000\000\000\000\021Z\000\000\021\170\000\000\000\000\000\000\000\000\021\174\021\178\021\138\021^\000\000\021b\000\000\021\142\000\n\021\146\000\000\021\150\021\154\021f\021\158\000\000\000\161\000\000\000\000\021j\000\000\021\162\021r\012\026\021\166\000\000\021v\000\000\000\000\000\000\000\000\000\000\021z\000\000\000\000\000\000\000\000\000\161\000\000\021\170\000\000\000\000\000\000\000\000\021\174\021\178\000\000\000\000\024\206\000\000\000\000\000\000\000\161\000\161\000\000\004i\004i\004i\004i\000\000\004i\000\000\004i\004i\000\000\004i\000\000\004i\000\000\004i\000\000\004i\004i\004i\004i\021\130\000\000\000\000\021\134\000\000\000\000\000\000\000\000\000\000\001v\000\000\000\000\000\000\000\000\004i\000\000\021\138\000\000\000\000\000\000\000\000\021\142\000\n\021\146\000\000\021\150\021\154\000\000\021\158\004i\000\000\000\000\000\000\000\000\000\000\021\162\000\000\000\000\021\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004i\000\000\000\000\000\000\021\170\000\000\004i\000\000\000\000\021\174\021\178\000\000\000\000\000\000\004i\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\004i\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000R\000V\000f\000\170\000\000\000\174\004i\000\178\000\246\000\000\000\254\000\000\001\014\001N\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001^\001F\000\000\000\000\000\000\000\000\001j\000\000\021V\000\000\000\000\000\000\000\000\000\000\001b\000\000\001N\000\000\004i\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\001n\000\000\000\000\021^\000\000\021b\000\000\000\000\000\000\001^\000\000\000\000\000\000\021f\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\021r\001b\000\000\000\000\021v\000\000\000\000\000\000\000\000\000\n\021z\000\000\000\000\000\000\001n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021~\000\000\000\000\001r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\130\012\181\000\000\021\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001r\000\000\000\000\000\000\021\138\000\000\000\000\000\000\000\000\021\142\024\250\021\146\000\000\021\150\021\154\000\000\021\158\000\000\000\000\000\000\000\000\000\000\000\000\021\162\000\000\002I\021\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\170\000\000\000\000\000\000\000\000\021\174\021\178\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\177\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\001F\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\012\002\012*\000\000\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\012\n\000\000\000\000\000\000\014I\000\000\000\177\000\177\000\000\000\000\000\000\001^\001N\000\000\000\000\000\000\000\177\001j\000\000\012\018\000\000\012\"\000\000\000\000\000\000\001b\000\000\014I\014I\004^\004b\000\000\001^\000\000\000\000\0116\000\217\000\000\001n\000\217\000\000\000\000\014I\000\000\012:\000\000\001b\000\000\014I\014I\026~\004b\011>\000\000\000\000\011J\000\000\000\000\014I\000\217\000\217\014I\000\000\014I\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\217\000\000\000\217\000\217\000\000\000\000\000\177\000\000\014I\000\000\000\000\004f\000\217\012\026\000\000\006v\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\011V\000\000\000\000\000\000\026\130\003m\000\000\000\000\002A\000\000\000\000\000\000\000\217\000\000\000\177\000\177\000\000\000\000\000\000\000\000\014I\000\000\000\000\000\000\000\000\011Z\003e\014I\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\011b\000\178\000\246\000\000\000\254\014I\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\217\000\000\000\000\000\217\014I\014I\000\000\006~\000\000\000\000\000\221\000\000\001F\000\221\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\000\000\000\217\001N\000\000\000\000\000\000\000\000\000\000\000\221\000\221\000\000\000\217\000\217\000\000\000\000\000\000\006f\006\142\000\000\000\000\000\000\000\000\001^\006n\000\000\000\000\000\000\000\221\000\000\000\221\000\221\006n\000\000\000\000\000\000\000\237\001b\000\237\000\237\000\221\026~\004b\006v\000\000\006\134\000\229\000\000\000\237\000\229\000\000\006v\000\000\006\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\006f\006\142\000\000\000\000\000\000\000\000\000\000\006\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006n\000\000\000\000\000\000\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\229\026\138\000\000\006v\000\000\006\134\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\000\000\000\006~\000\237\000\000\000\000\000\237\000\000\000\000\000\000\006~\000\000\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\233\000\000\000\221\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\237\000\000\006f\006\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\241\000\229\000\000\006n\000\229\000\000\000\000\000\233\006~\000\233\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\233\006f\006\142\006v\000\000\006\134\000\000\000\000\000\229\000\000\006^\000\000\000\000\001\001\000\000\000\000\006n\000\000\000\229\000\229\000\241\000\000\000\241\000\241\000\000\000\000\000\000\000\000\006\158\000\000\000\000\000\000\006\150\006f\006\142\006v\000\000\006\134\000\000\000\000\000\000\000\000\006^\000\000\000\000\000\245\000\000\000\000\006n\000\000\000\000\000\000\001\001\000\000\001\001\006\206\000\000\000\000\000\000\000\000\006\158\000\000\000\000\000\000\006\150\006f\006\142\006v\000\233\006\134\000\000\000\233\000\000\000\000\006^\006~\000\000\000\253\000\000\000\000\006n\000\000\000\000\000\000\000\245\000\000\000\245\000\245\000\000\000\000\000\000\000\000\006\158\000\000\000\233\000\000\006\150\006f\006\142\006v\006\166\006\134\000\000\000\241\000\233\000\233\000\000\006~\000\000\000\000\000\000\000\000\006n\000\000\000\000\000\000\000\253\000\000\000\253\006\206\000\000\000\000\000\000\000\000\006\158\000\000\000\241\000\000\006\150\000\000\000\000\006v\006\166\006\134\000\000\001\001\000\241\000\241\000\169\006~\nf\000\000\000\000\nj\000\000\000\000\000\000\025\214\000\000\nn\000\000\000\000\000\000\000\000\nr\025\218\006\158\000\000\001\001\000\000\000\000\012\002\012*\000\000\006\166\000\000\000\000\000\245\006\214\006\174\000\000\006~\000\000\000\000\000\000\000\000\012\n\000\000\000\000\000\000\000\000\000\000\000\169\000\169\000\000\000\000\000\000\000\000\016\202\000\000\000\245\000\000\000\169\000\173\000\000\012\018\006\166\012\"\000\000\000\253\000\245\006\174\000\000\006~\016\206\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\012\002\012*\000\000\011\250\000\169\000\000\000\253\000\000\001\234\000\000\000\000\000\000\r\026\001\246\000\000\012\n\000\253\006\174\012\002\012*\000\000\000\173\000\173\000\000\000\000\000\000\012\002\012*\000\000\000\000\000\000\000\173\000\000\012\n\012\018\000\000\012\"\000\000\000\000\000\181\000\181\012\n\000\000\000\000\000\169\000\n\000\000\000\197\012Z\0122\004\189\012\026\012\018\000\000\012\"\000\000\000\000\0122\000\000\012:\012\018\000\000\012\"\000\000\000\000\000\169\000\000\000\000\000\000\011\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012:\000\000\000\000\000\169\000\169\000\000\000\000\000\000\012:\000\000\000\000\000\000\000\000\000\000\000\000\012\002\012*\000\000\t)\t)\000\000\000\000\000\173\t)\000\000\000\000\000\000\000\000\000\000\012\026\012\n\000\000\000\000\000\000\000\000\000\000\000\185\000\185\000\000\000\000\012B\000\000\011\250\000\173\000\000\000\000\0122\012\026\012B\012\018\000\000\012\"\000\000\000\000\000\000\012\026\000\000\000\000\000\173\000\173\000\000\000\181\000\000\000\000\000\000\012\002\012*\000\000\000\000\000\197\000\000\000\000\000\000\000\000\012:\000\000\000\181\000\181\000\000\000\000\012\n\000\000\000\000\000\000\012b\012J\000\193\012Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0122\000\000\000\000\012\018\000\000\012\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012B\000\000\000\000\000\000\000\000\000\000\000\000\012\026\000\000\000\000\012:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\012J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012B\000\000\000\000\000\000\000\000\000\000\000\000\012\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\012J"))
+ ((16, "\003\160\000\243\000\000\000\000\024\030\000\243\000\000\000\000\002L\000\000\000\000\000\000\001#\000\000\000\000\000\000\003\160\000\000\000{<\146\000\000\021\006\021\172\000\000\000\000?\000\021\006\000\000\021\006\021\006\000\000\000\000\021\006\000\000\021\006\000\000\000\221\000\171\021\006\000\000\021\006\000\000\000\000\000\000\021\006\000\000\021\006\000\000?\138\021\006\000\000P:\021\006\000\000\000\000\021\006\000\000\021\006\000\000\000\177\000h\021\006\000\000\021\006\000\000\021\006\000\000\021\006\000\000P\162\021\006\000\000\000\000\021\006\000\000\021\006\000\000\000m\002\180\000/\000\000\000\000\000\000\000X\000\000\000\000\001Z\000/\000\000\001Z\000\000\000\000\002\180\000b\001,\000/\001&\000\000\001\226\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\246\002\180\000\000\004H\000R\002\180\000\000\004J\004d\000\000\000\000\000\000\000\182\021\006\000\000@\244\002\180\001\000\021\006\000\000\000\000\021\006\000\000\000\000\021\006\000\000\021\006\000\000\001Z\001\158\021\006\000\000<\146A*R\140\000\000\000\000\000\000\000\000Q\190\0020<\146\000R\000\000R\140\000\000\000\000\001\194\021\006\000\000R\140\000\000\000/\000\148B\024\000\000\000\000R\130SB\000\000Y\134\000\000S\236B\024\028\142\028\142Y\134B\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\150B\024\000\000\000\000T\150T\150T\150\000\000T\150\000\000B\024T\150\000\000\000\000\"\030\000/\000\000\023(\028\142B\024\000\000#hB\024)\218B\024)\242B\024\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\142B\024\000\0003\150B\024+\014B\024+rB\024\000\000B\024\000\000B\024,zB\024,\222B\024-\230B\024.JB\024/RB\024/\182B\024\002(B\024\000\000\000\000\000\000\000\000\000\000B\0243\250B\0245\002B\0245fB\0246nB\0240\190B\0241\"B\0242*B\0246\210B\0247\218B\024\000\000B\0248>B\0249FB\0249\170B\024\000\000B\024:\178B\024;\022B\024\000\000\000\000B\024\000\000\002\028\000\000\000\000\000/\000\000\000\000\000\000\0028\000\000\002N\000\000\002\194B\024\000\000\002\194\000\000\000\000\003\002<\146\000\000\023X\021\006\000\000\000*\021\006\000\000P\190\021\006\000\000\000\000\021\006\000\000\021\006\000\000\002\204\003\n\021\006\000\000\021\006\000\000\021\006\000\000\021\006\000\000\003r\021\006\000\000U`\021\006\000\000\000\000\021\006\000\000\021\006\000\000\003z\003\238\021\006\000\000\021\006\000\000\021\006\000\000\021\006\000\000U\138\021\006\000\000\000\000\021\006\000\000\021\006\000\000\000\015\002\180\003\206\021\006\000\000C\250\002\180\003\242\021\006\000\000\000\000\021\006\000\000\021\006\000\000\021\006\000\000\004&\004V\021\006\000\000P:R\140\004>\021\006\000\000Z\152V\138\000\000\000/\005,\000/\004\230\005\226Z\246Z\246\000\000\000\000\000\000\000\015_(Z\246\000\158[\180\000\000\000\000\000\000\002\234\006\020\001\004\006|Z\246\000\000\000\000\005\178\000\000\005\204\006\170Z\246\005\238\000\000\000\148\000\000\000\148\000\000\000\000\004f\\r\000\000\000\000\000\000\005\240\006\240\000\000\007(\000\000\023X\001\206R\140\0068\021\006\000\000P\162R\140\006:\021\006\000\000\000\000\000\000\000/\007x\000\000\000\000\000\000\003\002\000\000\000\000\028\142\006\146\000\000\006\152Y\134\000\000\000\000\000\000\000\000\000\000\000\000T\150\000\000\000\000T\150\000\000\000\000T\150\000\000Y\134\000\000\000\000V\218\000/\000\000\023(\023(\000\000\004|\027x\023(\029DB\024\000\000B\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025JB\024\026\186B\024\006\216B\024\000\000B\024\030`B\024%<B\024L|B\024d\190B\024e\030B\024e\164B\024\000\000B\024f\016B\024fhB\024f\180B\024\000\000B\024f\244B\024g\186\004\250\024\152\000\000\000\000\005\b\026\b\000\000\000\000\000\000\000\000\006\192\000\000B\024\006\208\000\000\000\000\000/\000\000\000\000\000\000\000\000\006\214\000\000\000\000\000\000\000\000\000\000\000\000\006\216\000\000\000\000\000\000\006\228\000\000\001|Wf\007\168B\024\007h\000\000\000\000Y\134\001|\000\000\006\242\000\000\006\244B\024\000\000\028\142\006\246\000\000\000\000\007\212\000\000\028\142\007\002\000\000\000\000\028\142\007\020\000\000\000\000\007\020\000\000\000\000\b\b\000\000P\190R\140\007\024\021\006\000\000\000\000\007\160\000\000\007&\021\006\000\000\000\000\000\232<\146\000\000<\146\000\000\007\020\000\000\000\232\000\000\019J(\210\021\134\000\000\007\184\021\134\000\000\021\134\021\134\000\000\000\000\021\134\000\000\021\134\000\000\007Z\007\138\021\134\000\000\021\134\000\000\021\134\000\000\021\134\000\000\bv\021\134\000\000\021\150\021\134\000\000\000\000\021\134\000\000\021\134\000\000\007`\007\144\021\134\000\000\021\134\000\000\021\134\000\000\021\134\000\000@\216\021\134\000\000\000\000\021\134\000\000\021\134\000\000\000J\002\180\007:\021\134\000\000\021\166\002\180\007D\021\134\000\000\000\000\021\134\000\000\021\134\000\000\021\134\000\000\007|\007\170\021\134\000\000Pr\000\000\007\\\000\000\004jPr\000\000\000\000\004j\000\000\000\000\021\172R\140\007X\021\134\000\000\000\000\000\000\001n\000\000\000\000\000C\001n\000\000\000\000\000\000\bL\000\000\001\220R\140\007\\\021\134\000\000@\216R\140\007d\021\134\000\000\000\000(\006\021\134\000\000\b\178\021\134\000\000C\006\021\134\000\000\000\000\021\134\000\000\021\134\000\000\007\150\007\200\021\134\000\000\021\134\000\000\021\134\000\000\021\134\000\000\tJ\021\134\000\000C8\021\134\000\000\000\000\021\134\000\000\021\134\000\000\007\160\007\246\021\134\000\000\021\134\000\000\021\134\000\000\021\134\000\000CT\021\134\000\000\000\000\021\134\000\000\021\134\000\000\002\030\002\180\007\178\021\134\000\000C8\002\180\007\180\021\134\000\000\000\000\021\134\000\000\021\134\000\000\021\134\000\000\007\230\b\022\021\134\000\000CTR\140\007\190\021\134\000\000\000\000\003XR\140\007\196\021\134\000\000CXR\140\007\198\021\134\000\000\000\000\000\000\000\000\000\000\000\000\b\156B\024\007\216\031\208\b\\\000\000\b\174B\024\007\228\b\172<\146\000\000\000\000\000\000<\146\000/\000\000\002\020B\024<x\000\000X\016\028\142\007\234\000\000\000\000B\024\007\240\000\000\028\142\007\242\000\000\007\250_\212\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\150\000\000\000\000T\150\000\000\000\000T\150\000\000_\212\000\000\000\000\023\218\000/\000\000\023(\007\252\000\000B\024\007\252\000\000\000\000\000/\000\000\000\000\000\000\000\000\000\000\000\000B\024\004\236B\024\b\006\000\000\000\000<x<x'V\002\004\b\208B\024\000\000\b\144\000\000\000\000\000/\000\000$\130\000\000\b><x\bL<x\000\000\0018\000\000\000\000\025\028B\024\026\140B\024gXB\024h,B\024h\202B\024h\210B\024i\030B\024iTB\024\000\000B\024i\196B\024i\242B\024i\250B\024\000\000B\024jFB\024j\134\000\000\005\n=`\000\000\005\020@\020<x\000\000\0056>\022\000\000\000\000\000\000\b \000\000\000\000\b\"\000\000\t\026\000\000\000/\000\000\002\020\t \000\000\000`\b\246\000/\b@\t\020Z\246\bP\001\190\000\000B\024\t>\000\000\000\000\000\000\t.Z\246\bd\tR\000\000\004Z\002*B\024\tX\000\000\t^\000\000\023X\000/\003^B\024\t`\000\000\tb\000\000\000/\003xB\024\td\000\000\tf\000\000\000\150\b\166\b\230\000\000X\186\028\142\b~\000\000\000\000B\024\000\000\tp\000\000\002\246\tFB\024\t\014\000\000\tTB\024\t\022\000\000\000\200\000\000\b\230\b\230\028\142\b\158\000\000\b\160`T`T\000\000\000\000\000\000\000\000\000\000\000\000T\150\000\000\000\000T\150\000\000\000\000T\150\000\000`T\000\000\000\000(\210\000/\000\000\023(\b\166\000\000B\024\b\164\000\000\000\000\000/\000\000\000\000\000\000\000\000\000\000A\208B\024\000\000B\024\000\000\b\172\000\000\002\194\000\000\000\000\000\000\000\000\000\000DXB\024D\188B\024\b\214B\024\000\000B\024E\196B\024F(B\024G0B\024G\148B\024H\156B\024I\000B\024\000\000B\024J\bB\024JlB\024KtB\024\000\000B\024K\216B\024L\224\000\000\002\246\000\000\002\246\000\000\019J\b\230\b\230\000\000\000\000\000\000\000\003\000\000\000\000\000\000\tzB\024\b\176\031\208 \174\000/\t\158\000\000\t\128M(\t\164M(\t\170B\024\b\194\031\208\031\208\002\142\002\142\005x\001\206\002\142\000\000\000\000\005~\t\248\000\000\005\132\0114\000\000\000\000\000\000\000\000\000\000\b\198\000\000\000\000\t\188\000\000\t\190\000\000\000\000\t\252\t\166B\024\b\220\t\202\000\000\t\016\000\000\t\180\023(\b\234\031\208\000\000\000\000\000\182\000\000\007j\000\000\000\000\002\246\000\000\tn\000\000\014\214\005\166\000\000\014\214\000\000\000\000$\130\000\000\0076\000\000\000\000\011\222\000\000\014\214\000\000\t\192\023(\b\250\t\232\000\000\r,\000\000\t\216\000/\t\"\t\254Z\246\t4\001\192\000\000B\024\n$\000\000\n\006Z\246\t>\n,\000\000\003\180B\024\n.\000\000\n4\000\000\023X\000/\004:B\024\n8\000\000\n@\000\000\000\000\000\000\011\222\000\000\000\000\0076\000\000\b\230\000\000\r\180\000\000\000\000\004\208 \174\000\000\004\208\000\000\000\000\t\\\000\000\002\200\001z\031\208\000\000\005\238\000M\005\238\000\000\000\182\000\000\b\230\000\000\b\230\000\000\000\000\000\000\tZ\000\000\000\000\tf\000\000\005\132\007j\000M\005\238\000\000\000\000\000\000\000\182\000\000\b\230\000\000\005\132\000\000\000\000\r,\000\182\019J\000\000\000\182\000\000\nb\019J\000\000\000\000\nb\000\000\000\000\td\000\000\000\000\tv\000\000\005\204\b\230\000\000\005\204\000\000\000\000\t\244\000\000\0076\000\000\b\230\000\000\000\000\000\000\020\186M\244\000\000\nd\000\000\020\186\000\000\nf\000\000\nh\000\000<\146\000/\004P\000\000B\024\nj\000\000\001\198\n:\000/\t\132\nRZ\246\t\140\004\244\000\000B\024\nz\000\000\0054\000\000B\024\n|\000\000\023X\000/\006\"\000\000B\024\n~\000\000\005\208\020\186\000\000$\130\006V\000\000B\024\n\132\000\000\000\000\000\000\002\204\000\000\nn\023(\t\166\n\150\000\000\014\168\000\000\nh\000/\t\176\n\132Z\246\t\186\006x\000\000B\024\n\168\000\000\006\170\000\000B\024\n\176\000\000\023X\000/\006\176\000\000B\024\n\186\000\000\005\208\000\000\000\000\t\210\000\000\002\204\014\168\n\\\000\000\000\000\000\000\n^\000\000\000\202\000\200\000\000\019J\n\186\000\000\000\000B\024\n\014\b\230\000\000\t\226\000\000\000\150\000\000<\146\000\000\000\000\003,\019J\000\000\019J\000\000\t\208\000\000\003,\000\000B\024\003\224B\024\000\000B\024\000\000\t\210\000\000\003\224\000\000B\024\003\224\t\212\000\000\031\208\003\234\031\208\000\000\031\208\000\000\t\214\000\000\003\234\000\000B\024\003\224\t\216\000\000<\146\004H<\146\000\000<\146\000\000\t\218\000\000\004H\000\000B\024\003\224\t\220\000\000\000\000\029\254\000\000\000\000\nXN\186\000\000\000\000\000\000\000\000\000\000\n4\005\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005dN\186\000\000\000\017\001\236\000\000\n8\000\243\000\000\000\000\000\000\000\000\002\220\001\236\000\000\000\000\000\000\000\000\n\154\000\000\000\000\000\000\000\000\"\030%\254\000\000a\014\000\000N\186\000\000\006\nN\186\000\000\000\150\006\158\006\158\000\000\005\182\006\158\000\000\n\018\000\000\000\000\000\000\000\000\n\158\000\000'V\000\000(\210N\186\000\000\003dN\186\000\000\n\168\000\000N\186\n\176\000\000b~O\024\n\178\000\000\n\180\000\000b\222\\^N\186\000\000\000\000\n.N\186\n\184\000\000\n\188\000\000\n\190\000\000<\146\000\000\006N<\146\000\000\n8\021\134\000\000N\186\n\204\000\000\000\217N\186\000\000\006jN\186\000\000\006\004\011R\000\000\011T\000\000N\186N\186\nL\000\000\000\000\000\000\000\000\000\000\000\000\n\218\000\000c6N\186\n\220\000\000\n\222\000\000N\186\n\226\000\000N\186\n\136\000\243\000\000\000\000\007\000N\186\000\000\006\004\000\000\n\230\000\000N\186\n\234\000\000c\150\\\176N\186\ndN\186\n\240\000\000\n\244\000\000\n\250\000\000X\234\021\134\000\000\021\134\000\000O\024N\186\ntN\186\011\"\000\000\0114\000\000\021\134\000\000af\000\000\000\000\007\002N\186\000\000\004`\006\188\006\158\n\174\000\000\000\000\004\144\001\206\000\000\000\000\000\000\006\142\001\206\000\000\n\176\000\000\000\000\000\000\000\000\000\000\000\000\000\000N\186\000\000\007\006N\186\000\000\003\142\000\000\000\243\n\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011@\000\000\011F\000\000N\186\011H\000\000dNN\186\011L\000\000\011P\000\000N\186\011R\000\000\031\\\n\248d\174@\216a\198\n\214\000\000N\186\011`\000\000\011f\000\000\0116\031\\N\186\011j\000\000N\186\011n\000\000\011r\000\000N\186\011v\000\000\000\243\n\226\000\000\000\000\029\254\000\000\000\000\004\024\011\218\000\000\000\000\000\241\000\000\000\000\000\000B\024\000\000\000\000\000\000\004r\000\000\001*\000\000\000\000\000\000\005\238PrPrPr\000\000\003B\003B\003B\003B\000\000\000\000\000\000\000\000\000\000\000\000\002\246\019J\011\208\016R\004f\000\000\000\000\004f\000\000\011\222\000\000<x\n\244\000\000\002\246\019J\n\250\017\206\000\000\002\246\016R\000\000\000\000\000\000Pr\003B\000\000\000\000\000\000\011J\000`\011\206^\n^\n\000\000\006\150_\230^\n\006\178^:\000\000\000\000\b\196\011\192\000/\000\000\006\204^\248\000\000\000\000\000\000\000\000\000\000\011\012\011\210\b\230\011\014\000\000\000\000\004f\000\000\011\222\000\000=\142\003\208\000\000\000\000\011\194\000\000\000\000\004\024\000\000\002\158\000\000\000\000\000\000B\024\000\000\004r\000\000\004$\000\000\000\000\000\000\007j\000\000\rZ\0056\rZ\000\000\b\230\rZ\000\000\0056\000\000\b\230\000\000\b\230\000\000\b\230\000\000#\150\000\000\000\000\000\000\000\000\000\000\b\230\000\000\0056\000\000\b\230\000\000hP\000\000\000\000\nb\011F\000\243\004\020\011\238\004\190\000\000\004\190\012\022\000\000\012\024\000\000\012\028\000\000\000\000\004p\004\190\b\014\004\190\000\000\000\000\t\138\004\020\011\024\000\000\011\026\000\000\011`\000\243\004\020\011&\000\000\000\152\0126\000\000\006\136\005\012\012N\n\248\012N\000\000\000\000\006\146\000\243\000\000\000\231\000\000\000\000\002\018\000\000\0118\000\000\000\000\000\000\011v\000\243\004\020\011H\000\000\000\000\000\152\006\136\005\012\006\146\000\231\002\018\011J\000\000\006\136\005\012\006\146\000\231\002\018\011L\000\000\007T\000`\011l\000\243\011f\007\168\006N\011\144\000\243\000\000\011\146\000\243\000\000\011\240\000\000\011v\000\164\011p\007\168\011\246\000\000\011t\007\168\011\250\000\000\000\000\007\168\000\000\012\000\000\000"), (16, "\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\000\n\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\001:\r\169\031f\n5\r\197\016N\025\206\004\242\005=\031j\004\250\r\197\005\n\r\197\017\218\0007\000;\r\197\r\197\005\018\r\197\001\150\000\150\r\197\005\185\000\154\001>\006.\r\197\r\197\r\197\000N\t\214\0236\023^\023n\023\150\023\166\023\206\r\197\028o\028s\r\197\r\197\000\242\028w\005=\005\186\r\197\r\197\005\026\r\197\001B\r\197\027v\002f\000\n\001z\r\197\031\226\r\197\r\197\001F\r\197\r\197\r\197\001\146\001\150\001\150\r\197\r\197\r\197\001\154\r\197\r\197\r\197\001\158\001\162\012\169\r\197\r\197\r\197\r\197\r\197\r\197\005*\005Y\000\n\r\197\r\197\001>\n\178\019\006 \030\001\166\002j\001\206\001>\015z\r\197\r\197\r\197\000\n\000\n\r\197\r\197\r\197\r\197\006\181\r\197\000\n\r\197\001\150\005\185\r\197\011Z\001B\r\197\r\197\015\166\024r\b\197\016v\001B\015\170\018\246\001F\002\146\r\197\r\197\b5\024\234\r\197\001F\016N\b\197\r\197\r\197\r\197\r\197\012\169\006V\r\197\017\218\r\197\t\157\t\182\000\n\r\197\r\197\r\197\000\n\r\197\005\185\r\197\r\197\016z\r\197\000\n\r\197\r\197\007}\000\246\r\197\r\197\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\001>\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\rA\b\197\000\n\005Y\r\209\001R\tM\004\201\0312\005Y\005Y\r\209\006\181\r\209\004\201\001B\001~\r\209\r\209\014.\r\209\005Y\005Y\r\209\016\030\001F\t\190\021:\r\209\r\209\r\209\019\006\006\181\007}\021>\022\230\006\181\006b\021B\r\209\006\189\t\141\r\209\r\209\007E\001^\001\134\005Y\r\209\r\209\000\n\r\209\005\185\r\209\b\197\002f\001\238\011N\r\209\022\206\r\209\r\209\002f\r\209\r\209\r\209\b\197\015\150\019\138\r\209\r\209\r\209\022\186\r\209\r\209\r\209\014V\024v\011R\r\209\r\209\r\209\r\209\r\209\r\209\024z\001>\021\142\r\209\r\209\001>\006\221\006~\002\002\006\205\006\238\018f\001>\014n\r\209\r\209\r\209\011v\000\n\r\209\r\209\r\209\r\209\015\166\r\209\rQ\r\209\001B\015\170\r\209\002.\001B\r\209\r\209\028\151\028\155\rQ\001F\001B\028\159\000&\001F\0022\020>\r\209\b\254\024\134\r\209\001F\007\r\012v\r\209\r\209\r\209\r\209\005\021\024\138\r\209\027\"\r\209\000*\002^\000\n\r\209\r\209\r\209\000\n\r\209\007E\r\209\r\209\001\150\r\209\000\n\r\209\r\209\015\154\019\142\r\209\r\209\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\001\142\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\002z\000\n\018Z\t1\007M\016R\016b\016r\031r\005\021\018\246\007M\022\026\007M\rb\001>\005\021\007M\007M\r\n\007M\001r\001B\007M\r\014\015\202\004\209\003\230\007M\028\186\007M\r\018\001F\004\209\015b\004\194\r\022\028\190\004\194\007M\004\194\001B\001>\006v\004\150\015b\006M\005F\007M\007M\005N\001F\005^\007M\007M\004\178\023\022\000\n\007M\005f\007M\007M\002f\007M\007M\007M\004\186\004\218\001B\007M\007M\007M\r\177\007M\007M\007M\000\n\018^\001F\007M\007M\007M\007M\007M\007M\rQ\001>\015z\007M\007M\005n\025\230\025\238\000\006\000\"\027\006\001v\001>\rQ\004\241\007M\007M\012\226\000\n\007M\007M\007M\007M\015\166\007M\005\030\007M\001B\015\170\007M\030\003\030\007\007M\007M\005\"\030\011\t=\001F\001B\007\021\005~\023\030\007\021\rQ\007\021\024\150\027r\007M\001F\r\177\029\227\007M\007M\007M\007M\rq\003\229\007M\029\231\007M\003\229\023>\000\n\007M\007M\007M\023v\005\133\029\234\007M\007M\007\005\007M\000\n\007M\007M\nQ\007m\007M\007M\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\015\234\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\000.\006\245\016\006\007m\007m\rQ\007m\005r\023\174\015b\027\006\007m\0256\007m\028^\007m\021z\007m\007m\rq\007m\006\181\015b\007m\007m\007m\023F\018\246\007m\007m\007m\023~\019\178\nQ\007m\007m\016N\005e\007m\007m\002\146\001>\007m\005v\030\238\017\218\027\026\001r\007m\007m\007m\007m\015b\007m\006\213\006\213\007m\011\022\007m\028^\007m\007m\000\n\007m\007m\007m\030\198\001B\027\030\007m\007m\007m\005\194\007m\007m\007m\nI\001F\023\182\007m\007m\007m\007m\007m\007m\001\190\031B\030\202\030\190\007m\005\214\006\237\t9\005\254\030\206\006\002\006\253\007m\021\170\019\210\007m\007m\000\n\007m\007m\007m\007m\007m\020\026\007m\021~\007m\007m\004\145\007m\006\181\027\"\007m\007m\015b\030#\030'\001v\019\006\000\n\030+\001\202\001\218\006\022\007m\021\190\018\246\007m\tI\002m\006\181\007m\007m\nI\007m\016N\006\194\007m\006\229\007m\002\157\007-\002q\007m\017\218\030\254\0062\007\174\014\141\014\141\007m\t\017\007m\014\141\007m\007m\030\246\030\214\007m\007m\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\023\246\001&\028\166\001.\r\018\0016\002\014\002\022\002\026\r\022\028\170\0146\023\250\021\174\007]\r\026\030\222\016N\007=\020\142\007]\007]\r*\023\254\002\"\024\002\017\218\r\153\002\150\r2\006:\016&\007]\024\006\016*\014B\bv\025\230\025\238\002*\t\001\016>\024\018\b\134\015\026\021\194\024\022\002M\019\006\015&\002\166\tU\024\026\028\222\006>\021\014\te\021\238\007]\017\238\016\130\029\n\029\022\014\141\017\242\020J\0156\031\246\024\030\002\202\021\218\002\206\005\149\002}\002>\018\254\017\250\025\246\nu\nu\016\154\002\214\017\254\nu\016\158\014N\002\222 \002\006z\024f\016\162\016\166\rF\rJ\016\170\018\002\021\254\004\145\024\"\018b\018\006\024&\018v\t-\019\006\018\130\t\029\nY\007\029\002]\r\161\r\182\016\174\022V\024*\018\n\018\014\016\178\018\018\024.\000\n\0242\018&\0246\024:\005q\024>\024\n\0182\016\186\024\250\006\130\006\146\024B\014\141\014\141\024F\ra\022j\014\141\029*\022\134\024\n\018R\007%\006\154\0075\018V\018\162\005\149\rN\024J\024\238\016\190\006\158\018\166\024N\024R\r\137\016\198\005\149\005\149\006\166\006\214\021\222\005\149\018\174\027\n\016\202\nY\007u\007u\024\222\006\218\003\026\007u\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\022\002\001&\028\166\001.\r\018\0016\002\014\002\022\002\026\r\022\028\170\006\226\006\246\007\n\004\145\r\026\025\170\022Z\018\246\007e\004\145\004\145\r*\rI\002\"\007e\007e\016N\002\150\r2\025\218\016&\004\145\030\190\016*\t\234\017\218\031Z\t\242\002*\n\002\016>\022n\r\145\ry\022\138\r\129\n\n\0272\031\222\002\166\007\"\029n\016N\007B\rY\t\129\007J\004\145\017\238\016\130\029\n\017\218\007e\017\242\020\146\029z\031\242\b\002\002\202\tq\002\206\005\165\014\141\002>\018\254\017\250\b\158\n\018\029\154\016\154\002\214\017\254\002\141\016\158\014N\002\222\b\170\b\202\b\230\016\162\016\166\rF\rJ\016\170\018\002\b\246\t\006\t\014\019\002\018\006\t&\004\141\t.\t>\026^\026\250\tJ\027f\000\n\tV\r\182\016\174\n\"\019\006\018\n\018\014\016\178\018\018\tf\000\n\tr\018&\t~\t\142\005q\t\158 G\0182\016\186\n>\t\166\t\203\nF\n\022\nV\n\026\nj\004\141\nn\019\006\n\186\n^\018R\014\141\014\141\n\206\018V\018\162\014\141\rN\n\246\n\250\016\190\011\014\018\166\011:\011n\011~\016\198\011\174\005\165\011\146\011\182\011\218\011\198\018\174\011\222\016\202\012.\007\133\007\133\011\206\nf\003\026\007\133\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\0122\001&\028\166\001.\r\018\0016\002\014\002\022\002\026\r\022\028\170\012~\012\146\011\214\012\186\r\026\012\190\012\210\nv\004\141\012\234\012\254\r*\r\030\002\"\004\141\004\141\r&\002\150\r2\r.\016&\r6\r>\016*\rB\rz\004\141\r\138\002*\r\150\016>\001>\029\138\r\158\r\254\012\002\014\n\011\230\012\n\002\166\012\026\014>\016N\004\141\014Z\014f\014\130\012\"\016~\016\130\014\138\017\218\004\141\017\242\030\246\015J\015V\001B\002\202\015^\002\206\005\193\015r\002>\017\246\017\250\015~\001F\015\134\016\154\002\214\017\254\015\138\016\158\014N\002\222\015\146\015\162\012*\016\162\016\166\rF\rJ\016\170\018\002\015\178\015\186\015\190\014\149\018\006\015\210\004\149\000\n\015\218\015\242\015\250\016\014\016\022\016\"\0166\r\182\016\174\016J\016V\018\n\018\014\016\178\018\018\016^\000\n\016f\018&\016n\012:\005q\016\138\016\146\0182\016\186\016\242\016\254\0176\017f\018\022\018\030\018.\0186\030\238\018>\019\006\003\229\018F\018R\018N\003\229\018\158\018V\018\162\005\193\rN\018\170\018\178\016\190\018\190\018\166\018\194\018\202\018\206\016\198\005\193\005\193\018\214\018\222\018\230\005\193\018\174\019\018\016\202\019V\n}\n}\019^\019b\003\026\n}\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\019r\001&\019z\001.\r\018\0016\002\014\002\022\002\026\r\022\019~\019\134\018Z\019\150\019\158\r\026\019\166\019\170\019\186\004\149\005Y\019\194\r*\019\218\002\"\004\149\004\149\019\226\002\150\r2\0202\016&\001B\020z\016*\020\134\020\250\004\149\030\178\002*\b\205\016>\001F\021\006\021&\021R\021b\021j\021\134\021\146\002\166\021\154\021\158\016N\b\205\021\166\021\182\021\202\021\230\016~\016\130\022\n\017\218\004\149\017\242\030\246\022\"\000\n\022*\002\202\022.\002\206\022>\022F\002>\017\246\017\250\022J\022R\022b\016\154\002\214\017\254\022v\016\158\014N\002\222\018^\022\146\022\166\016\162\016\166\rF\rJ\016\170\018\002\022\182\022\198\022\222\022\238\018\006\022\250\023+\023S\023k\023\139\023\163\023\195\023\219\t!\b\205\r\182\016\174\031\026\023\242\018\n\018\014\016\178\018\018\024\014\000\n\024~\018&\031.\024\175\025\006\025\027\005Y\0182\016\186\031\134\025C\0312\005Y\005Y\025O\025_\025g\025\130\025\139\019\006\025\147\025\155\018R\025\182\005Y\005Y\018V\018\162\025\199\rN\025\234\025\242\016\190\026\002\018\166\026\031\026/\0267\016\198\026C\026N\026s\b\205\026\127\026\146\018\174\026\155\016\202\026\163\018Z\005Y\026\171\026\206\003\026\b\205\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\001B\001&\026\215\001.\r\018\0016\002\014\002\022\002\026\r\022\001F\026\223\r9\027\018\027>\r\026\027~\027\159\r9\r9\027\167\027\179\r*\027\195\002\"\027\203\027\215\027\226\002\150\r2\r9\016&\027\242\027\255\016*\000\n\028\007\028\014\028\027\002*\028'\016>\028/\031J\028;\028G\028b\028\234\029\018\029\"\002\166\029V\029^\016N\029\142\018^\r9\029\182\029\186\016~\016\130\029\194\017\218\029\239\017\242\030\182\030\194\030\210\030\218\002\202\030\226\002\206\031\015\031\023\002>\017\246\017\250\002a\031\030\031+\016\154\002\214\017\254\0316\016\158\014N\002\222\031F\031{\031\138\016\162\016\166\rF\rJ\016\170\018\002\031\151\031\187\031\215\014\149\018\006\031\230\031\238\031\250 \006 \019 \026 \" + 2 ;\r\182\016\174 O\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019\006\000\000\000\000\018R\000\000\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\014\149\014\149\000\000\000\000\003\026\014\149\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\028\166\001.\r\018\0016\002\014\002\022\002\026\r\022\028\170\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\019j\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016&\000\000\000\000\016*\000\000\001>\019n\000\000\002*\000\000\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\218\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\166\017\238\016\130\000\000\001B\015\170\017\242\030:\000\000\000\000\000\000\002\202\000\000\002\206\001F\000\000\002>\018\254\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\019j\016\162\016\166\rF\rJ\016\170\018\002\000\000\000\n\000\000\000\000\018\006\000\000\000\000\000\000\001>\019n\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\005q\015\166\000\000\0182\016\186\001B\015\170\000\000\000\000\000\000\000\000\000\000\000\000\007\005\000\000\001F\000\000\000\000\018R\020\014\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\n\018\174\000\000\016\202\000\000\na\na\000\000\000\000\003\026\na\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\0226\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016&\000\000\000\000\016*\000\000\001>\022:\000\000\002*\000\000\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\218\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\166\017\238\016\130\000\000\001B\015\170\017\242\019\026\000\000\000\000\000\000\002\202\000\000\002\206\001F\000\000\002>\018\254\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\rF\rJ\016\170\018\002\000\000\000\n\000\000\014q\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\005\000\000\000\000\000\000\000\000\018R\000\000\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\014q\014q\000\000\000\000\003\026\014q\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016&\000\000\000\000\016*\000\000\000\000\000\000\000\000\002*\000\000\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\238\016\130\000\000\000\000\000\000\017\242\028\238\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\018\254\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\rF\rJ\016\170\018\002\000\000\000\000\000\000\000\000\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018R\000\000\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\014\189\014\189\000\000\000\000\003\026\014\189\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016&\000\000\000\000\016*\000\000\000\000\000\000\000\000\002*\000\000\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\238\016\130\000\000\000\000\000\000\017\242\028\238\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\018\254\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\rF\rJ\016\170\018\002\000\000\000\000\000\000\000\000\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018R\000\000\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\014\185\014\185\000\000\000\000\003\026\014\185\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016&\000\000\000\000\016*\000\000\000\000\000\000\000\000\002*\000\000\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\238\016\130\000\000\000\000\000\000\017\242\020\198\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\018\254\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\rF\rJ\016\170\018\002\000\000\000\000\000\000\000\000\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018R\000\000\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\000R\000V\000f\000\170\003\026\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\002\150\000\000\006\173\016&\000\000\000\000\016*\006\173\000\000\000v\000\000\002*\006\173\021F\006\173\000\000\000\000\000\000\000\000\006\173\006\173\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021V\016\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\006\173\000\000\016\154\002\214\006\173\000\000\016\158\001\150\002\222\000\000\000\000\000\000\016\162\016\166\rF\021Z\016\170\000\000\000\000\006\173\006\173\000\000\000\000\t\246\006\173\000\000\000\000\000\000\000\000\000Z\000\000\nJ\006\173\r\182\016\174\006\173\006\173\000\000\000\000\016\178\006\173\006\173\000\n\006\173\006\173\006\173\006\173\006\173\000\000\006\173\000\000\016\186\006\173\006\173\000\000\006\173\000\000\006\173\000\000\006\173\000\000\000\000\000\000\006\173\000\000\006\173\006\173\000\000\006\173\000\000\006\173\006\173\rN\006\173\006\173\016\190\006\173\021^\006\173\006\173\006\173\016\198\006\173\006\173\006\173\006\173\006\173\006\173\021f\006\173\016\202\000\000\006\173\000Z\000\000\006\173\003\026\000\000\006\173\000\000\006\173\000Z\006\173\006\173\n\198\000\000\006\173\0112\006\173\000Z\000\000\006\173\000Z\000\000\006\173\006\173\000\000\006\173\006\173\006\173\000\000\006\173\006\173\000\000\006\173\006\173\000\000\006\173\006\173\006\173\006\173\006\173\000\000\006\173\000\000\006\173\000\000\000\000\006\173\000\000\000\000\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\000\000\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\000\000\000\000\000\000\006\173\000\000\006\173\006\173\000\000\000\000\006\173\006\173\006\173\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\000\000\006\173\000\000\000\000\006\173\000\000\006\173\006\173\000\000\006\173\006\173\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\000\000\000\000\000\000\006\173\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\004\230\004\238\000\170\000\000\000\174\000\000\0052\005:\005B\005\134\000\000\005\142\005\150\002\"\005\166\000\000\005\174\002\150\005\182\005\226\002\174\005\234\000\000\002\178\000\000\000\000\000\000\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\242\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\003>\007:\000\000\002\194\005\250\000\000\007\162\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\000\000\000\000\007N\002\214\000\000\000\000\007R\001\150\002\222\000\000\000\000\007\166\007V\007Z\000\000\000\000\007^\002\238\000\000\000\000\006\n\000\000\016\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\000\000\000\000\000\000\007f\000\000\000\000\000\n\000\000\000\000\000\000\016\025\016\025\000\000\000\000\000\000\007n\000\000\000\000\r\238\000\000\000\000\000\000\000\000\000\000\000\000\016\025\007\170\000\000\ri\ri\000\n\016\025\016\025\000\000\000\000\r\246\000\000\000\000\014\002\007r\000\000\016\025\000\000\000\000\016\025\007z\016\025\000\000\004\233\000\000\000\000\000\000\000\000\000\000\007~\000\000\000R\000V\000f\000\170\003\026\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\016\025\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\014\000\000\002\"\000\000\000\000\000\000\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\000\000\000\000\000\000\002*\000\000\000\000\016\025\000\000\000\000\000\000\000\000\014\018\000\000\016\025\002\166\000\000\000\000\002\170\000\000\ri\000\000\000\000\014\026\003>\007:\000\000\002\194\016\025\000\000\007\162\ri\000\000\000\000\002\202\016\025\002\206\ri\ri\002>\000\000\000\000\014\162\016\025\016\025\007N\002\214\000\000\000\000\007R\001\150\002\222\000\000\000\000\007\166\007V\007Z\000\000\000\000\007^\002\238\000\000\000\022\000\000\000\000\007\242\014\170\014\178\007\250\ri\000\000\000\000\000\000\000\000\ri\ri\000\000\007b\000\000\000\000\000\000\014\186\007f\000\000\000\000\000\n\000\000\014\194\014\202\b\n\b\018\000\000\000\000\000\000\007n\000\000\000\000\014\210\000\000\000\000\014\218\000\000\014\226\000\000\b\026\007\170\000\000\000\000\0025\000\000\b\"\b*\000\000\000\000\000\000\000\000\000\000\000\000\007r\000\000\b2\000\000\000\000\b:\007z\bB\000\000\t\005\014\234\000\000\000\000\000\000\000\000\007~\000\000\000R\000V\000f\000\170\003\026\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\bJ\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\242\000\000\000\000\000\000\000\000\002\"\000\000\014\250\000\000\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\000\000\000\000\000\000\002*\0065\000\000\bR\000\000\000\000\0025\000\000\0065\000\000\bZ\002\166\000\000\000\000\002\170\000\000\015\002\015\n\000\000\000\000\003>\007:\000\000\002\194\0025\000\000\007\162\000\000\0025\0025\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\189\bb\bj\007N\002\214\000\000\000\000\007R\001\150\002\222\000\000\000\000\007\166\007V\007Z\000\000\000\000\007^\002\238\000\000\000\000\000\000\000\000\000\249\003\142\003\182\000\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\000\000\000\000\003\150\007f\000\000\000\000\000\n\000\000\000\189\000\189\003\142\003\182\000\000\000\000\000\000\007n\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\000\000\003\150\007\170\000\000\000\000\000\249\000\000\000\249\000\249\000\000\000\000\000\000\000\000\000\000\000\000\007r\000\000\003\190\000\000\000\000\003\158\007z\003\174\000\000\002Q\003\198\000\000\000\000\000\000\000\000\007~\000\000\000R\000V\000f\000\170\003\026\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\003\198\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\000\000\000\002\"\000\000\003\166\000\000\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\000\000\000\000\000\000\002*\000\189\000\000\003\206\000\000\000\000\000\249\000\000\000\189\000\000\003\166\002\166\000\000\000\000\002\170\000\000\000\189\003\214\000\000\000\000\003>\007:\000\000\002\194\000\249\000\000\007\178\000\000\000\249\000\249\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\000\249\003\214\007N\002\214\000\000\000\000\007R\001\150\002\222\000\000\000\000\007\166\007V\007Z\000\000\000\000\007^\002\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\000\000\000\000\000\000\007f\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\007n\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\007r\000\000\000\000\000\000\000\000\000\000\007z\000\000\000\000\t\021\002\"\000\000\000\000\000\000\002\150\007~\000\000\002\154\000\000\000\000\002\158\003\026\000\000\000\000\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\002\190\002\186\000\000\002\194\000\000\000\000\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\000\000\001\225\000\000\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\225\001\225\000\000\002\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\001\225\000\000\000\000\000\000\001\225\000\000\001\225\001\225\000\000\000\000\000\000\000\000\003\006\000\000\000\000\000\000\001\225\000\000\003\018\001\225\000\000\001\225\000\000\000\000\000\000\000\000\000\000\003\"\000\000\001\133\001\133\001\133\001\133\003\026\001\133\000\000\001\133\001\133\001\133\001\133\000\000\001\133\001\133\000\000\001\133\000\000\001\133\001\225\001\133\001\133\001\133\001\133\000\000\000\000\000\000\000\000\023\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\001\133\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\001\133\000\000\001\225\007\186\001\133\001\225\000\000\023\234\000\000\001\225\001\133\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\225\000\000\000\000\000\225\001\133\001\225\000\000\000\000\000\000\001\225\001\225\000\000\000\000\001\133\001\133\000\000\007\194\000\000\000\000\000\000\001\225\001\225\000\000\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\001\133\003\150\000\000\001\133\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\225\000\000\000\000\003\158\001\133\003\174\001\133\000\000\000\000\001\133\000\000\023\238\000\000\000\000\000\000\000\000\001\133\000\000\001\133\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\000\000\000\001\133\001\133\000\000\000\000\000\000\001\133\001\133\000\000\000\000\000\000\000R\t\222\t\230\000\170\000\000\000\174\024\178\n*\n2\n:\n~\000\000\n\134\n\142\023\246\n\158\000\000\n\166\000\000\n\174\n\218\002\022\n\226\000\000\000\000\000\225\023\250\000\000\000\225\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\023\254\n\234\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\225\024\006\000\000\000\000\000\225\000\225\000\000\027\222\000\000\000\000\024\018\000\000\000\000\000\000\024\022\000\225\000\225\000\000\000\000\000\000\024\026\000\000\000\000\000\000\000\000\000\000\000\000\011\002\000\000\000\000\000\000\000\000\025\158\000\000\000\000\000\000\024\030\026\234\000\000\000\000\000\000\r\026\011.\000\000\000\000\000\000\000\000\000\000\r*\000\000\000\000\000\000\000\000\000\000\002\150\r2\000\000\016&\000\000\000\000\016*\000\000\000\000\011F\000\000\000\000\024\"\016>\000\000\024&\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\024*\000\000\000\000\018\"\016\130\024.\000\n\0242\017\242\0246\024:\000\000\024>\002\202\000\000\002\206\000\000\000\000\000\000\024B\017\250\000\000\024F\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\000\000\024J\016\170\018\002\000\000\000\000\024N\024R\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\r\026\000\000\0182\016\186\000\000\000\000\000\000\r*\000\000\000\000\000\000\000\000\000\000\002\150\r2\000\000\016&\018R\000\000\016*\000\000\018V\018\162\000\000\000\000\000\000\016>\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\002\166\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\016\150\016\130\000\000\000\000\003\026\017\242\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\000\000\000\000\016\170\018\002\000\000\000\000\000\000\000\000\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018R\000\000\000\000\000\000\018V\018\162\000\000\000\000\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\012)\012)\012)\012)\003\026\012)\000\000\012)\012)\012)\012)\000\000\012)\012)\000\000\012)\000\000\012)\000\000\012)\012)\012)\012)\000\000\000\000\016m\000\000\000\000\016m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012)\012)\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012)\000\000\016m\016m\000\000\000\000\012)\016m\000\000\024\194\0032\016m\000\000\024\202\000\000\000\000\000\000\016m\000\000\012)\016m\016m\000\000\016m\016m\000\000\012)\003:\000\000\016m\003N\012)\000\000\016m\000\000\000\000\016m\000\000\016m\016m\012)\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012)\000\000\016m\012)\016m\000\000\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016m\000\000\000\000\000\000\012)\000\000\000\000\004\154\000\000\012)\000\000\012)\000\000\000\000\012)\000\000\000\000\000\000\000\000\000\000\000\000\012)\000\000\012)\000\000\000\000\012)\016m\016m\000\000\016m\016m\004\158\000\000\016m\000\000\000\000\000\000\000\000\000\000\000\000\012)\012)\004\166\000\000\000\000\025\030\012)\016m\000\000\000\000\016m\016m\016m\016m\016m\000\000\000\000\000\000\016m\016m\016m\000\000\016m\016m\016m\015\253\000\000\000\000\015\253\r\n\000\000\000\000\000\000\000\000\r\014\000\000\000\000\000\000\000\000\028\186\000\000\r\018\000\000\000\000\000\000\000\000\r\022\028\190\000\000\015\253\015\253\000\000\000\000\000\000\015\253\000\000\000\000\0032\015\253\000\000\000\000\000\000\000\000\000\000\015\253\000\000\000\000\015\253\015\253\000\000\015\253\015\253\000\000\000\000\003:\000\000\015\253\003N\000\000\000\000\015\253\019j\000\000\015\253\000\000\015\253\015\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001>\019n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\253\000\000\015\253\000\000\000\000\000\000\000\000\015\166\000\000\000\000\000\000\001B\015\170\015\253\000\000\000\000\000\000\000\000\000\000\000\000\004\154\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\253\015\253\000\000\015\253\015\253\004\158\000\n\015\253\000\000\000\000\000\000\005\133\000\000\000\000\000\000\005\233\004\166\000\000\005\233\000\000\000\000\015\253\000\000\000\000\015\253\015\253\015\253\015\253\015\253\000\000\000\000\000\000\015\253\015\253\015\253\000\000\015\253\015\253\015\253\005\233\005\233\000\000\000\000\000\000\005\233\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\005\233\000\000\005\233\005\233\000\000\001>\005\233\000\000\005\233\005\233\000\000\000\000\005\233\000\000\000\000\005\233\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\005\233\000\000\005\233\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\005\233\000\000\005\233\b1\005\233\003\150\005\233\000\000\000\000\000\221\000\000\000\221\000\221\000\000\000\000\005\233\000\000\000\000\000\000\000\000\005\233\000\221\000\000\005\233\003\158\005\233\003\174\005\233\000\000\000\000\000\000\005\233\005\233\005\233\000\000\005\233\005\233\005\233\012\025\012\025\012\025\012\025\000\000\012\025\000\000\012\025\012\025\012\025\012\025\000\000\012\025\012\025\000\221\012\025\000\000\012\025\000\000\012\025\012\025\012\025\012\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\025\012\025\012\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\025\000\000\000\000\000\000\000\000\000\000\012\025\000\221\000\000\000\000\000\221\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\012\025\000\000\000\000\000\000\000\000\000\000\000\000\012\025\000\000\000\221\000\000\000\000\012\025\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\012\025\012\025\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\025\000\000\000\000\012\025\000\000\000\000\012\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\025\000\000\000\000\000\000\000\000\012\025\000\000\012\025\000\000\000\000\012\025\000\000\000\000\000\000\000\000\000\000\000\000\012\025\000\000\012\025\000\000\000\000\012\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\025\012\025\000\000\000\000\000\000\024\198\012\025\012\029\012\029\012\029\012\029\000\000\012\029\000\000\012\029\012\029\012\029\012\029\000\000\012\029\012\029\000\000\012\029\000\000\012\029\000\000\012\029\012\029\012\029\012\029\000\000\000\000\005\237\000\000\000\000\005\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\029\012\029\012\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\029\000\000\005\237\005\237\000\000\000\000\012\029\005\237\000\000\025\"\005\237\005\237\000\000\000\000\000\000\000\000\000\000\005\237\000\000\012\029\005\237\005\237\000\000\005\237\005\237\000\000\012\029\005\237\000\000\005\237\005\237\012\029\000\000\005\237\000\000\000\000\005\237\000\000\005\237\005\237\012\029\012\029\011\162\011\170\000\170\000\000\000\174\000\000\011\238\011\246\011\254\012B\000\000\012J\012R\000\000\012b\000\000\012j\000\000\012r\012\158\012\029\012\166\005\237\012\029\005\237\000\000\012\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\237\000\000\012\174\000\000\012\029\000\000\000\000\005\237\000\000\012\029\000\000\012\029\000\000\000\000\012\029\000\000\000\000\012\182\000\000\000\000\000\000\012\029\000\000\012\029\000\000\000\000\012\029\005\237\005\237\000\000\005\237\b9\005\237\000\000\005\237\000\000\000\000\000\000\000\000\000\000\000\000\012\029\012\029\005\237\000\000\000\000\000\000\012\029\005\237\000\000\000\000\005\237\012\198\005\237\000\000\005\237\000\000\000\000\000\000\005\237\005\237\005\237\000\000\005\237\005\237\005\237\000R\t\222\t\230\000\170\000\000\000\174\000\000\n*\n2\n:\n~\000\000\n\134\n\142\000\000\n\158\000\000\n\166\000\000\n\174\n\218\002\022\n\226\000\000\000\000\016Q\000\000\000\000\016Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025*\n\234\025F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025R\000\000\016Q\016Q\000\000\000\000\n\242\016Q\000\000\000\000\016\226\016Q\000\000\000\000\000\000\000\000\000\000\016Q\000\000\025j\016Q\016Q\000\000\016Q\016Q\000\000\011\002\016\234\000\000\016Q\016\246\025\158\000\000\016Q\000\000\000\000\016Q\000\000\016Q\016Q\025\190\011.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011F\000\000\016Q\025\202\016Q\000\000\026\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016Q\000\000\000\000\000\000\026:\000\000\000\000\017\002\000\000\026F\000\000\n1\000\000\000\000\026v\000\000\000\000\000\000\000\000\000\000\000\000\026\130\000\000\026\174\000\000\000\000\027\170\016Q\016Q\000\000\016Q\000\000\017\006\001\209\016Q\000\000\001\209\000\000\000\000\000\000\000\000\027\182\027\206\017\014\000\000\001\209\000\000\027\218\001\209\000\000\000\000\016Q\000\000\016Q\000\000\000\000\000\000\001\209\001\209\016Q\016Q\016Q\001\209\016Q\016Q\016Q\001\209\000\000\000\000\001\209\001\209\000\000\001\209\000\000\001\209\001\209\001\209\000\000\001\209\001\209\000\000\000\000\000\000\000\000\001\209\000\000\000\000\001\209\001\209\000\000\001\209\001\209\000\000\001\209\001\209\000\000\001\209\000\000\000\000\000\000\001\209\000\000\000\000\001\209\000\000\001\209\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\001\209\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\003V\000\000\001\209\001\209\000\000\000\000\001\209\000\000\000\000\000\000\000\000\001\209\003^\000\000\001\209\001\209\000\000\000\000\001\209\000\000\001\209\000\000\000\000\001\209\001\209\001\209\001\209\001Y\000\000\000\000\001Y\004\138\001\209\001\209\000\000\001\209\001\209\001\209\001\209\000\000\000\000\000\000\000\000\004~\001\209\001\209\000\000\001\209\001\209\001\209\000\000\001Y\001Y\000\000\000\000\000\000\001Y\000\000\000\000\000\000\001Y\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001Y\001Y\000\000\001Y\001Y\000\000\000\000\000\000\001M\001Y\000\000\001M\000\000\001Y\000\000\000\000\003\158\000\000\003\174\001Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\001M\000\000\000\000\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\001Y\000\000\001Y\001M\000\000\000\000\001M\001M\000\000\001M\001M\000\000\000\000\001Y\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\003\158\000\000\001M\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Y\000\000\000\000\001Y\001Y\000\000\000\000\003\166\000\000\000\000\001M\000\000\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Y\000\000\001M\001Y\001Y\001Y\001Y\001Y\000\000\000\000\000\000\000\000\001Y\001Y\000\000\001Y\001Y\001Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\000\000\001M\001M\000\000\001Q\003\166\000\000\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\000\000\001M\001M\001M\001M\001M\000\000\001Q\001Q\000\000\001M\001M\001Q\001M\001M\001M\001Q\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\001Q\001Q\000\000\000\000\000\000\001U\001Q\000\000\001U\000\000\001Q\000\000\000\000\003\158\000\000\001Q\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001U\001U\000\000\000\000\000\000\001U\000\000\000\000\000\000\001U\000\000\000\000\001Q\000\000\001Q\003\150\000\000\000\000\001U\001U\000\000\001U\001U\000\000\000\000\001Q\000\000\001U\000\000\000\000\000\000\001U\000\000\000\000\003\158\000\000\003\174\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\000\000\003\166\000\000\000\000\001U\000\000\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\001U\001Q\001Q\001Q\001Q\001Q\000\000\000\000\000\000\000\000\001Q\001Q\000\000\001Q\001Q\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001U\000\000\000\000\001U\001U\000\000\001e\003\166\000\000\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001U\000\000\000\000\001U\001U\001U\001U\001U\000\000\003\142\003\182\000\000\001U\001U\001e\001U\001U\001U\001e\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001e\001e\000\000\001e\001e\000\000\000\000\000\000\001]\001e\000\000\001]\000\000\001e\000\000\000\000\003\158\000\000\003\174\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\001]\000\000\000\000\000\000\001]\000\000\000\000\003\198\000\000\001e\003\150\000\000\000\000\001]\001]\000\000\001]\001]\000\000\000\000\001e\000\000\001]\000\000\000\000\000\000\001]\000\000\000\000\003\158\000\000\003\174\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001e\000\000\000\000\001e\001e\000\000\000\000\003\166\000\000\000\000\001]\000\000\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001e\000\000\001]\001e\001e\001e\001e\001e\000\000\000\000\000\000\000\000\001e\001e\000\000\001e\001e\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001]\000\000\000\000\001]\001]\000\000\001a\003\166\000\000\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001]\000\000\000\000\001]\001]\001]\001]\001]\000\000\003\142\003\182\000\000\001]\001]\001a\001]\001]\001]\001a\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001a\001a\000\000\001a\001a\000\000\000\000\000\000\001i\001a\000\000\001i\000\000\001a\000\000\000\000\003\158\000\000\003\174\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\001i\000\000\000\000\000\000\001i\000\000\000\000\003\198\000\000\001a\003\150\000\000\000\000\001i\001i\000\000\001i\001i\000\000\000\000\001a\000\000\001i\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001a\000\000\000\000\001a\001a\000\000\000\000\003\166\000\000\000\000\003\198\000\000\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001a\000\000\001i\001a\001a\001a\001a\001a\000\000\000\000\000\000\000\000\001a\001a\000\000\001a\001a\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001i\001i\000\000\001q\003\166\000\000\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001i\000\000\000\000\001i\001i\001i\001i\001i\000\000\003\142\003\182\000\000\001i\001i\001q\001i\001i\001i\001q\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001q\001q\000\000\001q\001q\000\000\000\000\000\000\004\030\001q\000\000\001m\000\000\003\190\000\000\000\000\003\158\000\000\003\174\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\001m\000\000\000\000\000\000\001m\000\000\000\000\003\198\000\000\001q\003\150\000\000\000\000\001m\001m\000\000\001m\001m\000\000\000\000\001q\000\000\001m\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001q\001q\000\000\000\000\003\166\000\000\000\000\003\198\000\000\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001q\000\000\001m\001q\001q\001q\001q\001q\000\000\000\000\000\000\000\000\001q\001q\000\000\001q\003\214\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001m\001m\000\000\004\030\003\166\000\000\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001m\000\000\000\000\001m\001m\001m\001m\001m\000\000\003\142\003\182\000\000\001m\001m\001u\001m\003\214\001m\001u\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001u\001u\000\000\001u\004&\000\000\000\000\000\000\003\130\001u\000\000\003\222\000\000\003\190\000\000\000\000\003\158\000\000\003\174\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\254\004\006\000\000\000\000\000\000\002-\000\000\000\000\000\000\002-\000\000\000\000\003\198\000\000\001u\004\014\000\000\000\000\002-\002-\000\000\004\022\0046\000\000\000\000\001u\000\000\002-\000\000\000\000\000\000\004>\000\000\000\000\004F\000\000\004N\002-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001u\001u\000\000\000\000\003\166\000\000\000\000\004V\000\000\002-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001u\000\000\002-\001u\001u\001u\001u\001u\000\000\000\000\000\000\000\000\001u\001u\000\000\001u\003\214\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004^\000\000\000\000\002-\002-\000\000\000\129\004f\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002-\000\000\000\000\002-\002-\002-\002-\000\000\000\000\003\142\003\182\000\000\002-\002-\000\129\004n\004v\002-\000\129\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\129\000\129\000\000\000\129\000\129\000\000\000\000\000\000\000i\000\129\000\000\000i\000\000\003\190\000\000\000\000\003\158\000\000\003\174\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000i\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\003\198\000\000\000\129\003\150\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000\129\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\003\158\000\000\003\174\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\129\000\129\000\000\000\000\003\166\000\000\000\000\000i\000\000\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000i\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\000\000\000\129\000\129\000\000\000\129\003\214\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000\000\000e\003\166\000\000\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000e\000e\000\000\000i\000i\000e\000i\000i\000i\000e\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000\000\000]\000e\000\000\000]\000\000\000e\000\000\000\000\003\158\000\000\003\174\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000]\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\000e\000\000\000e\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000e\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\003\158\000\000\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000\000\000\000\003\166\000\000\000\000\000]\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000]\000e\000e\000e\000e\000\000\000\000\000\000\000\000\000\000\000e\000e\000\000\000e\000e\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\004\030\003\166\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000]\000]\000\000\000\000\003\142\003\182\000\000\000]\000]\000\137\000]\000]\000]\000\137\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\137\000\137\000\000\000\137\004&\000\000\000\000\000\000\004\030\000\137\000\000\000}\000\000\003\190\000\000\000\000\003\158\000\000\003\174\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\000}\000\000\000\000\000\000\000}\000\000\000\000\003\198\000\000\000\137\003\150\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\137\000\000\000}\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\137\000\137\000\000\000\000\003\166\000\000\000\000\003\198\000\000\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\137\000\000\000}\000\137\000\137\000\137\000\137\000\000\000\000\000\000\000\000\000\000\000\137\000\137\000\000\004.\003\214\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000}\000}\000\000\000u\003\166\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000\000\000\000\000}\000}\000}\000}\000\000\000\000\003\142\003\182\000\000\000}\000}\000u\000}\003\214\000}\000u\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000\000\000a\000u\000\000\000a\000\000\000u\000\000\000\000\003\158\000\000\003\174\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000a\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\003\198\000\000\000u\000a\000\000\000\000\000a\000a\000\000\000a\000a\000\000\000\000\000u\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\003\158\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000u\000\000\000\000\003\166\000\000\000\000\000a\000\000\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000a\000u\000u\000u\000u\000\000\000\000\000\000\000\000\000\000\000u\000u\000\000\000u\000u\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000m\003\166\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\003\142\003\182\000\000\000a\000a\000m\000a\000a\000a\000m\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000q\000m\000\000\000q\000\000\000m\000\000\000\000\003\158\000\000\003\174\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\000m\000\000\000m\003\150\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000m\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\003\158\000\000\003\174\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\000\000\003\166\000\000\000\000\003\198\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000q\000m\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000m\000m\000\000\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\004\030\003\166\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\003\142\003\182\000\000\000q\000q\000\133\000q\000q\000q\000\133\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\133\000\133\000\000\000\133\004&\000\000\000\000\000\000\000y\000\133\000\000\000y\000\000\003\190\000\000\000\000\003\158\000\000\003\174\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\000\000\000\000\003\198\000\000\000\133\003\150\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\133\000\000\000y\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\133\000\133\000\000\000\000\003\166\000\000\000\000\003\198\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000\000\000y\000\133\000\133\000\133\000\133\000\000\000\000\000\000\000\000\000\000\000\133\000\133\000\000\000\133\003\214\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000y\000y\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000y\000y\000y\000\000\000\000\000\000\000\000\000\000\000y\000y\000\000\000y\000y\000y\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000\000\rj\000\000\000\000\rn\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\r\130\r\142\000\000\000\000\014.\014F\014J\000\000\000\000\000\000\002\202\000\000\002\206\002:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\162\002\214\000\000\000\000\r\166\014N\002\222\002>\000\000\000\000\r\170\r\174\000\000\000\000\r\178\001F\000\000\000\000\000\000\000\000\002J\002N\000\000\000\000\000\000\rF\rJ\000\000\002R\000\000\000\000\r\182\r\186\000\000\000\000\000\000\000\000\r\190\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\198\000\000\r\n\000\000\000\n\000\000\000\000\r\014\000\000\006\205\000\000\014R\028\186\014n\r\018\002\150\000\000\000\000\rj\r\022\028\190\rn\000\000\000\000\r\202\000\000\000\000\000\000\000\000\000\000\r\210\000\000\000\000\006\197\rN\000\000\004\249\002\166\000\000\r\214\000\000\000\000\000\000\000\000\006\197\003\026\r\130\r\142\000\000\006\197\014.\014F\014J\000\000\019j\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\162\002\214\001>\019n\r\166\014N\002\222\000\000\000\000\000\000\r\170\r\174\000\000\000\000\r\178\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\166\000\000\000\000\000\000\001B\015\170\000\000\r\182\r\186\000\000\000\000\000\000\000\000\r\190\001F\002\150\000\n\000\000\rj\000\000\000\000\rn\000\000\000\000\000\000\r\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\205\000\000\014R\002\166\014n\000\n\000\000\000\000\000\000\000\000\005\133\000\000\r\130\r\142\000\000\r\202\014.\014F\014J\000\000\000\000\r\210\002\202\000\000\002\206\000\000\000\000\tY\000\000\000\000\r\214\000\000\000\000\r\162\002\214\000\000\003\026\r\166\014N\002\222\000\000\000\000\000\000\r\170\r\174\000\000\000\000\r\178\001F\000\000\000\000\000\000\000\000\000\000\000\000\b\133\b\133\000\000\000\000\000\000\b\133\000\000\003\213\000\000\r\182\r\186\000j\003\213\000\000\000r\r\190\000\130\003\213\000\n\003\213\000\000\000\000\000\000\000\138\003\213\003\213\000\000\r\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\205\000\000\014R\000\000\014n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\202\000\000\000\000\000\146\003\213\000\000\r\210\000\000\003\213\000\000\000\000\000\000\002\129\000\000\000\000\r\214\000\000\000\000\000\000\000\000\000\000\003\026\000\000\003\213\003\213\003\209\000\000\000\000\000\000\000\198\003\209\000\000\000\206\000\000\000\222\003\209\003\213\003\209\000\162\000\000\000\000\000\230\003\209\003\209\000\000\003\213\000\000\000\000\000\000\003\213\003\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\213\000\000\000\000\000\000\003\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\238\003\209\003\213\000\000\000\000\003\209\000\000\000\000\000\000\000\000\000\000\000\000\003\213\000\000\000\000\000\000\000\000\003\213\000\000\000\000\003\209\003\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\209\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\003\209\000\000\000\000\000\000\003\209\003\209\000\000\000\000\003\213\000\000\000\000\003\213\003\213\000\000\003\209\003\213\002\150\000\000\003\209\rj\003\213\003\213\rn\000\000\000\000\003\213\000\000\000\000\000\000\003\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\003\209\000\000\000\000\000\000\000\000\003\209\000\000\000\000\r\130\r\142\000\000\000\000\014.\014F\015*\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\162\002\214\000\000\000\000\r\166\014N\002\222\000\000\000\000\003\209\r\170\r\174\003\209\003\209\r\178\001F\003\209\n\146\006\173\000\000\000\000\003\209\003\209\000\000\006\173\000\000\003\209\000\000\000\000\006\173\006\173\r\182\r\186\000\000\006\173\000\000\006\173\r\190\000\000\000\000\000\n\006\173\006\173\006\173\012-\012-\000\000\000\000\012-\r\198\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\006\205\000\000\006\173\006\173\014n\006\173\006\173\000\000\000\000\000\000\006\173\006\173\006\173\000\000\006\173\r\202\000\000\000\000\006\173\000\000\000\000\r\210\000\000\006\173\011\138\000\000\012-\ti\006\173\000Z\r\214\000\000\000\000\006\173\006\173\000\000\003\026\000\000\001\250\000\000\000\000\006\173\000\000\000Z\000\000\006\173\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\173\012-\000\000\006\173\006\173\006\173\006\173\000\000\000\000\000\000\002B\000\000\000\000\000\000\006\173\000Z\000\000\000\000\006\173\006\173\000\000\000\000\000\000\000\000\006\173\006\173\006\173\006\173\006\173\006\173\000\000\006\173\006\173\000\000\000\000\000\000\000\000\000\000\006\173\006\173\001\233\006\173\000\000\001\233\006\173\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\012-\001\233\001\233\006\173\000\000\000\000\001\233\000\000\006\173\000\000\001\233\000\000\000\000\000\000\006\173\000\000\001\233\006\173\006\173\001\233\001\233\006\173\001\233\001\233\000\000\000\000\006\173\006\173\001\233\000\000\002\150\006\173\001\233\002\154\000\000\001\233\002\158\001\233\001\233\000\000\000\000\006\173\000\000\000\000\006\173\006\173\016B\000\000\006\173\000\000\000\000\000\000\002\166\006\173\006\173\002\170\000\000\000\000\006\173\000\000\000\000\002\182\002\186\001\233\002\194\001\233\rf\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\001\233\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\014^\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\000\000\000\000\000\000\001\233\017\"\000\000\001\233\000\000\000\000\000\000\001\233\000\000\000\000\000\000\002\242\000\000\000\000\000\000\000\000\002\246\011\186\006\173\000\n\000\000\000\000\000\000\000\000\001\233\000\000\001\233\000\000\002\254\000\000\006\173\000\000\017*\001\233\001\233\000\000\001\233\001\233\001\233\003\002\nA\006\173\012\014\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\173\003\006\000\000\000\000\006\173\012V\006\173\003\018\006\173\006\173\nA\000\000\nA\006\173\000\000\006\173\003\"\006\173\006\173\006\173\006\173\000\000\003\026\000\000\000\000\006\173\000\000\000\000\000\000\006\173\006\173\006\173\000\000\006\173\006\173\006\173\000Z\000\000\006\173\006\173\000\000\006\173\000\000\000\000\006\173\006\173\000\000\006\173\006\173\000\000\006\173\000\000\006\173\000\000\006\173\006\173\012\138\000\000\006\173\000\000\006\173\000Z\006\173\000\000\000\000\006\173\006\173\000\000\006\173\006\173\012\202\006\173\012\246\000\000\006\173\000Z\006\173\000Z\000\000\000\000\006\173\006\173\006\173\000\000\000\000\000\000\006\173\006\173\006\173\000\000\006\173\006\173\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\006\173\006\173\000\000\006\173\006\173\000\000\006\173\006\173\000\000\006\173\000\000\006\173\006\173\006\173\000\000\006\173\006\173\000\000\006\173\000\000\006\173\000\000\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\000\000\000\000\000\000\000\000\006\173\000\000\006\173\006\173\006\173\006\173\000\000\000\000\017V\006\173\006\173\017^\000\000\000\000\005\206\000\000\000\000\000\000\006\173\000Z\006\173\000\000\006\173\006\173\006\173\006\173\006\173\000\000\000\000\000\000\000\000\006\173\017n\017v\000\000\006\173\006\173\002=\000\000\000\000\000\000\002=\000\000\000\000\000\000\006\173\000\000\017~\000\000\006\173\002=\002=\000\000\017\134\017\142\000\000\000\000\000\000\0015\002=\006\173\0015\000\000\017\150\000\000\000\000\017\158\000\000\017\166\002=\006\173\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\0015\000\000\000\000\000\000\0015\000\000\000\000\017\174\000\000\002=\003\150\000\000\000\000\0015\0015\000\000\0015\0015\000\000\000\000\002=\006\173\0015\000\000\006\173\006\173\003\190\000\000\006\173\003\158\000\000\003\174\0015\006\173\006\173\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\182\000\000\000\000\002=\000\000\000\000\000\000\017\190\000\000\000\000\003\198\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0015\002=\000\000\002=\000\000\000\000\000\000\000\000\000\000\000\000\002=\002=\000\000\017\198\017\206\002=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\0015\000\000\000\000\001\029\003\166\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0015\000\000\0015\000\000\000\000\000\000\001\029\001\029\000\000\0015\0015\001\029\0015\003\214\0015\001\029\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\000\000\001\025\001\029\000\000\001\025\000\000\001\029\000\000\000\000\003\158\000\000\003\174\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\001\029\000\000\001\029\003\150\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\001\029\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\003\158\000\000\003\174\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\000\000\003\166\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\029\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\025\000\000\000\000\001\017\003\166\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\001\017\001\017\000\000\001\025\001\025\001\017\001\025\001\025\001\025\001\017\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\000\000\004\030\001\017\000\000\001=\000\000\001\017\000\000\000\000\003\158\000\000\001\017\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\001=\000\000\000\000\000\000\001=\000\000\000\000\001\017\000\000\001\017\003\150\000\000\000\000\001=\001=\000\000\001=\004&\000\000\000\000\001\017\000\000\001=\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\003\166\000\000\000\000\003\198\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001=\001\017\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\001\017\001\017\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001=\000\000\000\000\004\030\003\166\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\001=\000\000\000\000\000\000\003\142\003\182\000\000\001=\001=\0011\004.\003\214\001=\0011\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\0011\0011\000\000\0011\0011\000\000\000\000\000\000\001)\0011\000\000\001)\000\000\003\190\000\000\000\000\003\158\000\000\003\174\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\003\198\000\000\0011\003\150\000\000\000\000\001)\001)\000\000\001)\001)\000\000\000\000\0011\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\003\158\000\000\003\174\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\0011\000\000\000\000\000\000\003\166\000\000\000\000\003\198\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\0011\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\0011\0011\000\000\0011\003\214\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\001)\000\000\000\000\001\021\003\166\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\001)\000\000\000\000\000\000\001\021\001\021\000\000\001)\001)\001\021\001)\001)\001)\001\021\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\000\000\001!\001\021\000\000\001!\000\000\001\021\000\000\000\000\003\158\000\000\001\021\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\000\000\001\021\000\000\001\021\003\150\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\001\021\000\000\001!\000\000\000\000\000\000\001!\000\000\000\000\003\158\000\000\003\174\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\000\000\003\166\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\001\021\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\001!\000\000\000\000\001%\003\166\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\003\142\003\182\000\000\001!\001!\001%\001!\001!\001!\001%\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\000\000\004\030\001%\000\000\0019\000\000\001%\000\000\000\000\003\158\000\000\003\174\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\0019\000\000\000\000\000\000\0019\000\000\000\000\003\198\000\000\001%\003\150\000\000\000\000\0019\0019\000\000\0019\004&\000\000\000\000\001%\000\000\0019\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\000\000\001%\000\000\000\000\000\213\003\166\000\000\000\213\003\198\000\000\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\001%\000\000\001%\000\000\000\000\000\000\000\213\000\213\000\000\001%\001%\000\000\001%\001%\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\213\003\206\000\213\000\213\0019\000\000\000\000\001-\003\166\000\000\001-\000\000\000\213\000\000\000\000\003\158\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\0019\000\000\000\000\000\000\003\142\003\182\000\000\0019\0019\001-\0019\003\214\0019\001-\000\000\000\000\000\213\000\000\000\000\003\150\000\000\000\000\001-\001-\000\000\001-\001-\000\000\000\000\000\000\000\000\001-\000\000\002\150\000\000\003\190\002\154\000\000\003\158\002\158\003\174\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nA\000\000\000\000\000\000\000\000\000\000\002\166\000\213\000\000\002\170\000\213\000\000\000\000\000\000\003\166\002\182\002\186\003\198\002\194\001-\000\000\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\213\000\000\001-\000\000\000\213\000\213\000\000\000\000\002\210\002\214\000\000\000\000\002\218\001\150\002\222\000\213\000\213\000\000\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001-\000\000\000\000\000\000\003\166\000\000\000\000\000\000\002\242\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001-\000\000\001-\000\000\002\254\002\150\000\000\000\000\002\154\001-\001-\002\158\001-\001-\001-\003\002\000\000\000\000\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\002\166\003\006\000\000\002\170\000\000\000\000\000\000\003\018\000\000\002\182\002\186\000\000\002\194\000\000\000\000\000\000\003\"\000\000\000\000\002\202\000\000\002\206\003\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\000\000\023\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\250\002\242\000\000\000\000\000\000\000\000\002\246\026J\000\000\000\n\000\000\023\254\000\000\024\002\012\129\012\129\000\000\000\000\002\254\000\000\000\000\024\006\000\000\000\000\000\000\000\000\000\000\024\n\000\000\003\002\024\018\000\000\000\000\000\000\024\022\023\246\000\000\000\000\000\000\000\000\024\026\000\000\003\006\000\000\000\000\000\000\000\000\023\250\003\018\000\000\000\000\000\000\025\250\000\000\012\129\000\000\024\030\003\"\023\254\000\000\024\002\000\000\000\000\003\026\000\000\012U\000\000\000\000\024\006\000\000\000\000\000\000\000\000\000\000\024\n\000\000\000\000\024\018\000\000\000\000\000\000\024\022\000\000\000\000\012\129\000\000\024\"\024\026\000\000\024&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\198\000\000\025v\012U\024*\024\030\000\000\000\000\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\024F\000\000\000\000\000\000\000\000\000\000\000\000\012U\000\000\024\"\000\000\000\000\024&\000\000\000\000\024J\000\000\000\000\000\000\000\000\024N\024R\012\129\000\000\000\000\024*\000\000\000\000\000\000\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\024F\006\173\000\000\000\000\000\000\000\000\006\173\000\000\000\210\000\000\000\000\006\173\000\000\006\173\000\000\024J\000\000\000\000\006\173\006\173\024N\024R\012U\000R\000V\000f\000\170\000\000\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\028\166\001.\r\018\0016\002\014\002\022\002\026\r\022\028\170\000\000\006\173\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\000\000\001\026\002\"\000\000\006\173\000\000\006\173\000\000\006\173\006\173\006\173\006\173\006\173\006\173\006\014\004\254\000\000\002*\006\173\000Z\006\173\000\000\006\173\000\000\000\000\006\173\006\173\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\006\173\006\173\002:\000\000\000\000\000\000\000\000\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\000\000\002>\000\000\000\000\000\000\006\173\000\000\000\000\000\000\006\173\006\173\006\173\000\000\000\000\000\000\007\002\000\000\000\000\000\000\006\173\000Z\000\000\011\006\006\173\006\173\006\173\000\000\000\000\000\000\t\134\000\000\000\000\006\173\000\000\000Z\000\000\006\173\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\173\000\n\000\000\000\000\006\173\006\173\005q\000\000\000\000\000\000\000\000\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\006\173\000\000\000\000\006\173\006\173\006\173\000\000\000\000\004\217\004\217\004\217\004\217\000\000\004\217\006\173\004\217\004\217\004\217\004\217\006\173\004\217\004\217\000\000\004\217\000\000\004\217\000\000\004\217\004\217\004\217\004\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\173\000\000\002Z\006\173\006\173\000\000\000\000\006\173\004\217\000\000\000\000\000\000\006\173\006\173\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\004\217\000\000\000\000\006\173\006\173\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\217\004\217\000R\000V\000f\000\170\000\000\000\174\004\217\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\000\000\000\000\000\000\002\150\002\"\000\000\002\154\000\000\000\000\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\002\182\t^\000\000\002\194\000\000\002:\000\000\000\000\004\217\000\000\002\202\002F\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002>\002\210\002\214\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\002J\002N\002\234\002\238\000\000\000\000\000\000\000\000\002R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\n\000\000\000\000\000\000\002\150\000\n\000\000\002\154\000\000\002\254\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\000\000\000\000\000\000\000\000\002V\002\166\000\000\000\000\002\170\000\000\000\000\000\000\003\014\000\000\002\182\tN\000\000\002\194\003\018\000\000\000\000\000\000\000\000\000\000\002\202\000\000\002\206\003\022\000\000\0141\000\000\000\000\000\000\003\026\000\000\002\210\002\214\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\002\150\000\000\000\000\002\154\003\n\000\000\002\162\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\000\000\003\002\000\000\000\000\000\000\002\182\t6\000\000\002\194\000\000\000\000\000\000\000\000\000\000\003\014\002\202\000\000\002\206\000\000\000\000\003\018\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\003\022\002\218\001\150\002\222\000\000\000\000\003\026\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\002\150\000\000\000\000\002\154\003\n\000\000\002\162\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\000\000\003\002\000\000\000\000\000\000\002\182\002\250\000\000\002\194\000\000\000\000\000\000\000\000\000\000\003\014\002\202\000\000\002\206\000\000\000\000\003\018\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\003\022\002\218\001\150\002\222\000\000\000\000\003\026\002\226\002\230\000\000\006\173\002\234\002\238\000\000\000\000\006\173\000\000\005R\000\000\000\000\006\173\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\002\242\000\000\006\173\000\000\000\000\003\n\000\000\006\173\000\n\005\154\000\000\000\000\006\173\000\000\006\173\000\000\000\000\002\254\000\000\006\173\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\006\173\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\014\000\000\000\000\000\000\000\000\000\000\003\018\006\173\006\173\006\173\000\000\000\000\000\000\006\173\000\000\003\022\000\000\000Z\000\000\000\000\006\173\003\026\000\000\000\000\000\000\000\000\000\000\000\000\006\173\006\173\000\000\000\000\000\000\006\173\006\173\000\000\000\000\000\000\000Z\000\000\000\000\006\173\000\000\006\173\000\000\000\000\000\000\006\173\000\000\000\000\006\173\000\000\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\006\173\000\178\000\186\000\194\001\006\006\173\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\000\000\002\"\000\000\006\173\000\000\000\000\000\000\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\002*\000\000\000\000\006\173\006\173\000\000\000\000\000\000\006\173\000\000\000\000\000\000\0165\000\000\000\000\0165\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\002F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002>\0165\0165\000\000\000\000\000\000\000\000\000\000\000\000\007\150\000\000\000\000\000\000\002J\002N\000\000\0165\000\000\000\000\000\000\0165\002R\0165\0165\000\000\000\000\007\158\000\000\000\000\b\162\000\000\000\000\0165\000\000\000\000\0165\000\000\0165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0165\004\193\000\000\002V\004\193\000\000\000\000\004\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\174\000\000\000\000\004\193\000\000\000\000\004\193\000\000\002\181\000\000\000\000\000\000\004\193\004\193\000\000\004\193\000\000\000\000\000\000\000\000\0165\0165\004\193\0165\004\193\b\178\000\000\0165\000\000\000\000\000\000\000\000\000\000\004\193\004\193\000\000\b\186\004\193\004\193\004\193\000\000\0165\000\000\004\193\004\193\0165\0165\004\193\004\193\000\000\000\000\000\000\0165\000\000\000\000\000\000\0165\0165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\193\002\150\000\000\000\000\002\154\004\193\000\000\002\162\004\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\193\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\002\182\rr\000\000\002\194\000\000\000\000\000\000\000\000\000\000\004\193\002\202\000\000\002\206\000\000\000\000\004\193\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\004\193\002\218\001\150\002\222\000\000\000\000\004\193\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\026\178\000\000\026\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\194\000\000\000\000\002\242\002\150\026\226\000\000\002\154\003\n\000\000\002\162\000\n\023\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\000\023\254\000\000\024\002\002\166\000\000\000\000\002\170\000\000\003\002\000\000\024\006\000\000\002\182\016.\000\000\002\194\024\n\000\000\000\000\024\018\000\000\003\014\002\202\024\022\002\206\000\000\000\000\003\018\000\000\024\026\000\000\000\000\000\000\002\210\002\214\000\000\003\022\002\218\001\150\002\222\000\000\000\000\003\026\002\226\002\230\024\030\026\234\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\n\000\000\024\"\000\000\000\000\024&\000\000\000\000\000\000\002\254\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\024*\000\000\003\002\000\000\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\002\166\003\014\000\000\002\170\000\000\024B\000\000\003\018\024F\002\198\007:\000\000\002\194\000\000\000\000\000\000\003\022\000\000\000\000\002\202\000\000\002\206\003\026\024J\000\000\000\000\000\000\000\000\024N\024R\007N\002\214\000\000\000\000\007R\001\150\002\222\000\000\000\000\000\000\007V\007Z\000\000\000\000\007^\002\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\000\000\000\000\000\000\007f\000\000\000\000\000\n\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\007n\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007r\000\000\000\000\000\000\000\000\000\000\007z\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\007~\000\000\000R\000V\000f\000\170\003\026\000\174\002*\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\002F\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\002>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\002J\002N\000\000\000\000\000\000\000\000\000\000\000\000\002R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\006B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\002>\000\000\000\000\000\000\006F\006J\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\006N\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\173\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\000\000\000\000\000\000\006R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\006B\000\000\005\t\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\000\000\000\000\006F\006J\000\000\000R\000V\000f\000\170\023\246\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\006N\001&\023\250\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\023\254\000\000\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\006\002\"\000\000\000\000\000\000\000\000\024\n\000\000\023\246\024\018\000\000\000\000\000\000\024\022\000\000\000\000\002*\000\000\000\000\024\026\023\250\000\000\006R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025r\023\254\000\000\024\002\000\000\024\030\002:\000\000\000\000\000\000\000\000\024\006\006B\000\000\t\145\000\000\000\000\024\n\000\000\000\000\024\018\002>\000\000\000\000\024\022\006F\006J\000\000\000\000\000\000\024\026\000\000\000\000\012U\000\000\024\"\000\000\000\000\024&\000\000\000\000\026\138\006N\000\000\000\000\000\000\024\030\000\000\000\000\000\000\000\000\024*\000\000\000\000\000\000\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\024F\012U\000\000\024\"\000\000\000\000\024&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006R\024J\000\000\000\000\000\000\024*\024N\024R\012U\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\000\000\000\000\000\000\002\161\000\000\024B\000\000\000\000\024F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024J\000\000\000\000\000\000\000\000\024N\024R\012U\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\002\"\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\002*\000\000\029b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\000\000\000\000\029f\006J\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\029b\000\000\000\000\000\000\000\000\000\000\006N\000\000\000\000\002>\000\000\000\000\000\000\029f\006J\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\006N\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\029j\001\014\001\022\002\"\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\000\000\005\001\000\000\029j\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\002*\000\000\029b\000\000\tu\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\000\000\000\000\029f\006J\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\006N\000\000\000\000\002>\000\000\000\000\000\000\006F\006J\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\006N\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\029j\rj\000\000\002\"\rn\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\002\166\000\000\002\145\000\000\000\000\000\000\000\000\000\000\000\000\r\130\r\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\002\202\000\000\002\206\000\000\000\000\029r\000\000\t\161\000\000\000\000\000\000\r\162\002\214\000\000\002>\r\166\001\150\002\222\029f\006J\000\000\r\170\r\174\002\150\000\000\r\178\016&\000\000\000\000\016*\000\000\000\000\000\000\000\000\000\000\006N\000\000\000\000\000\000\000\000\000\000\000\000\r\182\r\186\000\000\002\166\000\000\000\000\r\190\000\000\000\000\000\n\000\000\000\000\016\150\016\130\000\000\000\000\000\000\000\000\r\198\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\154\002\214\000\000\000\000\016\158\001\150\002\222\000\000\000\000\r\202\016\162\016\166\000\000\n9\016\170\r\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\214\n9\000\000\t\133\000\000\000\000\003\026\r\182\016\174\000\000\000\000\000\000\n9\016\178\n9\000\000\000\n\000\000\000\000\000\000\000\000\000\000\n9\000\000\000\000\016\186\000\000\000\000\n9\000\000\000\000\n9\000\000\b\249\000\000\n9\024\206\000\000\000\000\000\000\000\000\n9\000\000\000\000\000\000\b\249\000\000\000\000\000\000\016\190\000\000\000\000\000\000\000\000\000\000\016\198\b\249\n9\b\249\000\000\000\000\000\000\000\000\000\000\016\202\000\000\b\249\000\000\000\000\000\000\003\026\000\000\b\249\000\000\000\000\b\249\000\000\000\000\000\000\b\249\000\000\007\149\000\000\000\000\000\000\b\249\000\000\n9\000\000\000\000\n9\000\000\000\000\007\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\249\026\234\n9\007\149\000\000\007\149\000\000\n9\n9\n9\000\000\n9\n9\007\149\n9\000\000\000\000\000\000\000\000\007\149\000\000\n9\007\149\000\000\n9\000\000\007\149\000\000\000\000\000\000\b\249\000\000\007\149\b\249\000\000\000\000\000\000\000\000\000\000\n9\000\000\000\000\000\000\027\238\n9\n9\b\249\000\000\007\149\000\000\000\000\b\249\b\249\b\249\000\000\b\249\b\249\000\000\b\249\000\000\000\000\000\000\000\000\000\000\000\000\b\249\000\000\000\000\b\249\000\000\000\000\000\000\025V\000\000\000\000\000\000\000\000\000\000\007\149\000\000\000\000\007\149\000\000\b\249\023\250\000\000\000\000\000\000\b\249\b\249\000\000\000\000\000\000\000\000\007\149\023\254\000\000\024\002\000\000\007\149\007\149\007\149\000\000\007\149\007\149\024\006\007\149\000\000\000\000\000\000\000\000\024\n\000\000\007\149\024\018\000\000\007\149\000\000\024\022\000\000\025n\000\000\000\000\000\000\024\026\000\000\000\000\000\000\000\000\000\000\000\000\007\149\023\250\000\000\000\000\000\000\007\149\007\149\000\000\000\000\024\030\000\000\000\000\023\254\000\000\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\006\000\000\000\000\000\000\000\000\000\000\024\n\000\000\000\000\024\018\000\000\023\246\000\000\024\022\000\000\000\000\000\000\024\"\000\000\024\026\024&\000\000\000\000\023\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024*\023\254\024\030\024\002\000\000\024.\000\n\0242\000\000\0246\024:\024\006\024>\000\000\000\000\000\000\000\000\024\n\000\000\024B\024\018\000\000\024F\000\000\024\022\000\000\026\134\000\000\000\000\000\000\024\026\000\000\024\"\000\000\000\000\024&\000\000\024J\023\250\000\000\000\000\000\000\024N\024R\000\000\000\000\026&\000\000\024*\023\254\000\000\024\002\000\000\024.\000\n\0242\000\000\0246\024:\024\006\024>\000\000\000\000\000\000\000\000\024\n\000\000\024B\024\018\000\000\024F\000\000\024\022\000\000\000\000\000\000\024\"\000\000\024\026\024&\000\000\000\000\000\000\000\000\000\000\024J\000\000\000\000\000\000\000\000\024N\024R\024*\000\000\024\030\000\000\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\024F\000\000\000\000\000\000\023\246\000\000\000\000\000\000\000\000\000\000\024\"\000\000\000\000\024&\000\000\024J\023\250\000\000\000\000\000\000\024N\024R\000\000\000\000\000\000\000\000\024*\023\254\000\000\024\002\000\000\024.\000\n\0242\000\000\0246\024:\024\006\024>\000\000\000\000\000\000\000\000\024\n\000\000\024B\024\018\000\000\024F\000\000\024\022\000\000\023\246\000\000\000\000\000\000\024\026\000\000\000\000\000\000\000\000\000\000\000\000\024J\023\250\000\000\000\000\000\000\024N\024R\000\000\004\030\027\186\000\000\001\001\023\254\000\000\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\018\003\142\003\182\000\000\024\022\000\000\000\000\000\000\024\"\000\000\024\026\024&\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\000\001\001\000\000\001\001\004&\024*\004\030\024\030\000\000\000\245\024.\000\n\0242\003\190\0246\024:\003\158\024>\003\174\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\024F\000\000\000\000\003\142\003\182\000\000\000\000\000\000\000\000\000\000\024\"\000\000\000\000\024&\000\000\024J\000\000\003\198\003\150\000\000\024N\024R\000\245\000\000\000\245\000\245\024*\000\000\000\000\000\000\000\000\024.\027\230\0242\003\190\0246\024:\003\158\024>\003\174\000\000\000\000\000\000\000\000\000\000\024B\000\237\000\000\024F\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001\001\000\000\000\000\024J\003\166\003\198\000\000\000\000\024N\024R\003\142\003\182\000\000\000\000\000\000\000\000\000\000\000\000\001\001\000\000\000\000\000\000\001\001\001\001\000\000\003\150\000\000\000\000\000\000\000\237\000\000\000\237\000\237\004.\003\214\000\000\000\000\000\000\000\000\000\000\000\217\000\237\000\000\000\217\003\158\003\206\003\174\000\000\000\245\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\217\000\245\000\000\000\000\000\000\000\245\000\245\003\198\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\245\003\214\000\217\000\229\000\217\000\217\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\003\158\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\003\166\000\000\000\000\000\233\003\150\000\000\000\233\000\217\000\229\000\000\000\229\000\229\000\000\000\000\000\237\000\000\000\000\000\000\000\237\000\237\000\229\000\000\000\000\003\158\000\000\003\174\000\000\003\142\003\182\000\237\000\237\000\000\000\000\000\000\000\000\004\030\000\000\000\000\000\253\000\000\000\000\000\000\003\150\000\000\000\000\000\000\000\233\000\217\000\233\000\233\000\217\000\229\000\000\000\000\003\166\000\000\000\000\000\000\000\233\003\142\003\182\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\217\000\217\003\150\000\000\000\000\000\000\000\253\000\000\000\253\004&\000\000\000\217\000\217\000\165\000\000\000\000\000\000\003\198\003\190\000\229\000\000\003\158\000\229\003\174\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\165\000\165\000\000\000\229\000\000\000\000\000\000\000\229\000\229\000\000\000\000\000\000\003\198\000\000\000\000\003\150\000\000\000\000\000\229\000\229\000\233\000\165\000\165\000\233\000\000\000\241\000\000\003\166\000\241\000\000\000\000\000\165\000\000\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\000\000\233\000\233\000\000\000\000\003\142\003\182\000\000\003\206\000\000\000\000\000\253\000\233\000\233\000\000\003\166\000\000\000\000\000\165\000\000\003\150\000\000\000\000\000\000\000\241\000\000\000\241\000\241\000\000\000\253\000\000\000\000\000\000\000\253\000\253\000\000\003\190\r\n\000\161\003\158\000\000\003\174\r\014\000\000\000\253\003\214\000\000\028\186\000\000\r\018\000\000\000\000\000\000\000\000\r\022\028\190\000\000\000\000\000\165\000\000\000\000\000\000\000\161\000\161\000\000\003\166\000\000\003\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\165\000\000\000\000\000\000\000\161\000\161\000\000\000\165\000\000\000\000\019j\000\000\000\000\000\000\000\161\000\165\000\165\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\000\001>\019n\000\000\003\206\000\000\000\000\000\241\000\000\000\000\000\000\003\166\000\000\000\000\000\153\000\000\000\000\000\000\004\030\000\000\000\000\000\161\000\000\015\166\000\000\000\241\000\000\001B\015\170\000\241\000\241\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\153\000\153\000\241\000\241\003\142\003\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\004\030\003\150\000\000\000\153\000\153\000\161\000\n\000\197\004&\000\000\000\000\005\133\003\166\000\153\000\000\000\000\003\158\003\190\000\153\000\000\003\158\000\000\003\174\000\000\003\142\003\182\000\161\000\177\000\000\000\000\000\000\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\161\000\161\000\000\000\153\000\185\000\185\000\000\003\198\000\000\000\000\003\142\003\182\000\000\000\000\003\190\n\173\n\173\003\158\000\000\003\174\n\173\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\000\000\000\000\000\000\177\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\157\000\153\003\158\003\198\003\174\003\206\000\000\000\000\003\166\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\169\000\157\000\157\000\197\000\173\000\000\000\153\003\198\000\000\000\000\000\197\000\000\000\000\000\000\000\153\000\153\000\157\000\000\004.\003\214\003\206\000\000\000\157\000\157\003\142\003\182\000\000\003\166\003\142\003\182\000\000\000\000\000\157\000\000\000\000\003\158\000\000\000\157\000\000\003\150\000\000\000\185\004\030\003\150\000\000\000\169\000\169\000\177\000\185\000\173\000\173\000\000\000\000\000\000\003\166\000\169\000\185\003\214\003\158\000\173\003\174\000\000\003\158\000\157\003\174\000\000\003\142\003\182\000\177\000\000\000\000\000\000\000\000\000\000\000\181\000\177\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\177\000\177\000\000\000\169\000\193\004&\000\000\003\198\000\000\000\000\000\000\000\000\000\000\000\000\003\190\003\142\003\182\003\158\000\000\003\174\000\157\000\000\000\000\000\000\000\000\000\000\000\000\003\166\000\000\000\000\003\150\000\000\000\000\000\000\000\000\000\000\000\181\000\181\000\000\000\000\000\000\000\157\000\000\000\169\000\000\003\198\003\190\000\173\000\157\003\158\003\166\003\174\000\000\000\000\003\166\000\000\000\157\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\169\000\000\000\000\000\000\000\173\000\000\000\000\000\169\000\000\000\000\000\000\000\173\000\000\003\198\000\000\000\169\000\169\000\000\000\000\000\173\000\173\003\206\000\000\000\000\000\000\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\000\003\206\000\000\000\000\000\000\000\193\003\214\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\181"))
let lhs =
- (16, "\000\012\000\011\000\n\000\t\000\b\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001\018\001\018\001\018\001\017\001\017\001\017\001\017\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\012\001\012\001\012\001\012\001\011\001\n\001\n\001\n\001\t\001\t\001\t\001\b\001\b\001\b\001\007\001\007\001\007\001\006\001\005\001\004\001\003\001\003\001\002\001\002\001\001\001\001\001\000\001\000\000\255\000\255\000\254\000\253\000\253\000\252\000\252\000\251\000\251\000\251\000\251\000\250\000\250\000\250\000\249\000\248\000\247\000\246\000\245\000\244\000\243\000\242\000\241\000\240\000\239\000\238\000\237\000\236\000\235\000\235\000\234\000\234\000\233\000\233\000\232\000\232\000\231\000\231\000\231\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\229\000\228\000\228\000\228\000\228\000\227\000\227\000\226\000\226\000\225\000\225\000\224\000\224\000\224\000\223\000\223\000\223\000\222\000\222\000\222\000\222\000\221\000\221\000\221\000\221\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\219\000\218\000\218\000\217\000\217\000\217\000\216\000\216\000\215\000\215\000\215\000\214\000\214\000\213\000\213\000\213\000\212\000\211\000\210\000\210\000\209\000\209\000\208\000\208\000\207\000\207\000\206\000\206\000\205\000\204\000\203\000\203\000\202\000\202\000\201\000\201\000\201\000\200\000\199\000\198\000\198\000\197\000\196\000\196\000\196\000\196\000\196\000\195\000\195\000\195\000\195\000\194\000\194\000\194\000\194\000\193\000\193\000\193\000\193\000\192\000\191\000\191\000\190\000\190\000\190\000\189\000\188\000\188\000\188\000\188\000\187\000\186\000\186\000\185\000\185\000\184\000\184\000\183\000\183\000\183\000\183\000\182\000\182\000\181\000\181\000\181\000\181\000\181\000\180\000\180\000\180\000\180\000\179\000\179\000\179\000\179\000\179\000\178\000\177\000\177\000\177\000\177\000\176\000\175\000\175\000\174\000\174\000\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\169\000\169\000\169\000\169\000\169\000\169\000\168\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\149\000\149\000\148\000\148\000\147\000\147\000\146\000\146\000\145\000\145\000\144\000\144\000\143\000\143\000\142\000\142\000\141\000\141\000\140\000\140\000\139\000\139\000\138\000\138\000\137\000\137\000\136\000\136\000\135\000\135\000\134\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\132\000\131\000\130\000\129\000\128\000\127\000~\000}\000|\000{\000{\000{\000z\000z\000z\000y\000y\000y\000y\000x\000w\000v\000u\000t\000s\000r\000r\000q\000q\000q\000p\000p\000o\000o\000o\000n\000n\000m\000l\000l\000l\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000d\000d\000c\000c\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000]\000]\000\\\000\\\000[\000[\000[\000[\000[\000Z\000Z\000Y\000Y\000Y\000Y\000X\000W\000V\000V\000V\000U\000U\000U\000T\000T\000T\000T\000T\000T\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000J\000J\000I\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000G\000G\000G\000F\000E\000D\000C\000C\000B\000B\000A\000@\000@\000@\000?\000?\000>\000>\000=\000<\000<\000<\000<\000<\000<\000<\000;\000;\000;\000;\000;\000;\000;\000:\000:\000:\000:\000:\0009\0009\0008\0008\0008\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000(\000(\000'\000'\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000%\000%\000%\000$\000$\000$\000$\000#\000#\000#\000#\000#\000#\000\"\000!\000!\000!\000 \000 \000\031\000\031\000\030\000\029\000\028\000\028\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\025\000\025\000\025\000\024\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\r\000\r\000\r\000\r\000\r")
+ (16, "\000\012\000\011\000\n\000\t\000\b\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001(\001(\001(\001'\001'\001'\001'\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001!\001!\001!\001!\001 \001\031\001\031\001\031\001\030\001\030\001\030\001\029\001\029\001\029\001\028\001\028\001\028\001\027\001\026\001\025\001\024\001\024\001\023\001\023\001\022\001\022\001\021\001\021\001\020\001\020\001\019\001\018\001\017\001\016\001\015\001\014\001\r\001\012\001\011\001\n\001\t\001\b\001\007\001\006\001\005\001\004\001\004\001\003\001\003\001\002\001\002\001\001\001\001\001\000\001\000\001\000\001\000\000\255\000\255\000\255\000\255\000\254\000\254\000\254\000\254\000\253\000\253\000\253\000\253\000\252\000\252\000\252\000\252\000\251\000\251\000\251\000\251\000\250\000\250\000\250\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\248\000\247\000\247\000\247\000\247\000\247\000\246\000\246\000\245\000\244\000\243\000\243\000\243\000\243\000\242\000\242\000\242\000\242\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\240\000\239\000\239\000\238\000\238\000\238\000\237\000\237\000\236\000\236\000\236\000\235\000\234\000\233\000\233\000\232\000\232\000\231\000\230\000\230\000\229\000\229\000\228\000\228\000\227\000\227\000\226\000\225\000\224\000\224\000\223\000\223\000\222\000\222\000\221\000\221\000\220\000\220\000\219\000\218\000\218\000\217\000\217\000\217\000\217\000\217\000\217\000\216\000\216\000\216\000\215\000\214\000\213\000\213\000\213\000\213\000\212\000\212\000\211\000\210\000\210\000\210\000\209\000\209\000\209\000\209\000\209\000\208\000\208\000\208\000\208\000\207\000\207\000\207\000\207\000\206\000\206\000\206\000\206\000\205\000\204\000\204\000\203\000\203\000\203\000\202\000\201\000\201\000\201\000\200\000\199\000\199\000\198\000\198\000\197\000\197\000\196\000\196\000\196\000\196\000\195\000\195\000\194\000\194\000\194\000\194\000\194\000\194\000\193\000\193\000\193\000\192\000\192\000\192\000\192\000\191\000\190\000\189\000\189\000\188\000\188\000\187\000\187\000\186\000\186\000\185\000\185\000\184\000\184\000\183\000\183\000\183\000\183\000\183\000\183\000\183\000\183\000\182\000\181\000\180\000\180\000\179\000\179\000\178\000\178\000\177\000\177\000\176\000\176\000\175\000\175\000\174\000\174\000\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\150\000\149\000\149\000\148\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\146\000\146\000\146\000\145\000\144\000\143\000\142\000\141\000\140\000\139\000\138\000\137\000\136\000\135\000\134\000\134\000\134\000\133\000\133\000\133\000\132\000\132\000\132\000\132\000\131\000\130\000\129\000\128\000\127\000~\000}\000|\000{\000{\000z\000z\000z\000y\000y\000x\000x\000x\000w\000w\000w\000v\000u\000u\000u\000t\000s\000s\000r\000r\000r\000r\000r\000r\000r\000q\000q\000q\000q\000q\000q\000q\000p\000p\000p\000p\000p\000p\000p\000o\000o\000o\000o\000o\000o\000o\000n\000n\000n\000n\000n\000n\000n\000m\000m\000m\000m\000m\000m\000m\000l\000l\000k\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000d\000d\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000^\000^\000^\000]\000]\000\\\000\\\000\\\000\\\000[\000Z\000Y\000Y\000Y\000X\000X\000X\000W\000W\000W\000W\000W\000W\000V\000V\000V\000V\000V\000U\000U\000U\000U\000U\000U\000U\000T\000T\000T\000T\000T\000T\000T\000S\000S\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000I\000H\000G\000F\000F\000E\000E\000D\000C\000C\000C\000B\000B\000A\000A\000@\000?\000?\000?\000?\000?\000?\000?\000>\000>\000>\000>\000>\000>\000>\000=\000=\000=\000=\000=\000<\000<\000;\000;\000;\000;\000:\000:\0009\0009\0008\0008\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000(\000(\000(\000'\000'\000'\000'\000&\000&\000%\000$\000$\000$\000#\000#\000#\000#\000#\000#\000#\000\"\000\"\000!\000!\000 \000\031\000\030\000\030\000\030\000\030\000\029\000\029\000\029\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\026\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\r\000\r\000\r\000\r\000\r")
let goto =
- ((16, "\000J\000\n\000\000\000\000\000\000\000S\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\235\001H\000\000\000\151\000\139\000\000\000\000\000\000\000m\000\000\000\030\000\146\000\000\000\000\001\024\000\000\001\160\000\000\000\000\000\000\001\214\000\000\002\210\000\000\000\000\000\000\000\000\002\218\000\000\002\248\004\022\000\000\000\000\004>\000\000\004\150\000\000\000\000\000\000\005\n\000\000\005\024\000\000\005\186\000\000\005\194\006\190\000\000\000\000\006\246\000\000\007\020\000\000\000w\000\000\000\000\0072\000\000\007:\000\000\000\000\007N\000\000\007v\000\000\000\000\000\000\b\218\000\000\000\130\t\018\000\196\000\000\000\000\000\000\000\000\006.\0001\003\204\000\000\000\000\t^\000\000\029\178\000\000\000n\000\134\t\130\000\000\000\000\011\142\000\000\007|\000\000\001\164\n\172\017\154\012\206\017\154\r\244\022\144\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012x\012\206\000\000\000\000\015.\000\000\023\254\000\000\000T\000\000\000\000\000\000\000\000\001F\000\000!R\000\000\000\000\000\132\000\000\001\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\006^\000\000\006\172\000\000\006\232\000\000\b\182\000\000\015\244\000\000\029$\000\000\"\166\000\000%\156\000\000&2\000\000)\164\000\000*\140\000\000\023F\000\000\000\000\000\000\000\000\000\000/N\000\0007\154\000\0007\176\000\000\001\234\000\000\000\000\020\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\204\tj\000\000\000\000\t\146\000\000\t\218\t\230\000\000\000\000\t\238\000\000\n\b\000\000\000\000\000\000\n\n\000\000\n\020\000\000\000\000\n0\000\000\n:\nB\000\000\000\000\nF\000\000\nP\000\000\000\000\000\000\nT\000\000\nV\000\000\nt\000\000\nv\nz\000\000\000\000\n|\000\000\n~\000\000\001\218\n\130\000\000\n\136\000\000\n\144\000\000\n\164\000\000\000\000\000\000\n\170\000\000\n\178\012,\000\000\n\192\000\000\000\238\030`\000\000\002\190\000\000\003\198\000\000\000\000\001\250\000\000\000\000\001?\005R\000\000\000\000\000\000\000\000\003B\000\000\003\254\000\000\004b\000\000\b\n\000\000\000\000\000\000\000\000\000\000\000\000\t\166\000\000\000\000\000\000\000\000\001\007\000\000\000\000\000\000\000\000\000\000\000\000\000\204\005 \014\130\000\000\n\202\000\000\n\204\015\030\000\000\n\208\000\000\000\000\004\b\000\000\000\000\000\000\000\000\000\000\026\156\000\0001\150\000\000\000\000\000\000\005V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019\000\000\000\000\000\000\000\000\000\000\000\000\011<\022\144\000\000\016\016\000\000\019\236\000J\000\000\000\000\000\000\005\232\000\000!\184\000\000\000\0001\230\000\000\000\000\000\000\005\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\216\000\000\026\228\000\000\000\000\000\000\000\000\000\128\000\000\000\0002:\000\000\000\000\000\000\015N\000\222\000\000\000\000\000\000\000\000\000\000\000\000\000&\000\000\003\026\000\000\005B\000\000\007\018\000\000\t\214\000\000\012$\000\000\014\216\000\000\015z\000\000\018\006\000\000\0182\000\000\018\192\000\000*\144\000\000\003R\000\000\019R\000\000\021j\000\000\022p\000\000\000\000\000\000\000\000\000\000\000~2\202\000\000\001(\000\000\000\000\002\026\002n\000\000\002d\000\000\000\000\000\000\n\144\000\000\000\000\000\000'\224\000\000\000\000\000\000\000\000\000\000(\182\000\000\000\000\000\000\000\000\000\000\000\000\001\202\000\000\000\000\000\000\n\220\016\184\000\000\n\226\000\000\000\000\000\000\000\000\000\000\n\228\000\000\000\000\001\t\004\250\000\000\005\206\000\000\000\000\000\000\002R\000\000\012f\002\248\n\238\000\000\000\000\n\246\000\000\011\000\011\004\000\000\000\000\011\020\000\000\011\022\000\000\000\000\000\000\011\024\000\000\011\030\000\000\000\000\011*\000\000\011.\0114\000\000\000\000\011@\000\000\011L\000\000\000\000\000\000\011P\000\000\011T\000\000\011Z\000\000\011^\011b\000\000\000\000\011p\000\000\011~\000\000\006\244\011\134\000\000\011\144\000\000\011\148\000\000\011\152\000\000\000\000\000\000\011\154\000\000\003b\000\000\000\000\011\158\016\196\000\000\011\170\000\000\000\000\000\030\000\000\000\000\0002\000\000\000\000\000\000\000\000\000\000\007\144\018\168\000\000\011\176\000\000\011\180\019\002\000\000\011\190\000\000\000\000\012\204\011\198\000\000\000\000\011\212\000\000\011\226\011\228\000\000\000\000\011\236\000\000\011\248\000\000\000\000\000\000\012\002\000\000\012\006\000\000\000\000\012\b\000\000\012\014\012\016\000\000\000\000\012\018\000\000\012\020\000\000\000\000\000\000\012\030\000\000\012.\000\000\0120\000\000\0122\012:\000\000\000\000\012<\000\000\012>\000\000\007\154\012@\000\000\012D\000\000\012F\000\000\012V\000\000\000\000\000\000\012Z\000\000\012\\\024\130\000\000\012j\000\000\000\000\007\156\024\198\000\000\012n\000\000\012\128\024\222\000\000\012\130\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\232\000\000$\184\000\0003\012\000\000\000\000\006\158\000\000\000\000\000\000\007\164\005^\000\000\000\000*\192\004H\000\000\003\184\020D\000\000\000\000(\248\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0124(\248\000\000\r\136\000\000\028\236\024\150)f\000\000\028n\000\000\000\000\000\000\b\000\000\000\"^\000\000\000\0003\"\000\000\000\000\000\000\b\164\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0003p\000\0003\184\000\000\000\000\000\000\"@\b\142\000\000\000\000\000\000*\230\000\000\000\000\000\000\000\000\b\176\000\000\000\000\000\000\021~\000\000\000\000\029\184\000\000\001\220\000\000\000\000\000\000\005\"\000\000\017\018\000\000\020\222\000\000\027\234\000\000\029\006\000\000&\226\000\000(j\000\000(\210\000\000-\224\000\000/\170\000\0000H\000\0001h\000\0003R\000\0005\128\000\000\000\000\000\000\n~\000\000\018\248\030L\000\000+N\r\218+\176\000\000\000\000+\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004$\000\000\000\000\000\000\000\000\005\242\000\000\005\132\000\000\000\000\011X\000\000\000\000\000\000,,\000\000\000\000\000\000\000\000\000\000\0176\000\000\000\000\000\000\000\000,\162\000\000\000\000\000\000\000\000\003\248\012p\000\000,\186\000\000\000\000\000\000\000\000\r\012\000\000-\006\000\000\000\000\000\000\000\000\003\154\000\000\006\202\000\000\012\208\004\018)\128\000\000\000\000\000\000\005\234\000\000\000\000\000\000\000\000\000\000\000\000\015\182)\128\000\000\017\\\000\000\025\134\n\222\000\000\000\000\000\000\b\204\000\000\"\244\000\000\000\0003\198\000\000\000\000\000\000\b\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\142\000\0007\150\000\000\000\000\000\000\003\142\000\000\000\000\000\000\000\000\000\000\000\000\021\020\000\000\023\226\000\000\027\200\000\000#\138\000\000)H\000\0002\030\000\0007J\000\0007\196\000\0007\206\000\0008(\000\0008H\000\000-R\000\000\002\238\000\0008v\000\0008\140\000\0008\192\000\000)\254\000\000\000\000\000\0004\000\000\000\000\000\000\000\000^\000\0004\210\000\000\000\000\000\0004\214\000\000\000\000\000\030\000\000\025\150\000!\001X\000\000\002N\000\000\r$\001\228\007n\000\000\000\000\000\000\000\000\000\000\000\000\000\0005$\000\000%\160\0006\b\254\000\000\000\000\000\000-X\000\000-\172\000\000-\208\000\000%\186&L\001.\004R\t\002\000\000\000\000\000\000\0056\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005l\000\000\000\000\000\000\000\000#v\000\000&f\000\000\000\000\000\000\000\000\000\000\000\000\r\196\000\000\000\000\002\220\000\000\000\000\000\000\025\202\005\016\000\000\026\130\000\000\000\000\r\012\000\000\006\228\000\000\000\000\014p\000\000\027j\000\000\000\000#\154\000\000\000\000\000\000\n\136\000\000\000\000\005\180\000\000\000\000\025`\000\000\000\000\000\000-\248\000\000\000\000\000\000\029\210\000\000\000\000\000\000\000\000.\232\000\000\000\000\000\000\000\000\004~\014 \000\000.\236\000\000\000\000\000\000\000\000\000\000\000\000\015\016\000\000\000\000\007\152\000\000\016\024\000\000\n\136\000\000\000\000\004:\004\198\000\000\006 \000\000\000\000\000\000\000\000\003\142\000\000&\152\000\000\028\004\004\168\028\176\000\000\004\180\000\000\016R\000\000\016\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\030\029J\005:\029\246\000\000\000\000\000\000\006x\000\000\017\240\000\000\b\142\000\000\000\000\026X\007\160\030\144\000\000\007\220\000\000\018\144\031<\000\000\000\000\019<\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\224\b,\000\000\b\230\000\000\000\000\000\000\000\000\bl\000\000\019\220\000\000\000\000\000\000\00745\180\000\000\000\000\000\000 \188\000\000\000\000\000\000\000\000\000\000\007\224\006P\000\000\000\000/\016\000\000\000\000\000\127\000\000\006\138\000\000\000\000\030l\000\000\000\000\000\000/\018\000\000\000\000\000\000\000\000/v\000\000\000\000\bj\006\166\000\000\000\000/\154\000\000\000\000\b\250$\004\000\000\007,\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\000\000\000\000\000\000\001\144\000\000\000\000\007b\000\000\000\000\030\170\000\000\000\000\000\0000\170\000\000\000\000\000\000\000\0001\014\000\000\000\000\t\196\007\246\000\000\000\00014\000\000\000\000\t\002\000\000\000\000\000\000\000\000\003\142\005\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\228\000\000\020\154\000\000\000\000\000\0005\194\000\000\b\208\000\000\000\000\000\000\006\136\000\000\019\254\000\000\000\000\004\134\021:\000\000\021\230\000\000\000\000\000\000\006P\000\0005\246\007\1325\252\000\0006\134\000\000\000\000\000\000\007\224\000\0006\172\b\018\000\000\000\000'<\b\226'V\000\000(,\000\000\000\000\000\000\t:\000\0006\224\t^\000\000\000\000\rZ\tb\019N\000\000\020\208\000\000\000\000\000\000\td\000\0007\130\tz\000\000\000\000\000\000\000\026\000\000\000\000\000\000\002\154\000\000\000\000\000\000\000\000\000\000\000\000\b\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023,\000\000\000\000\005f\000\000\000\000\r@\000\000\000\000\000\000\000\000\n\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r@\000\000\000\000\r\028\000\000\r.\000\000\000\000\004r\000\000\007\158\012\218\001V\000\000\000\000\003\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\198\001\138\000\000\000\000\000@\000\000\000\000\000\000\017\238\000\000\000\000\021\224\023\002\000\000\000\000\000\000\000\000\027t\028\142\000\135\000\000\000\000\000\000 \146\000\000\000\000\000\000\000\000\000\000\000\000\002\132\000\000\000\000\000\206\000\000\000\000\012\160\000\000\000\000\022\252\000\000\000\000\t\244\000\000\000g\000\000\000\000\000\000\000\000\b\020 \206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023L!\148\000\000\000\000\000\000\000\000!\228\000\000\000\000\025\222\000\000\r\\\000\000\000\000\000\000\027\210\000\000\003\026\000\000\000\000\000\000\031\134\000\000\000\000\"~\000\000\000\000\016\226#\134\019\134\000\000#\170\000\000\000\000\000\000\000\000\r\030\000\000\000\000\000\000\000Y\000\000\000\028\012\244\004\030\000\000\000\000\000\000\007\166\004\012\000\000\000\000\000\000\000\000\004@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t$\000\000\000\000\002\218\000\000\000\029\rv\007\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\198\000\000\000\000 0$N\000\000\000\000\000\000\000\000$\228\000\000\000\000\005>\000\000\b\186\011\154\000\000\028\028\000\000\000\000\000\000\000\000\000\000\000\002\030\000\000\000\000\000\030\170\000\000\000\000\000\000\000\000 T\000\000 \140\000\000\000\000\000\000\000\000\tF\000\000\000\000\000\000\003\210\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\0001B\000\000\000\000\000\000\003\132\000\000\000\000\000\000\000\000\000\000\000\004\001\172\003:\004\220\000\000\005\242\tv\t\134\t\152\000\000\000\000\000\000\000\000\000\000\000\000\005\138\022\134\000\000 \004\t\184\000\000\000\000\n\028\000\000\023\130\000\000*T\000\000\000\000\005\224\024\"\000\000 8\000\000\006\148 \240\000\000\000\000\000\000\tB\005\242\000\000\000\000\000\000\000\000\006b\000\000\007\148\000\000\006\204\t\022\000\000\000\000\000\000\003B\000\000\003\254\000\000\b\198\000\000\000\000\012\130\000\000\000\000\000\000\000\000\tz\000\000\000\000\n\250\000\000\024\206\000\000\025h\r2\000\000\000\000\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\000\000\0001\\\000\000\006\168\000\000\000\000\000\000\000\000\000\000\000\252\000\000\n2\005\188\011\026\000\000\002\144\011\198\000\000\n`\000\000\002\180\000\000\003\132\000\000\004\140\000\000\025h\000\000\000\000\000\000\000\000\000\000\005,\000\000\n\204\000\000\006 \000\000\025h\r\152\000\000\003\b\000\000\r\148\003\012\000\000\t\188\000\000\n\028\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n^\000\000\nb\000\000\000\000\000\000\012|\000\000\000\000\000\000\000\000\000\000\r\156\012\136\000\000\000\000\012\178\000\000\000\000\012\152\t\220\r\222\000\000\r\226\000\000\000\000\005\192\002@\000\000\012\194\000\000\000\000\012\250\000\000\000\000\000\000\000\000\000\000\000\000\r\202\012\180\000\000\000\000\000\000\012\218\012\190\n&\t\000\012\230\r\028\000\000\000\000\012\214\n:\n\014\012\248\rB\000\000\000\000\000H\014\020\000\000\014\022\000\000\0148\000\000\000\000\014\026\000\000\000\000\014\028\000\000\000\000\000\000\000\000\014$\000\000\014L\000\000\000\000\000\000\014N\000\000\000\000\000\000\014Z\000\000\000\000\000\000"), (16, "\003z\003\145\0011\006\006\005\182\005\127\005\128\001j\000\007\001k\003H\005\215\005\216\000\018\000J\000J\000`\006'\003z\003\145\002\170\004j\004R\006@\001\239\006\149\006\004\006\007\005\127\005\128\0013\006\150\000\005\002B\000`\001j\002;\001k\006\151\000\017\004#\005\217\001\241\003z\003\145\006\024\002;\006\029\006(\000J\006)\005\218\005P\001j\000\004\001k\002?\004$\000\139\003|\003\213\003\214\000\140\003}\000\141\004^\002=\001l\005\129\005\b\006\030\001m\006!\005\127\005\128\004$\005\183\003|\000\005\006*\005\166\003}\000\139\000\139\006\193\006\194\000\150\000\140\002>\006+\000\025\005\129\000\141\0012\007R\001l\000\024\000`\002>\001m\002\244\001z\003|\005\164\005\127\005\128\003}\006H\006\025\007S\000\141\000\028\004\153\001l\003\150\000\141\001\186\001m\006\026\006\027\000\142\0012\000i\006\153\000\143\003I\000K\003\250\000J\001z\000`\000b\001\230\000f\001:\000`\005\129\006K\006\198\000\141\000\141\006\154\003z\003\145\000\142\000\142\005\133\001z\000\143\000\143\004\r\000`\000\152\004d\001\016\006\207\005\195\003\150\000`\003\252\003\138\001\222\006\151\006\208\004#\004\018\004\199\005\129\004\r\004\019\004%\000h\003\139\004\155\004x\001E\000\152\000\152\003\138\001{\000 \005\134\001\191\004\018\004f\003\213\003\214\004\019\004%\006\155\003\139\005\014\000h\004\r\000\r\006i\000`\001\186\006\156\004$\004\023\003|\006\181\003\138\004S\003}\004r\001{\004\018\001\143\006\227\004-\004\019\001\193\004\137\003\139\004J\003\154\004\023\000\016\000\017\005\148\004(\006\183\000J\001{\001j\004f\001\208\004-\000\153\001\217\006\185\002M\004J\003\154\000J\000\139\000\031\003\155\000i\000\150\006N\004\023\003\156\005\163\000`\001\128\003\157\000\b\006s\002@\000\154\003\158\000\153\000\153\001\146\003\155\003z\003\145\003\154\000\139\003\156\006\228\005\t\000\150\003\157\001\191\005\164\005\127\005\128\003\158\001\144\003H\000`\001\148\000\154\000\154\002\170\004j\004R\005\135\003\155\000\141\001\220\000`\001l\003\156\005\011\001\153\001m\003\157\004\r\001|\000\141\001\194\003\158\000\206\001\192\000\142\001T\000\155\003\138\000\143\001\015\000\"\005\149\004\018\003\213\003\214\000J\004\019\004%\006\229\003\139\004$\003\216\003|\000\141\001\144\001z\003}\006\156\000\142\000\156\000\156\006\231\000\143\001\018\000\197\0019\000\152\005\129\005\193\001\218\000\206\003\250\007\026\000\158\000\160\006a\006b\004\023\000`\003z\003\145\004(\006\233\000\145\001\018\001H\0019\001%\004-\000`\000\152\006\235\006f\004J\003\154\000`\000\005\003z\003\145\006\151\006\213\004R\001\030\003\253\003\254\004\000\004y\003\150\000$\001\186\005\192\005p\006@\000`\003\213\003\214\003\155\006\151\006\213\004R\000i\003\156\002B\004?\001\197\003\157\003z\003{\001\219\001\234\003\158\000\206\002\252\001{\005q\000(\004$\0029\003|\005t\005\127\005\128\003}\004\r\000\153\006~\006 \002B\001j\006i\001k\005\152\006\224\003\138\004$\001\199\003|\000\254\004\018\000J\003}\001\197\004\019\004%\004\242\003\139\000\154\004{\000\153\006\030\006\218\006!\005\127\005\128\003\215\005\167\001j\004f\001k\006u\000`\000\206\007)\000\141\006s\003|\002\251\006F\001\242\003}\000\154\000\155\001\198\004\023\005\215\005\216\007*\004S\007\004\004r\000`\003z\003\145\005\129\004-\000\141\001\241\004\137\001l\004J\003\154\001(\001m\0014\000\156\000\155\001\031\000`\001 \000\157\000\206\006\151\006\213\004R\005\239\000J\006P\002\199\000\158\004\r\002\225\001\218\003\155\000\141\005\218\005\129\001l\003\156\000\156\003\138\001m\003\157\001z\000\196\004\018\004\027\003\158\004\r\004\019\004%\006\219\003\139\000\158\000`\000b\000c\000f\003\138\004$\006\156\003|\000*\004\018\004\021\003}\000/\004\019\004%\006\219\003\139\001z\000i\003z\003\145\006\220\001:\001\196\006\156\000\206\004\023\0003\004\021\005\151\004S\000\141\006\221\003\138\005\193\002\204\000\206\004-\000J\002\205\006\223\000h\004J\003\154\004\023\003\139\002\199\0021\004S\002\203\006\221\006\016\005\196\005\130\006k\004-\001\191\006l\006\223\005\148\004J\003\154\0017\003U\0037\003\155\000J\001{\0072\002M\003\156\000J\006p\006\017\003\157\000`\000\141\006\020\003|\003\158\003z\003\145\003}\003\155\0010\000J\007\007\003\153\003\156\001:\003\184\006}\003\157\005\144\002M\001{\000`\003\158\004\r\006\017\006\151\006\213\004R\002\244\006\\\006]\005\022\002\204\003\138\003z\003\145\002\205\003\155\004\018\005\149\004l\005\142\004\019\004%\006\219\003\139\004l\005\145\005\127\005\128\006u\003\158\000\206\006\156\006i\004K\004`\004\021\003\150\002\218\001\148\000`\004$\004a\003|\006s\001\177\001%\003}\005\149\001\194\002\219\000\206\004\023\001\155\000i\000`\004S\006\222\006\221\002\199\004 \001\030\002\203\004-\003z\003\145\006\223\001\148\004J\003\154\002\244\004!\003|\004c\0002\001j\003}\001k\001\015\006@\000`\001\151\001+\003\138\006\151\006\213\004R\000i\006\018\002B\005\129\003\155\004~\002\245\0005\003\139\003\156\003\247\001\021\000`\003\157\000i\001\018\006\029\0019\003\158\005\024\003\152\003\213\003\214\002\218\003.\0032\003\028\006\018\000J\000\141\005{\005\"\002\248\002\204\004$\002\219\003|\002\205\002\172\006\030\003}\006!\005\127\005\128\001F\000\141\005|\004\r\001l\005$\006\230\0007\001m\003\154\003\031\000J\005\135\003\138\0038\000J\002\251\003\248\004\018\006\021\003\213\003\214\004\019\004%\006\219\003\139\006\210\006\n\003z\003{\000`\003\155\004\r\006\156\000J\001\029\003\156\004\021\001z\001(\003\157\001)\003\138\004t\001\031\003\158\001 \004\018\000\206\004o\001\030\004\019\006x\004\023\003\139\003z\003\145\004S\000J\006\221\002\253\005\129\006A\005\r\004-\000;\004\021\006\223\002\172\004J\003\154\000`\000=\006t\002\254\006\151\006\213\004R\000`\006\225\003\249\001\228\004\023\004\r\000J\000\141\000\139\003|\002\218\003H\000\140\003}\003\155\003\138\000J\003H\001?\003\156\004\018\003\154\002\219\003\157\004\019\004%\006\219\003\139\003\158\006u\006\128\000\206\003\213\003\214\004$\006\156\003|\004\128\001{\004\021\003}\000h\004~\003\155\001\236\001R\000\206\000\139\003\156\000i\006\234\000\140\003\157\003\248\007\027\004\023\000`\003\158\000J\004S\002\170\006\221\003z\003\145\001\197\000\141\004-\000\141\000i\006\223\000\142\004J\003\154\006\142\000\143\000?\004a\000\139\000`\000C\002M\000\140\002\170\004j\004R\004'\001\031\000J\001 \006D\000\206\002\253\000i\002\173\003\155\001\199\004!\003\\\001j\003\156\001k\000J\000\152\003\157\000\141\003\000\001\148\004b\003\158\000\142\003\138\0039\003>\000\143\006\201\003z\003\145\006\202\001o\004$\001\157\003|\003\139\000i\007\"\003}\003I\004\r\001x\000i\000\004\000`\004?\006|\000\141\004\180\0046\003\138\005%\000\142\000J\000\152\004\018\000\143\003z\003\145\004\019\004%\006\219\003\139\001\238\001j\000\206\001\129\000\005\000\141\005$\006\156\001l\005\005\000`\004\021\001m\006\147\002\170\004j\004R\003N\000J\006\206\000i\000\152\004\214\004\242\003|\004X\005\025\004\023\003}\000`\000\153\004S\006\158\006\221\003c\003R\004!\000`\004-\003\144\004\139\006\223\001z\004J\003\154\000J\004\131\004\220\001\018\000i\0019\004$\000\154\003|\005\011\000B\004\134\003}\000\141\006\169\004%\001l\004\r\000i\004\182\001m\003\155\000`\000J\000\153\004\139\003\156\003\138\000J\000J\003\157\006i\004\018\002\171\006\017\003\158\004\019\004%\000E\003\139\005\017\004x\004\136\000`\003z\003\145\000\154\001\134\004\190\005\026\001z\004\021\006\172\000G\000\153\000\156\004-\002$\005\155\0042\000`\004J\004\206\004\181\002\170\004j\004R\004\023\000L\000\162\004\149\004S\000N\004r\000J\001{\000\154\005\024\004-\000J\003\138\0042\000Q\004J\003\154\000i\004\164\005\214\005\127\005\128\004\221\001:\003\139\002\199\000\156\005\156\002\203\004!\005,\004\r\004\142\004$\000S\003|\004\222\006\170\003\155\003}\000\164\003\138\001%\003\156\000i\000\139\004\018\003\157\005.\000\140\004\019\004%\003\158\003\139\004v\004x\000\156\001\030\003z\003\145\001{\004\215\006$\004\224\004\205\004\021\004\229\002G\004\247\003\154\000\166\001\209\002}\002\148\000`\001\148\005/\006\023\002\170\004j\004R\004\023\002\244\005\129\001\137\004S\002\204\004r\004\233\001\159\002\205\003\155\004-\000J\005.\0042\003\156\004J\003\154\000J\003\157\0052\000\141\005n\005o\003\158\001\147\000\142\006\175\000`\006\176\000\143\006\165\000J\006\166\004$\000\206\003|\000i\005.\003\155\003}\003;\002\207\003T\003\156\004\r\004\134\001\148\003\157\006\029\000`\000J\001\149\003\158\006s\003\138\001\150\000J\000\152\000J\004\018\001\151\003z\003\145\004\019\004%\000\139\003\139\004\157\004x\000\148\004\187\006\030\004\204\006!\005\127\005\128\004\135\000`\004\021\006x\004\249\002\170\004j\004R\001'\004\158\002\245\006x\004\158\001\031\002\171\001 \006X\000\206\004\023\006\164\006x\004\254\004S\000`\004r\004\254\006\132\002\218\003\027\004-\003\028\001j\0042\001k\004J\003\154\002\248\004!\001:\002\219\004\160\006\171\004$\004\159\003|\005:\000\141\002\216\003}\007.\004\r\000\142\005\000\002\243\000W\000\143\004\255\003\155\003\031\000\153\003\138\005\129\003\156\005<\002\251\004\018\003\157\003\127\001\215\004\019\004%\003\158\003\139\005\021\004x\005\204\006\135\003z\003\145\004\248\005~\000\154\001\233\000\152\004\021\006\252\003\136\004!\000\141\005=\001%\001l\003\231\000`\003\246\001m\005|\006\151\005\202\004#\004\023\005\205\005\127\005\128\004S\001\030\004r\005<\002\253\005@\006Z\004-\005H\005K\0042\002\199\004J\003\154\002\203\007\"\000e\006\210\002\254\005N\000\139\001z\000\208\005.\000\140\000\156\005J\005J\006\170\006\252\004$\004\r\003|\006t\000\139\003\155\003}\005.\000\148\000\168\003\156\003\138\000\211\006\165\003\157\006\166\004\018\000\206\006\226\003\158\004\019\004%\002\172\003\139\006\179\004x\007\024\000\153\006{\003z\003{\005\129\006\252\006,\006\252\004\021\006z\006\152\002\244\003T\006\216\006\210\002\204\003H\000\185\006y\002\205\000\141\000\215\000\154\0075\004\023\000\142\006\182\000\214\004S\000\143\004r\000\217\003z\003\145\000\141\004-\007-\004!\0042\000\142\004J\003\154\001{\000\143\000\219\000\223\0074\000\186\000`\001j\000\225\001\127\006\151\001(\004#\001.\007\003\000\152\001\031\000\141\001 \003|\000\206\003\155\000\228\003}\004\r\006\232\003\156\000\232\000\156\000\152\003\157\000\231\000\187\000\234\003\138\003\158\000\188\000`\000\236\004\018\000\240\000\242\000\158\004\019\004%\006\212\003\139\004$\000\139\003|\001\203\007\"\001\214\003}\006\156\002\245\000\244\000\248\006\215\000\247\000\250\000\252\006\253\000\255\000\141\006\211\001\001\001l\001\148\007#\001\003\001m\002\218\003\030\004\023\003\028\003z\003\145\004(\006\217\001\005\002\248\001\161\001\t\002\219\004-\000i\001I\006\223\004?\004J\003\154\000`\000\153\001\014\006\255\006\151\007\001\004#\001>\001D\001z\001C\003\031\001%\000\141\007#\000\153\001\227\002\251\000\142\001\226\001\232\003\155\000\143\000\154\007#\001\246\003\156\001\030\003\138\001\249\003\157\001j\001\188\001k\001\253\003\158\001\252\000\154\004D\002\199\003\139\004$\002\224\003|\001\255\002\001\002\005\003}\004\r\002\007\000\152\000`\000b\001\012\000f\002\n\004H\002\014\003\138\006\214\002\r\002\253\000\186\004\018\003z\003\145\002\016\004\019\004%\006\212\003\139\001\202\002\018\000\139\002\022\002\254\002\024\001Y\006\156\002\026\000`\002\030\006\215\002\029\002\170\000\156\004#\001{\000\141\000\187\002 \001l\000h\000\188\000`\001m\000\141\002\"\004\023\000\158\002\204\002%\004(\006\217\002\205\002\172\002'\003\140\002)\004-\002+\002/\006\223\0028\004J\003\154\000\139\003z\003\194\0027\000\148\004$\002F\003|\002L\001z\000J\003}\000\153\002K\000\141\002\143\000`\002O\004\r\000\142\001(\003\155\003A\000\143\002R\001\031\003\156\001 \003\138\000\206\003\157\002V\002U\004\018\000\154\003\158\002X\004\019\004%\006\212\003\139\005\029\002Z\003z\003\145\004\152\006\172\002^\006\156\002`\002c\000\152\006\215\002g\002f\002i\002k\000\141\000\141\000`\003|\002o\000\142\002\170\003}\004#\000\143\002\172\004\023\002q\002s\002w\004(\006\217\005\141\002v\002y\002{\002~\004-\002\128\002\130\006\223\002\218\004J\003\154\000`\001{\000J\002\132\002\170\002\136\002\142\002\199\000\152\002\219\002\223\005\142\004\r\002\141\004$\002\147\003|\005\145\005\127\005\128\003}\003\155\003\138\001\015\002\153\002\152\003\156\004\018\005y\005\161\003\157\004\019\004%\005\140\003\139\003\158\000i\003z\003\145\005\154\005\198\003\\\005\233\000\153\006\002\004\028\004\141\001\018\002\199\0019\004\150\002\203\006\012\000`\004\152\006&\006\191\002\170\004\030\004#\006\237\001j\004\023\001\129\000\141\000\154\004(\004\143\002\204\001\148\006\241\007\005\002\205\004-\007\011\003\138\0042\007\012\004J\003\154\003V\005\129\007\017\001\163\006\174\007\018\000\153\003\139\006\165\007\023\006\166\007\022\000\206\007\030\004$\007 \003|\007&\003Z\007'\003}\003\155\007+\001W\007,\002\244\003\156\004\r\000\154\002\204\003\157\007/\0070\002\205\000i\003\158\0073\003\138\000\141\002\172\0076\001l\004\018\003z\003\145\001m\004\019\004%\001\200\003\139\000\206\0077\004*\000\186\007H\007=\007F\007B\007E\000`\000J\004\141\007N\002\170\004+\004R\007L\007P\000`\000b\001<\000f\001\134\007U\004%\001z\000\156\004\023\003]\000\000\000\187\004(\004\143\000\000\000\188\000\000\000\000\002\218\004-\000\000\000\158\0042\000\000\004J\003\154\001j\003a\001k\000\000\002\219\004$\000\000\003|\005\157\000\000\000\000\003}\004\r\005C\000h\000\000\002\245\000\000\000\000\000\000\004-\003\155\003\138\0042\000\000\004J\003\156\004\018\003z\003\145\003\157\004\019\004%\002\218\003\139\003\158\003&\004U\000\000\000\000\000\000\000\000\002\248\000\139\000`\002\219\004W\001V\002\170\004+\004R\000`\000b\001A\000f\000\000\000\000\000\141\001{\001j\001l\001\129\004\023\000\000\001m\000\000\004(\004Y\000\000\001\135\002\251\000\000\000\000\004-\000\000\000\000\004[\000i\004J\003\154\000\000\001j\001\137\001k\000\000\004$\000\000\003|\000\000\000\000\000\000\003}\000h\000\000\001z\000\000\000\000\000\000\004\r\000\000\000\141\003\155\000\000\000\000\001\147\000\142\003\156\003)\003\138\000\143\003\157\003z\003\143\004\018\002\253\003\158\000\141\004\019\004%\001l\003\139\004L\000\000\001m\000\000\000\000\001\148\000\000\002\254\000\000\000\000\001\149\004\021\000\000\000\000\001\150\000\000\000\152\000\141\004P\001\151\001l\000\139\000\000\000\000\001m\000\140\001\015\004\023\000\000\000\000\000\000\004S\001z\004T\000\000\001j\000\000\001~\004-\003z\003\145\0042\000\000\004J\003\154\000\000\000\000\000\141\004Z\003|\001\018\001{\0019\003}\001z\000`\000\000\004\r\000\000\002\170\004+\004R\000\000\000\000\000\000\000\000\003\155\003\138\003z\003\145\000\000\003\156\004\018\000\000\000\000\003\157\004\019\004%\000\141\003\139\003\158\000\000\000\000\000\142\000`\000\000\000\000\000\143\002\170\004j\004R\004\021\000\141\000\000\000\153\001l\004$\000\000\003|\001m\000\000\000\000\003}\000\000\001\015\000\000\000\000\004\023\000\000\000\000\001{\004S\000\000\004T\000\000\000\152\000\154\000\000\004-\001\148\000\000\0042\000\000\004J\003\154\004$\000\000\003|\001\018\001z\0019\003}\001{\001\165\001\145\000`\000b\001\224\000f\000\000\000\000\000`\000b\0025\000f\000\000\003\155\000\000\000\000\000\000\003\138\003\156\000\000\003z\003\145\003\157\001\147\000\000\000\000\000\000\003\158\000\000\003\139\000\000\002\199\000\000\000\000\002\203\000\000\000`\000\000\006\003\000\000\002\170\004j\004R\000h\000\000\001\148\000\000\000\000\000\000\000h\001\149\000\000\000\000\000\000\001\150\000\000\004\r\000\000\000\000\001\151\000\153\006\004\006\007\005\127\005\128\000`\003\138\001\148\003z\003\142\000\000\004\018\000\000\000\000\001{\004\019\004%\004$\003\139\003|\000\000\001\167\000\154\003}\000\000\004\r\000\000\000\000\000\141\000\000\004\021\000\000\002\204\000\000\000\000\003\138\002\205\006\028\000\000\000\139\004\018\000\000\000\000\000\148\004\019\004%\004\023\003\139\000\000\004q\004S\000\000\004T\000\000\000\000\000`\000\000\004-\000\000\004\021\0042\000\000\004J\003\154\000\000\000\141\005\129\003|\000\000\000\000\000\156\003}\001%\000\000\000\000\004\023\000\000\000\000\000\000\004S\000\000\004r\003z\003\145\000\170\003\155\004-\001\030\000\000\0042\003\156\004J\003\154\001j\003\157\001k\000\141\000\000\000`\003\158\000\000\000\142\002\170\004j\004R\000\143\000\000\000\000\000\000\000\000\004\r\000\000\000\000\005\163\003\155\001j\001\015\001k\000\000\003\156\003\138\000\000\001\015\003\157\000\000\004\018\000\000\000\000\003\158\004\019\004%\002\218\003\139\000\152\004s\000\000\005\164\005\127\005\128\004$\001\018\003|\0019\002\219\004\021\003}\001\018\000\000\0019\000\000\000\141\000\000\000\000\001l\001\184\001\186\000\000\001m\000\000\000\000\004\023\000\000\003z\003\145\004S\000\000\004r\000\000\003\138\000\000\000\000\004-\000\141\006.\0042\001l\004J\003\154\000`\001m\003\139\000\000\002\170\004\144\004R\000\000\001j\001z\001k\000\000\000`\000b\002D\000f\000\000\000\000\001(\000\000\003K\003\155\005\129\001\031\000\000\001 \003\156\000\206\000\000\000\000\003\157\001z\000\000\000\153\002\253\003\158\002\199\000\000\000\000\002\203\000\000\004$\000\000\003|\000\000\000\000\000\000\003}\003\002\000\000\001\188\000\000\000\000\000h\004\r\000\154\000\000\000`\000b\002I\000f\000\000\000\000\000\000\003\138\000\141\000\000\000\000\001l\004\018\003z\003\145\001m\004\019\004%\001\194\003\139\000\206\004\133\004\146\000\186\001j\000\000\001k\000\000\000\000\000`\001{\004\021\000\000\002\170\004\144\004R\002\244\000\000\000`\000\000\002\204\000h\002\170\000\000\002\205\001z\000\156\004\023\000\000\000\000\000\187\004S\001{\004r\000\188\000\000\000\000\000\000\004-\000\000\000\158\0042\000\000\004J\003\154\000\000\000\000\000\000\000\000\000\000\004$\000\000\003|\005\170\000\000\000\000\003}\004\r\000\000\003\\\000\000\000\141\000\000\000\000\001l\000\000\003\155\003\138\001m\000\000\000\000\003\156\004\018\003z\003\145\003\157\004\019\004%\001\148\003\139\003\158\001j\004\166\001}\000\000\005\182\005\127\005\128\004\148\000`\000\000\004\021\001\169\002\170\004+\004R\000\000\000\000\001z\000\000\001\148\000\000\002\245\001{\000\139\000\000\000`\004\023\000\150\001\015\002\170\004S\000\000\004\147\001\171\000\000\000\000\000\000\004-\002\218\000\000\0042\003!\004J\003\154\000\139\000\000\000\000\002\248\000\148\004$\002\219\003|\001\018\000\000\0019\003}\000\000\000\141\000\000\000\000\001l\000\000\004\r\000\000\001m\003\155\003\\\000\000\005\129\003#\003\156\000\000\003\138\001\015\003\157\002\251\005\251\004\018\000\000\003\158\000\141\004\019\004%\000\000\003\139\000\142\000\000\003z\003\145\000\143\001\148\004%\000\000\000\000\001z\001{\004\021\001\018\000\000\0019\000\000\000\141\000\000\000`\001\173\000\000\000\142\002\170\000\000\004#\000\143\000\000\004\023\003,\000\000\000\000\004S\000\152\004\147\002\253\000\000\002\199\000\000\004-\002\203\005E\0042\000\000\004J\003\154\000`\000\000\004-\002\254\002\170\0042\000\000\004J\000\152\000\000\000\000\000\000\004\r\000\000\004$\000\000\003|\000\000\003z\003{\003}\003\155\003\138\005\027\000\000\000\000\003\156\004\018\000\000\002\179\003\157\004\019\004%\001\148\003\139\003\158\000\000\003z\003\145\000\000\000\000\003\\\001{\000\000\000\000\000\000\004\021\001\179\000\141\004%\005\015\000\000\002\204\000`\004\152\000\000\002\205\002\170\000\000\004#\000\000\001j\004\023\001k\000\000\000\153\004S\000\000\004T\000\000\000\000\002\199\000\000\004-\002\203\000\141\0042\003|\004J\003\154\000\000\003}\000\000\005\026\000\000\000\000\000\153\000\154\000\000\000\000\004-\000\000\000\000\0042\004$\004J\003|\000\000\000\000\000\000\003}\003\155\000\000\001\188\000\000\000\000\003\156\004\r\000\154\000\000\003\157\000\000\000\155\000\000\000\000\003\158\000\000\003\138\000\141\000\000\000\000\001l\004\018\003z\003\145\001m\004\019\004%\002\244\003\139\005\031\000\000\002\204\000\186\004\152\000\156\002\205\000\000\000\000\000`\000\199\004\141\000\000\002\170\000\000\004#\000\000\000\000\000\000\000\158\000\000\002\218\005\163\000\000\004%\001z\000\156\004\023\000\000\000\000\000\187\004(\004\143\002\219\000\188\000\000\000\000\000\000\004-\000\000\000\158\0042\000\000\004J\003\154\005\164\005\127\005\128\003\138\000\000\004$\000\000\003|\000\000\000\000\000\000\003}\004\r\005G\000\000\003\139\000\000\001j\000\000\001k\004-\003\155\003\138\0042\000\000\004J\003\156\004\018\003z\003\145\003\157\004\019\004%\000\139\003\139\003\158\000\000\000\148\000\000\002\245\000\000\005!\000\000\000\000\000`\004\152\004\141\000\000\002\170\000`\004#\000\000\000\000\000\000\000\000\000\000\002\218\002\253\001{\002\247\000\000\000\000\004\023\000\000\005\129\002\248\004(\004\143\002\219\000\000\000\000\003\004\000\000\004-\000\141\000\000\0042\001l\004J\003\154\000\000\001m\003\155\000\000\000\000\004$\000\000\003|\000\000\000\000\000\141\003}\000\000\002\251\000\000\000\142\003\160\000\000\004\r\000\143\000\000\003\155\000\000\000\000\000\000\000\000\003\156\000\000\003\138\000\000\003\157\001z\000\000\004\018\000\000\003\158\005\201\004\019\004%\000\000\003\139\006\129\005\163\000\000\000\139\004\152\001\148\000\152\000\140\000\000\000\000\000\000\004\141\000\000\000\000\000\000\000\000\002\253\005s\005\202\001\181\000\000\005\205\005\127\005\128\005\164\005\127\005\128\004\023\000\000\000\000\002\254\004(\004\143\003z\003\145\005\201\000\000\000\000\004-\000\000\005q\0042\006\137\004J\003\154\005t\005\127\005\128\000\000\000`\000\000\005\176\000\000\002\170\004+\004R\000\000\004\r\005\202\000\000\000\141\005\205\005\127\005\128\000\000\000\142\003\155\003\138\001{\000\143\000\000\003\156\004\018\000\000\000\000\003\157\004\019\004%\000\000\003\139\003\158\003z\003{\000\000\000\153\005\129\000\000\000\000\005\129\000\000\004$\004\141\003|\000\000\000\000\000\139\003}\000\152\000\000\001U\000\000\001Z\000\000\000\000\000\000\000\000\000\154\004\023\000\000\005\129\000\000\004(\004\143\003z\003\145\000\000\000\000\000\000\004-\000\000\000\000\0042\000\000\004J\003\154\005\129\001\\\000\000\000\206\000`\000\000\000\186\000\000\002\170\000\000\004#\001\148\000\000\000\141\000\000\003|\000\000\000\000\000\000\003}\000\000\003\155\000\000\000\000\000\000\001\183\003\156\000\141\000\000\000\156\003\157\000\000\000\142\000\187\000\000\003\158\000\143\000\188\000\000\000\000\000\000\000\000\000\000\000\158\000\000\004$\002\199\003|\000\000\002\203\000\153\003}\000`\000b\002\139\000f\000\000\000\000\004\r\000\000\000\000\000\000\000\000\000\000\000\152\005\219\000\000\000\000\003\138\000\000\000\000\005\174\000\154\004\018\003z\003\145\000\000\004\019\004%\000\000\003\139\006\143\000\000\006\184\000\000\004\152\000`\000b\002\145\000f\000`\000\000\004\021\000h\002\170\004+\004R\000\184\000`\000b\002\150\000f\000\000\000\141\000\000\005\225\000\000\002\204\004\023\000\000\000\000\002\205\004S\000\000\004T\000\000\003\138\000\000\000\000\004-\000\156\000\000\0042\000\000\004J\003\154\000\000\000h\003\139\000\000\000\000\004$\000\000\003|\000\158\000\000\000\000\003}\004\r\000h\000\000\000\000\000\153\000\000\000\000\000\000\000\000\003\155\003\138\000\000\000\000\000\000\003\156\004\018\000\000\000\000\003\157\004\019\004%\000\000\003\139\003\158\000\000\000`\000\154\000\000\003z\003\141\000\000\000\000\000\000\006x\004\141\004\161\003z\003\145\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\172\004\023\000\000\000`\000\000\004(\004\143\002\170\003\155\004R\000\000\000\000\004-\003z\003\145\0042\000\000\004J\003\154\002\218\000\139\003H\003\162\000\000\000\150\004V\000\000\000\000\000\000\000`\000\000\002\219\000\000\002\170\000\000\004#\000\141\004\r\003|\001\015\003\155\006\029\003}\001%\004$\003\156\003|\003\138\000\000\003\157\003}\005\234\004\018\000\000\003\158\000\000\004\019\004%\001\030\003\139\000\000\000\000\000\000\001\018\006\030\0019\006!\005\127\005\128\000\000\004$\004\021\003|\001\015\005\235\000\000\003}\000\141\005\238\005\127\005\128\000\000\000\142\000\000\000\000\001\015\000\143\004\023\000\000\000\000\000\000\004S\000\000\004T\000\000\000\000\000\000\001\018\004-\0019\002\221\0042\000\000\004J\003\154\003z\003\145\000\000\000\000\001\018\000\000\0019\000\000\000\000\000\152\000\000\000\000\004\"\000\139\000\000\002\172\000`\000\148\000\000\000\000\002\170\003\155\004#\000\000\000\000\005\129\003\156\000\000\000i\000`\003\157\004?\004\r\000\000\003\138\003\158\003H\005\129\006|\000\000\000\000\000\000\003\138\000\000\000\000\000\000\003\139\004\018\000\000\000\139\000\000\004\019\004%\000\150\003\139\000\000\000\000\004$\004\r\003|\000\000\000\000\001(\003}\0049\000\000\004\163\001\031\003\138\001 \000\141\000\206\004D\004\018\000\000\000\142\000\000\004\019\004%\000\143\003\139\000\000\004\023\001\197\000\000\000\000\004S\000\153\004\165\000\000\004H\000\000\004&\004-\000\000\000\000\0042\000\000\004J\003\154\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000\152\004\023\000\154\000\000\000\142\004(\004)\001\199\000\143\003z\003\145\000\000\004-\000\000\003\155\0042\000\000\004J\003\154\003\156\000\000\004,\000\000\003\157\0061\000`\000\000\000\155\003\158\002\170\000\000\004#\000\000\000\000\005\240\000\000\000\152\000\000\000\000\000\000\003\155\000i\000\000\004\r\004?\003\156\005\163\000\000\000\000\003\157\000\156\000\000\000\000\003\138\003\158\001\131\003z\003{\004\018\000\000\000\000\000\000\004\019\004%\000\158\003\139\004$\000\000\003|\005\164\005\127\005\128\003}\002\199\000\000\000\000\002\203\004&\000\153\000\000\000\000\000\000\000\000\000\000\000\000\004D\003z\003\145\000\000\005\237\000\000\000\000\001L\004\023\000\000\000\204\000\000\004(\004)\000\000\000\154\000\000\000`\004H\004-\000\000\002\170\0042\004#\004J\003\154\000\000\005\235\000\141\000\153\003|\005\238\005\127\005\128\003}\000\205\000\000\000\206\000\000\000\000\000\186\000\000\000\000\006\029\000\000\000\141\000\000\003\155\005\129\002\204\000\000\000\154\003\156\002\205\002\199\000\000\003\157\002\203\004$\000\000\003|\003\158\000\000\000\156\003}\000\000\006\030\000\187\006!\005\127\005\128\000\188\000\000\000\000\004\r\000\000\000\155\000\158\000\000\001J\000\000\000\000\000\000\000\000\003\138\000\000\000\000\003z\003\145\004\018\000\000\000\000\000\000\004\019\004%\005\129\003\139\000\000\000\000\000\156\000\000\000\000\005\163\000`\001\133\000\000\000\000\002\170\004&\004#\000\000\000\141\000\000\000\158\000\000\002\204\000\000\002\199\000\000\002\205\002\222\000\000\000\000\000\000\004\023\005\164\005\127\005\128\004(\004)\002\199\003\138\005\129\002\203\000\000\004-\000\000\000\000\0042\000\000\004J\003\154\000\000\003\139\004$\000\139\003|\000\000\002\218\000\140\003}\004\r\000\000\000\000\000\000\000\000\005\189\000\000\000\000\000\000\002\219\003\138\000\000\003\155\003z\003\145\004\018\000\000\003\156\000\000\004\019\004%\003\157\003\139\000\141\000\000\000\000\003\158\002\204\004u\000`\000\000\002\205\000\000\002\170\004n\004#\000\141\000\000\005\129\000\000\002\204\000\000\000\000\000\000\002\205\000\000\000\000\000\000\000\000\000\000\004\023\000\141\000\000\000\000\004(\004p\000\142\000\000\000\000\003\155\000\143\004-\000\000\002\218\0042\000\000\004J\003\154\002\199\000\000\004$\002\203\003|\003\164\000\000\002\219\003}\000\000\002\253\000\000\000\000\000`\000g\000\000\000f\000\000\004\r\006B\000\152\003\155\000\000\000\000\003\006\000\000\003\156\000\000\003\138\000`\003\157\003z\003\145\004\018\000\000\003\158\000\000\004\019\004%\000\000\003\139\000\000\000\000\000\000\000\000\000\000\004m\000`\000\000\000\000\000\000\002\170\004n\004#\000h\000\000\000\000\002\244\002\218\000\000\000\000\002\204\000\000\000\000\000\000\002\205\006\029\000\000\004\023\000\000\002\219\002\218\004(\004p\002\199\000\000\002\220\002\203\005\187\004-\000\000\000\000\0042\002\219\004J\003\154\000\000\000\000\004$\006\030\003|\006!\005\127\005\128\003}\004\r\001%\000\000\000\153\000\000\000`\001\017\000\000\000f\000\000\003\138\000`\003\155\003z\003\145\004\018\001\030\003\156\000\000\004\019\004%\003\157\003\139\000\000\000\000\000\154\003\158\004\129\000\000\000`\000\000\000\000\000\000\002\170\004\130\004#\002\244\000\000\000\000\000\000\002\204\000\000\000`\000\000\002\205\000\000\000h\000\000\002\245\000\000\004\023\000\000\000\000\000\000\004(\004\132\006\029\002\253\000\000\000\000\005\129\004-\000\000\000\000\0042\002\218\004J\003\154\002\250\000\000\004$\003\b\003|\000\156\002\248\000\000\003}\002\219\001%\006\030\000\000\006!\005\127\005\128\000\000\000\000\004\r\000\172\000\000\003\155\000\000\000\000\001\015\001\030\003\156\000\000\003\138\000\000\003\157\003z\003\145\004\018\002\251\003\158\000\000\004\019\004%\000\000\003\139\001%\004\140\000\000\000\000\000\000\004\127\000`\001\018\000\000\0019\002\170\004n\004#\002\245\000\000\001\030\001(\000\000\004A\000\000\000\000\001\031\000\000\001 \000\000\000\206\000\000\004\023\000\000\000\000\002\218\004(\004p\003!\000\000\000\000\005\129\002\253\004-\002\248\000\000\0042\002\219\004J\003\154\000\000\000\000\004$\000\000\003|\000\000\002\254\000\000\003}\004\r\000\000\005\201\006I\000\000\000\000\000\000\003#\000\000\000\000\003\138\000\000\003\155\002\251\000\000\004\018\001\015\003\156\000\000\004\019\004%\003\157\003\139\000\000\000\000\005\202\003\158\000\000\005\205\005\127\005\128\000\000\000\000\004\145\004\141\000\000\003z\003\145\000\000\001(\001\018\004\193\0019\000\000\001\031\000\000\001 \006\133\000\206\000\000\004\023\003+\000`\000\000\004(\004\143\002\170\002\253\004#\000\000\000\000\004-\003z\003\145\0042\000\000\004J\003\154\000\000\000\000\001(\002\254\004\236\006\145\000\000\001\031\000\000\001 \000`\000\206\000\000\000\000\002\170\000\000\004#\000\000\004\r\005\201\006L\003\155\000\000\000\000\005\129\004$\003\156\003|\003\138\000\000\003\157\003}\000\000\004\018\000\000\003\158\000\000\004\019\004%\006\003\003\139\000\000\005\202\000\000\000\000\005\205\005\127\005\128\000\000\000\000\000\000\004$\004\141\003|\000\000\000\000\000\000\003}\000\000\000\000\003z\003\145\006\004\006\007\005\127\005\128\006\029\000\000\004\023\000\000\000\000\005\163\004(\004\143\000\000\000\000\000`\000\000\000\000\004-\004\180\000\000\0042\000\000\004J\003\154\003z\003\145\000\000\006\030\000\000\006!\005\127\005\128\005\164\005\127\005\128\006\148\000\000\000\000\000\000\005\163\000`\000\000\004\211\000\000\002\170\003\155\004#\005\129\000\000\000\000\003\156\000\000\000\000\000\000\003\157\004\214\004\r\003|\000\000\003\158\000\000\003}\005\164\005\127\005\128\005\129\003\138\005\243\000\000\000\000\000\000\004\018\000\000\000\139\000\000\004\019\004%\000\148\003\139\000\000\004\220\004$\004\r\003|\000\000\000\000\000\000\003}\000\000\000`\006\134\000\000\003\138\005\129\000\000\000\000\005\129\004\018\000\000\000\000\000\000\004\019\004%\000\139\003\139\000\000\004\023\000\150\000\000\005\001\004(\006\136\003\150\000\000\001\186\000\000\006\134\004-\000\000\000\000\0042\000\000\004J\003\154\000\139\000\000\005\129\000\000\000\148\000\000\000\141\000\000\004\023\000\000\000\000\000\142\004(\006\136\005\163\000\143\000`\000\000\000\000\004-\000\000\003\155\0042\000\000\004J\003\154\003\156\000\000\0067\000\000\003\157\000\000\000\000\000\000\003\138\003\158\000\141\005\164\005\127\005\128\000\000\000\142\000\000\000\152\004\221\000\143\003\139\003\155\006U\000\000\004\r\000\000\003\156\000\000\005\163\000\000\003\157\000\141\005\003\000\000\003\138\003\158\000\142\000\000\000\000\004\018\000\143\000\000\002\199\004\019\004%\002\203\003\139\000\152\000\000\006S\000\000\005\164\005\127\005\128\005\185\000\000\000\000\000\139\006\134\004\224\000\000\000\148\005\004\000\000\004\247\003\154\000\000\000\000\000\152\000\000\000\000\000\000\000\000\000`\004\023\005\129\000\000\000\000\004(\006\136\000\000\000\000\000\000\000\000\005\212\004-\000\000\003\155\0042\000\000\004J\003\154\003\156\000\139\000\000\000\153\003\157\000\140\000\000\002\244\000\000\003\158\000\000\002\204\000\000\005\163\000\000\002\205\000\000\000\200\000\201\000\203\000\204\003\155\000\141\005\129\000\000\000\154\003\156\000\142\000\000\000\000\003\157\000\143\000\000\000\153\000\000\003\158\005\164\005\127\005\128\000\000\000\139\000\000\000\000\000\000\000\148\000\205\000\000\000\206\000\000\000\000\000\186\000\000\000\000\000\000\000\153\000\154\000`\000\000\000\141\000\152\000\000\000\000\000\000\000\142\000\000\000\000\000\000\000\143\000\200\001q\000\203\000\204\000\000\000\156\000\000\000\000\000\154\000\187\000\000\000\000\000\155\000\188\000\000\000\000\000\000\000\000\000\000\000\158\000\000\001J\000\000\005\223\000\000\002\245\000\000\000\152\000\205\000\141\000\206\000\000\005\129\000\186\000\142\000\156\000\000\000\139\000\143\000\000\003\147\000\148\002\218\003.\003/\003\028\000\000\003z\003{\000\158\000\000\002\248\000\000\000`\002\219\000\139\000\156\000\000\000\000\000\148\000\187\000\000\000\000\005\228\000\188\000\000\000\152\000\000\000\000\000\153\000\158\000`\001J\003\031\000\000\000\000\000\000\005\163\000\000\002\251\000\000\000\000\000\000\000\200\002\209\000\203\000\204\000\000\000\000\000\000\000\000\000\154\000\000\000\000\000\141\005\163\000\000\000\000\000\000\000\142\005\164\005\127\005\128\000\143\000\141\000\153\003|\000\000\003z\003\145\003}\000\205\000\141\000\206\000\000\000\000\000\186\000\142\005\164\005\127\005\128\000\143\000\000\002\253\000`\000\000\000\000\000\154\004\180\000\000\000\000\000\152\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\156\005\246\000\000\000\000\000\187\000\153\000\000\000\139\000\188\000\000\000\152\000\148\000\000\004\213\000\158\000\000\001J\000\000\000\000\000\200\003\129\000\203\000\204\000`\000\000\005\129\004\214\000\154\003|\000\000\000\000\000\000\003}\000\000\000\000\000\000\000\156\000\000\005\163\000\000\000\000\000\000\000\000\005\129\000\000\000\000\000\000\000\205\000\000\000\206\000\174\004\220\000\186\000\000\000\000\000\000\000\000\000\000\000\000\003z\003\145\005\164\005\127\005\128\000\141\000\000\000\000\000\000\003\138\000\142\000\153\000\000\000\000\000\143\000\000\000\156\000\000\000\000\000\000\000\187\003\139\004\006\005\028\000\188\000\200\004\015\000\203\000\204\000\153\000\158\000\000\001J\000\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\200\004/\000\203\000\204\000\000\000\000\000\000\000\000\000\154\000\000\000\205\005\163\000\206\000\000\002\244\000\186\003|\000\000\000\000\000\000\003}\000\000\000\000\005\129\000\000\000\000\000\000\003\138\000\205\000\000\000\206\005\255\000\000\000\186\005\164\005\127\005\128\004\221\000\156\003\139\000\000\000\000\000\187\000\000\000\000\003\155\000\188\000\000\000\000\005\253\000\000\004\222\000\158\000\000\001J\000\000\000\156\000\000\000\000\003\166\000\187\000\000\000\000\000\000\000\188\000\000\000\000\000\000\000\000\000\000\000\158\000\139\001J\003z\003\145\000\140\000\000\000\153\004\224\000\000\000\000\004\229\000\000\004\247\003\154\000\000\003z\003\145\000\000\000\000\000\000\000\200\004\226\000\203\000\204\004\006\004g\000\000\005\129\000\154\000\000\000\000\000\000\000\000\000\000\000\000\003\155\004\r\004\006\004]\000\000\003\156\000\000\000\000\000\000\003\157\000\000\003\138\000\000\000\205\003\158\000\206\004\018\000\000\000\186\000\000\004\019\000\000\000\141\003\139\002\244\0065\003|\000\142\000\000\000\000\003}\000\143\000\000\000\000\000\000\004\021\000\000\002\244\000\000\003|\000\139\000\156\000\000\003}\000\140\000\187\000\000\000\000\000\000\000\188\000\000\004\023\000\000\003z\003\145\000\158\000\000\001J\000\000\000\152\000\000\000\000\000\000\000\000\000\000\000\000\003z\003\145\003\154\000\000\000\000\000\000\000\000\000\000\000\000\004\006\004\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\006\004\017\003\155\003z\003\145\000\000\000\000\003\156\000\000\000\141\000\000\003\157\006:\000\000\000\142\000\000\003\158\000\000\000\143\000\000\000\000\000\000\002\244\000\000\003|\004\006\004i\000\000\003}\004\r\000\000\000\000\000\000\000\000\000\000\002\244\000\000\003|\000\000\003\138\002\199\003}\004\r\002\203\004\018\000\000\000\152\000\000\004\019\000\153\000\000\003\139\003\138\000\000\000\000\000\000\000\000\004\018\000\000\000\000\002\244\004\019\003|\004\021\003\139\000\000\003}\000\000\000\000\000\000\000\000\000\154\000\000\000\000\000\000\000\000\004\021\000\000\000\000\004\023\000\000\000\000\000\000\000\000\000\000\003z\003\145\000\000\000\000\000\000\000\000\000\000\004\023\000\000\000\000\000\000\003\154\000\141\003z\003\145\000\000\002\204\000\000\000\000\000\000\002\205\000\000\004\006\0055\003\154\000\000\000\000\000\000\000\000\000\000\004\r\000\000\000\000\003\155\000\156\004\006\0057\000\000\003\156\000\153\003\138\000\000\003\157\004\r\000\000\004\018\003\155\003\158\000\176\004\019\000\000\003\156\003\139\003\138\000\000\003\157\000\000\002\244\004\018\003|\003\158\000\154\004\019\003}\004\021\003\139\000\000\000\000\004\r\000\000\002\244\000\000\003|\000\000\000\000\000\000\003}\004\021\003\138\000\000\004\023\000\000\000\139\004\018\000\000\000\000\000\148\004\019\000\000\000\000\003\139\000\000\000\000\004\023\000\000\000\000\000\000\003\154\000`\000\000\000\000\000\000\004\021\000\000\000\000\000\000\000\000\000\000\000\000\000\156\003\154\000\000\000\000\000\000\000\000\002\218\000\000\000\000\004\023\003\155\003z\003\145\000\000\000\178\003\156\000\000\000\000\002\219\003\157\000\000\000\000\000\000\003\155\003\158\000\000\003\154\000\000\003\156\000\000\000\141\000\000\003\157\004\006\0059\000\142\000\000\003\158\000\000\000\143\000\000\004\r\002\199\000\000\000\000\002\203\000\000\000\000\003\155\000\000\000\000\003\138\000\000\003\156\004\r\000\000\004\018\003\157\000\000\000\000\004\019\000\000\003\158\003\139\003\138\000\000\000\000\000\152\002\244\004\018\003|\000\000\000\000\004\019\003}\004\021\003\139\000\000\000\000\000\000\000\139\000\000\000\000\000\000\000\148\000\000\000\000\002\253\004\021\000\000\000\000\004\023\000\000\000\000\002\199\000\000\000`\002\203\000\000\000\141\000\000\003\n\000\000\002\204\004\023\000\000\000\000\002\205\003\154\000\000\000\000\000\000\000\000\000\139\000\000\000\000\000\000\000\148\000\000\000\000\000\000\003\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\003\155\000\000\000\000\000\000\000\000\003\156\000\000\000\141\000\000\003\157\000\000\000\000\000\142\003\155\003\158\000\153\000\143\000\000\003\156\000\000\000\000\000\141\003\157\003z\003{\002\204\000\000\003\158\000\000\002\205\000\000\004\r\001Z\000\000\000\000\000\000\000\000\000\154\000\139\000\000\000\141\003\138\000\148\000\000\000\152\000\142\004\018\000\000\000\000\000\143\004\019\000\139\000\000\003\139\000`\000\148\000\000\001\206\000\000\000\206\000\000\000\000\000\186\000\000\000\000\004\021\000\000\000`\000\000\000\139\000\000\000\000\002\218\000\140\000\000\000\000\000\000\000\152\000\000\000\000\000\141\004\023\003|\000\000\002\219\000\156\003}\000\000\000\000\000\187\000\000\000\000\000\000\000\188\000\000\000\141\000\000\000\000\003\154\000\158\000\142\000\000\000\000\000\000\000\143\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\000\000\142\000\139\000\000\000\000\000\143\000\148\000\000\003\155\000\000\000\153\000\000\002\218\003\156\000\141\000\000\000\000\003\157\000`\000\142\000\152\000\000\003\158\000\143\002\219\000\000\000\000\001W\000\000\000\000\000\000\000\000\000\154\000\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\253\000\000\000\153\000\000\002\199\000\000\000\000\002\203\000\000\000\000\000\152\001\212\000\000\000\206\003\012\000\000\000\186\000\000\000\141\002\182\000\000\000\000\000\000\000\142\000\154\000\000\000\000\000\143\000\000\000\000\003\138\000\000\000\139\000\000\000\139\000\000\000\148\000\000\000\148\000\156\000\000\000\000\003\139\000\187\002\184\000\000\000\206\000\188\000\000\000\186\000\000\000\000\002\253\000\158\000\000\000\152\000\000\000\153\000\139\000\000\000\000\002\244\000\148\000\000\000\000\002\204\003\014\000\000\000\000\002\205\000\153\000\000\000\156\000\000\002\182\000\000\000\187\000\139\000\000\000\154\000\188\000\148\000\000\000\000\000\000\000\000\000\158\003j\000\153\000\141\000\000\000\141\000\154\000\000\000\142\000\000\000\142\000\000\000\143\002\201\000\143\000\206\000\000\000\000\000\186\000\000\000\000\000\000\000\000\003\155\000\154\000\182\003l\001\175\000\206\000\141\000\000\000\186\000\000\000\000\000\142\000\000\000\000\003\168\000\143\000\000\000\152\000\156\000\152\002\199\000\000\000\187\002\203\000\153\000\141\000\188\000\000\000\000\000\000\000\142\000\156\000\158\000\000\000\143\000\187\000\000\000\000\002\245\000\188\000\000\003j\000\000\000\152\000\000\000\158\000\154\000\000\000\000\000\156\000\000\000\000\000\000\000\000\000\000\002\218\003.\006\139\003\028\000\000\000\000\000\000\000\152\000\180\002\248\000\000\003\192\002\219\000\206\002\199\000\000\000\186\002\203\000\000\000\000\000\000\002\199\002\244\000\000\002\203\000\000\002\204\000\000\000\000\000\000\002\205\003\031\000\000\000\000\000\000\000\000\000\000\002\251\000\000\000\156\000\153\000\000\000\153\000\187\000\000\000\000\000\000\000\188\000\000\000\000\000\000\000\000\000\000\000\158\000\000\000\000\000\000\000\185\0034\000\185\000\000\000\000\000\154\000\000\000\154\000\000\000\153\000\000\000\000\000\000\000\000\002\244\000\000\000\000\000\000\002\204\000\139\002\239\002\244\002\205\000\148\002\253\002\204\002\241\000\000\000\153\002\205\000\186\000\154\000\186\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\000\000\000\000\000\000\000\000\000\002\241\000\000\000\000\000\000\000\000\000\154\002\245\000\000\000\156\000\000\000\156\000\186\000\187\000\000\000\187\000\000\000\188\000\000\000\188\000\000\000\000\000\000\000\158\002\218\000\158\000\000\003!\000\000\000\000\000\000\000\186\000\141\002\248\000\139\000\156\002\219\000\142\000\148\000\187\000\000\000\143\000\000\000\188\000\000\000\000\000\139\000\000\000\000\000\158\000\148\000\000\000\000\000\000\000\156\003#\002\245\000\000\000\187\000\000\000\000\002\251\000\188\002\245\000\000\000\000\000\000\000\000\000\158\000\152\000\000\000\000\000\000\002\218\000\000\000\000\003!\000\000\000\000\000\000\002\218\000\000\002\248\003!\000\139\002\219\000\000\000\000\000\148\002\248\000\000\000\141\002\219\000\000\000\000\000\000\000\142\000\000\000\000\003*\000\143\000\000\000\000\000\141\003#\002\253\000\000\000\000\000\142\000\000\002\251\003#\000\143\000\000\000\000\000\000\000\000\002\251\000\000\002\254\000\000\000\000\000\139\000\000\000\000\000\139\000\148\000\000\000\152\000\148\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003E\000\152\000\141\000\000\000\000\000\000\000\000\000\142\000\153\003%\000\000\000\143\000\000\000\000\000\000\002\253\003(\000\000\000\000\000\000\000\000\000\000\002\253\000\000\000\000\002\241\000\000\000\000\000\139\002\254\000\154\000\000\000\148\000\000\000\000\000\000\002\254\000\000\000\000\000\152\000\141\000\000\000\000\000\141\000\000\000\142\000\139\000\000\000\142\000\143\000\148\000\000\000\143\000\000\002\199\000\186\000\000\002\203\000\000\003P\000\000\000\000\003\182\000\000\000\000\003\235\000\139\000\153\000\000\000\000\000\148\003X\000\000\000\000\000\000\000\000\000\000\000\152\000\156\000\153\000\152\000\000\000\187\000\000\002\241\000\141\000\188\000\000\000\000\000\154\000\142\000\000\000\158\000\000\000\143\000\000\002\241\000\000\000\000\000\000\000\000\000\154\000\000\000\141\000\000\000\000\000\000\003\237\000\142\003_\000\000\000\141\000\143\000\000\000\186\002\204\000\000\000\153\000\000\002\205\000\000\000\000\000\152\000\141\000\000\003\239\000\186\000\000\000\142\000\000\000\000\000\000\000\143\000\000\002\241\000\000\000\000\000\156\000\000\000\154\000\152\000\187\000\000\000\000\000\000\000\188\000\000\000\000\000\000\000\156\000\000\000\158\000\000\000\187\000\000\000\153\000\000\000\188\000\153\000\000\000\152\000\000\000\000\000\158\000\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\185\000\000\000\154\000\000\000\000\000\154\000\000\000\000\000\000\000\000\000\000\000\139\000\156\000\139\000\000\000\148\000\187\000\148\000\000\000\000\000\188\000\000\000\000\000\000\000\000\000\153\000\158\000\186\000\000\000\000\000\186\000\139\000\139\000\000\000\000\000\148\000\148\000\000\000\000\002\218\000\000\000\000\000\185\000\153\000\000\000\000\000\000\000\154\000\000\000\000\000\156\002\219\000\000\000\156\000\187\004=\000\000\000\187\000\188\000\000\000\185\000\188\000\139\000\153\000\158\000\154\000\140\000\158\000\141\000\000\000\141\000\000\000\186\000\142\000\000\000\142\000\000\000\143\000\000\000\143\002\241\000\000\000\139\000\000\000\000\000\154\000\148\000\000\000\141\000\141\000\186\000\000\000\000\000\142\000\142\000\156\000\000\000\143\000\143\000\187\000\139\000\000\000\000\000\188\000\148\000\152\000\000\000\152\002\199\000\158\000\186\002\203\000\000\000\156\000\000\000\000\000\000\000\187\000\000\000\141\002\253\000\188\000\000\000\000\000\142\000\152\000\152\000\158\000\143\000\000\000\000\000\000\000\000\000\156\003\016\000\000\000\000\000\187\000\000\000\141\000\000\000\188\000\000\000\000\000\142\000\000\000\000\000\158\000\143\000\000\000\000\000\139\000\000\000\000\000\000\000\148\000\152\000\141\000\000\000\000\000\000\000\000\000\142\000\000\000\000\000\141\000\143\000\000\000\000\002\204\000\000\000\000\000\000\002\205\000\000\004F\000\152\004N\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\153\000\000\002\199\000\000\000\000\002\203\000\000\000\000\000\000\000\152\004\185\004\197\000\000\000\000\000\000\002\241\000\000\002\241\000\153\000\153\000\154\000\000\000\154\000\141\000\000\000\000\000\000\000\000\000\142\000\000\000\000\000\000\000\143\000\000\000\000\002\241\002\241\000\000\000\000\000\000\000\154\000\154\000\000\000\000\000\000\000\186\000\000\000\186\000\000\000\153\000\000\000\139\000\000\000\000\000\000\000\148\000\000\000\000\000\000\000\141\000\152\004\202\000\000\002\204\000\000\000\186\000\186\002\205\000\156\000\153\000\156\000\154\000\187\000\000\000\187\000\000\000\188\000\000\000\188\004\209\000\000\000\000\000\158\002\218\000\158\000\000\002\241\000\153\000\156\000\156\000\000\000\154\000\187\000\187\000\000\002\219\000\188\000\188\000\000\000\000\000\000\000\139\000\158\000\158\002\241\000\148\000\000\000\000\000\141\000\154\000\000\000\000\000\000\000\142\000\000\000\000\000\186\000\143\000\000\000\156\000\139\000\000\000\000\000\000\000\148\000\000\000\000\000\139\000\000\000\000\004\218\000\148\000\000\000\190\000\186\000\000\000\000\000\000\000\153\000\156\000\139\006g\000\000\000\187\000\148\000\152\002\199\000\188\000\000\002\203\000\000\000\000\000\000\000\158\006\199\002\241\000\000\000\156\000\141\000\000\000\154\000\187\002\218\000\142\002\253\000\188\000\000\000\143\000\000\000\139\000\000\000\158\000\000\000\148\002\219\000\000\000\000\000\141\003\018\000\000\000\000\000\000\000\142\000\000\000\141\000\186\000\143\000\000\000\000\000\142\000\000\000\000\000\000\000\143\000\000\000\152\000\000\000\141\000\000\000\000\000\000\000\000\000\142\000\141\000\000\000\000\000\143\002\204\000\156\000\139\000\000\002\205\000\187\000\148\000\152\004\240\000\188\000\000\000\000\000\000\000\000\000\152\000\158\000\153\000\000\000\000\000\141\000\000\000\000\000\000\000\000\000\142\000\000\000\000\000\152\000\143\000\000\003z\003{\000\000\002\241\000\000\000\000\002\253\000\000\000\154\000\000\000\000\000\000\000\000\000\000\000\139\000\000\000\000\000\000\000\148\000\000\003\020\000\000\000\000\000\000\000\000\000\000\000\152\000\000\004\245\000\141\000\000\000\000\000\000\000\186\000\142\000\000\000\153\000\000\000\143\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\252\000\000\000\000\000\000\000\000\000\000\002\241\000\000\000\153\000\156\000\141\000\154\003|\000\187\000\000\000\153\003}\000\188\000\000\000\152\000\000\000\000\002\218\000\158\000\141\002\241\000\000\000\000\000\153\000\142\000\154\000\000\006h\000\143\002\219\000\000\000\186\000\154\000\000\000\139\000\000\000\000\000\000\000\148\000\000\006h\000\000\000\000\000\000\000\000\000\154\000\000\000\000\000\000\000\139\000\186\000\000\000\153\000\148\000\156\000\000\000\152\000\186\000\187\000\000\000\000\000\000\000\188\000\000\000\000\000\000\000\000\000\139\000\158\001N\000\186\000\148\000\000\000\156\000\154\000\000\000\000\000\187\000\139\000\000\000\156\000\188\000\148\000\000\000\187\000\000\000\000\000\158\000\188\000\000\000\000\000\141\000\153\000\156\000\158\000\000\000\142\000\187\002\253\000\186\000\143\000\188\002\199\000\000\000\000\002\203\000\141\000\158\003\138\001t\000\000\000\142\003\022\000\000\000\154\000\143\000\000\000\139\000\000\000\000\003\139\000\148\000\156\000\000\000\141\000\000\000\187\000\000\000\152\000\142\000\188\000\000\000\000\000\143\000\153\000\141\000\158\000\000\000\000\000\186\000\142\000\000\000\000\000\152\000\143\000\000\000\000\000\000\000\000\000\000\000\000\001\141\000\000\000\139\000\000\000\000\000\154\000\148\000\000\000\141\000\139\000\152\000\156\002\204\000\148\000\000\000\187\002\205\000\000\000\000\000\188\000\000\000\152\000\000\000\141\000\000\000\158\000\000\000\000\000\142\000\000\000\186\000\000\000\143\000\000\000\000\000\000\003\155\000\000\000\139\000\000\000\000\000\000\000\148\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\170\000\000\000\000\000\156\000\000\000\153\000\000\000\187\000\000\000\141\000\152\000\188\000\000\000\000\000\142\000\000\000\141\000\158\000\143\000\000\000\153\000\142\001\190\000\000\000\000\000\143\000\000\000\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\160\000\153\000\000\000\000\000\000\000\154\000\000\000\000\000\141\000\152\000\000\000\000\000\153\000\142\000\000\000\186\000\152\000\143\002\164\000\000\000\000\000\000\000\000\000\154\002\218\000\000\000\000\000\000\000\000\002\212\000\186\000\000\000\000\000\000\000\154\000\000\002\219\000\000\000\156\000\000\000\000\000\000\000\187\000\000\000\000\000\152\000\188\000\000\000\186\000\000\000\000\000\153\000\158\000\156\000\000\000\000\000\139\000\187\000\139\000\186\000\148\000\188\000\148\000\000\000\000\000\000\000\000\000\158\002\227\000\000\000\000\000\156\000\000\000\154\000\000\000\187\000\000\000\000\000\000\000\188\000\000\000\000\000\156\000\000\000\000\000\158\000\187\000\153\000\000\000\000\000\188\000\000\000\000\000\000\000\153\000\000\000\158\000\139\000\186\000\000\000\000\000\148\000\000\000\000\002\229\002\253\000\000\000\000\000\000\000\154\000\000\003\132\000\000\000\141\000\000\000\141\000\154\000\000\000\142\003\024\000\142\000\156\000\143\000\153\000\143\000\187\000\000\000\000\000\000\000\188\000\000\000\000\000\000\000\139\000\186\000\158\000\000\000\148\000\000\000\000\003\197\000\186\000\000\002\199\000\000\000\154\002\203\000\000\000\000\000\000\000\152\000\000\000\152\000\000\000\141\000\000\000\000\000\156\000\000\000\142\000\000\000\187\000\000\000\143\000\156\000\188\000\000\000\000\000\187\000\139\000\186\000\158\000\188\000\148\000\000\000\000\000\139\000\000\000\158\000\000\000\148\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000\152\000\000\000\156\000\000\000\142\000\000\000\187\000\000\000\143\000\141\000\188\000\139\000\000\002\204\000\139\000\148\000\158\002\205\000\148\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000\152\000\153\000\000\000\153\000\142\000\000\000\141\000\000\000\143\000\000\000\000\000\142\000\000\000\000\000\000\000\143\000\000\000\000\003\202\000\000\003\206\000\000\000\000\000\154\000\000\000\154\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\141\000\152\000\142\000\000\000\000\000\142\000\143\000\153\000\152\000\143\000\000\000\000\000\139\000\186\000\000\000\186\000\148\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\227\000\000\000\000\000\000\000\000\000\154\000\000\000\139\000\000\000\000\000\152\000\148\000\156\000\152\000\156\000\000\000\187\002\218\000\187\000\153\000\188\000\000\000\188\000\000\000\000\000\000\000\158\000\000\000\158\002\219\000\186\000\000\000\000\000\139\000\000\000\000\004\n\000\148\000\000\000\000\000\000\000\154\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\000\000\142\000\000\000\000\000\156\000\143\000\153\000\000\000\187\000\000\000\000\000\000\000\188\000\153\000\000\000\141\000\000\000\186\000\158\000\000\000\142\000\000\000\000\004\172\000\143\000\000\000\000\000\000\000\154\000\000\005\019\000\000\000\000\000\152\000\000\000\154\000\000\003z\003{\000\153\000\156\000\141\000\153\000\000\000\187\000\000\000\142\000\000\000\188\002\253\000\143\000\000\000\152\000\186\000\158\000\000\005'\000\000\000\000\005)\000\186\000\154\000\000\003\026\000\154\000\139\000\000\000\000\000\000\000\148\000\000\000\000\000\000\000\000\000\000\000\139\000\156\000\139\000\152\000\150\000\187\000\140\000\000\000\156\000\188\000\000\000\186\000\187\000\139\000\186\000\158\000\188\000\140\000\000\000\141\000\000\003|\000\158\003z\003{\003}\000\000\000\000\003z\003{\000\000\000\000\000\000\000\000\000\156\000\000\000\153\000\156\000\187\000\000\000\000\000\187\000\188\000\000\000\000\000\188\000\000\000\141\000\158\000\000\000\000\000\158\000\142\005+\000\000\000\153\000\143\000\141\000\154\000\141\000\000\000\000\000\142\000\000\000\142\000\000\000\143\000\000\000\143\000\000\000\141\000\000\0051\003z\003{\000\142\000\000\000\154\000\000\000\143\000\141\000\153\003|\000\186\000\152\000\141\003}\003|\000\000\003z\003{\003}\000\000\000\000\000\152\000\000\000\152\000\000\005?\000\000\000\000\000\000\000\186\000\154\000\000\000\000\000\156\000\152\000\000\000\000\000\187\000\000\003z\003{\000\188\000\000\000\000\000\000\000\000\000\000\000\158\000\000\003\138\003z\003{\000\156\000\000\000\000\000\186\000\187\000\141\000\000\003|\000\188\003\139\000\000\003}\000\000\000\000\000\158\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000\000\003|\003z\003{\000\156\003}\000\000\000\000\000\187\000\000\000\000\000\000\000\188\000\000\000\000\000\153\000\000\000\000\000\158\000\000\000\000\000\000\000\141\000\000\003|\000\153\000\000\000\153\003}\000\000\000\000\000\000\005M\000\141\000\000\003|\003\138\000\154\000\153\003}\000\000\003\138\000\000\000\000\000\000\000\000\000\000\000\154\003\139\000\154\000\000\000\000\000\000\003\139\003\155\000\000\000\000\000\000\000\000\000\141\000\154\003|\000\186\000\000\000\000\003}\000\000\000\000\003\172\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\156\003\138\000\000\000\000\000\187\000\000\000\000\000\000\000\188\000\000\000\156\000\000\000\156\003\139\000\158\003\149\000\000\003\138\000\000\000\000\000\000\000\000\000\000\000\156\000\158\000\000\000\192\000\000\000\000\003\139\003\155\000\000\000\000\000\000\000\000\003\155\000\000\000\194\000\000\000\000\003\138\000\000\000\000\000\000\003\174\000\000\000\000\000\000\000\000\003\176\000\000\003\138\003\139\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\139\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\003\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\139\000\000\000\000\000\000\000\000\003\178\000\000\003\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\155\000\000\000\000\003\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\188\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\190"))
+ ((16, "\001)\000\002\000\000\000\000\000\000\000\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000\000\001m\002\242\000\000\001Q\001A\000\000\000\000\000\000\000\169\000\000\001\028\001x\000\000\000\000\002\158\000\000\003\210\000\000\000\000\000\000\003\248\000\000\004\"\000\000\000\000\000\000\004\166\000\000\004\212\000\000\000\000\005\"\000\000\005P\005\176\000\000\000\000\005\218\000\000\005\252\000\000\000\000\000\000\006\002\000\000\006(\000\000\006\136\000\000\007\146\000\000\007\148\007\160\000\000\000\000\b\002\000\000\b\020\000\000\0003\003\232\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\243\000}\000\000\000\142\000\000\000\000\t\186\000\000\000\000\004\196\000\000\000\000\000\000\001h\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\218\000\000\000\000\001P\011L\000\000\000\000\r,\000\000\000\000\000\000\000\000\bd\000\000\b\168\004\024\000\000\b\210\000\000\000\000\t\022\000\000\000\000\tT\000\000\t\\\000\000\000\000\000\000\td\000\000\002b\t\194\000\160\000\000\000\000\000\000\000\000\000\000\000\000\000\152\003\230\000\000\000\170\000\000\000\000\000\000\t\196\000\000\005F\000\000\000\137\001\023\000\r\000\000\000\000\003\136\003\156\000\000\004\172\000\000\b\132\000\224*\134\n0\026\164\007\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\174*\134\000\000\000\000\rh\r\130\016V\000\000\018\128\000\000\nf\018\184\000\000\000\000\000\000\000\140\000\000\005\198%H\011\208\000\000\000\0007P\000\000\001\254\000\000\030,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006T\000\000\000\000\012b\000\000\rH\000\000\016.\000\000\016\144\000\000\016\228\000\000\019x\000\000\0210\000\000\023X\000\000\023\248\000\000\026V\000\000\031D\000\0007d\000\000\000\000\000\000\000\000\000\000\027\154\000\000 \028\000\000!\134\000\000\"\208\000\000'\252\000\000)\018\000\000>\182\000\000>\202\000\000?\018\000\000?<\000\000?\206\000\000?\232\000\000?\234\000\000@\014\000\000@\028\000\000@*\000\000\031\134\000\000\000\000!\188\000\000\000\000\000\000\000\000\003v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\0307|\000\000\001\172\000\000\000\000\002 \004\"\000\000\002n\t\200\000\000\000\000\t\220\000\000\t\228\t\254\000\000\000\000\n\"\000\000\n0\000\000\000\000\000\000\n6\000\000\n8\000\000\n:\000\000\nX\000\000\000\000\nf\000\000\nl\np\000\000\000\000\nv\000\000\n\160\000\000\000\000\000\000\n\162\000\000\n\164\000\000\n\168\000\000\n\182\000\000\n\190\n\194\000\000\000\000\n\196\000\000\n\222\000\000\000\018\004\128\000\000\n\226\000\000\n\232\bd\000\000\n\236\000\000\000\000\n\238\000\000\n\240\000\000\011\016\000\000\000\000\000\000\011\024\000\000\011\026\000\210\000\000\011$\000\000\r\228\014z\000\000\004\220\000\000\005\024\000\000\000\000\001\134\r\144\000\000\000\000\000\000\000\000\rl\018f\000\000\018\220\000\000\000\000\000\000\005\174\000\000\005\226\000\000\005L\000\000\000\000\000\000\000\000\000\000\000\000\005\210\000\000\000\000\000\228\000\000\001\n\000\000\000\000\000\000\025x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002n\007:\005\144\000\000\011B\000\000\011J\nZ\000\000\011L\000\000\000\000\000\000\006h\000\000\000\000\000\000\000\000\002`\000\000\000\000*\198\000\000\000\000\000\000\025p\000\000\000\000\000\000\000\000\000\000\000\000\021\146\000\000\000\000\024.\000\000\000\000\025:\000\000\028\190\000\000\000\000\000\000\007\244\000\000\027\132(v\000\000\000\000(\250)\134\000\000-\030\000\000.,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@D\000\000.\204\000\0007\128\000\000@\242\000\000A\000\000\000A\028\000\000A\134\000\000A\188\000\000A\216\000\000A\252\000\000B\n\000\000B\030\000\000B,\000\000Bf\000\000B\184\000\000B\224\000\000\000\000)\160\000\000\000\000\000\000)\242\000\000\000\000\000\000\000\000\000\000\000\0008\012\000\000\000\000\000\000\b\216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\023\000\000\000\0008n\000\000\000\000\000\000\002\182\001\208\000\000\000\000\000\000\000\000\r\156\000\000+\020\000\000\000\000\000\000\000\000\000\000+f\000\000\000\000\000\000+\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011N\018\186\000\000\011P\000\000\000\000\000\000\000\000\000\000\011V\000\000\000\000\002H\004n\000\000\005\030\000\000\000\000\000\000\002\174\000\000\r\194\003<\011Z\000\000\000\000\011^\000\000\011b\011t\000\000\000\000\011v\000\000\011z\000\000\000\000\000\000\011\138\000\000\011\150\000\000\011\162\000\000\011\180\000\000\000\000\011\182\000\000\011\186\011\192\000\000\000\000\011\198\000\000\011\200\000\000\000\000\000\000\011\208\000\000\011\214\000\000\011\220\000\000\011\232\000\000\012\n\012\028\000\000\000\000\012 \000\000\0120\000\000\001\166\014\156\000\000\0124\000\000\0126\015\190\000\000\0128\000\000\000\000\012B\000\000\012P\000\000\012R\000\000\000\000\000\000\012X\000\000\002\220\000\000\000\000\000\000\003\020\005\174\000\000\000\000\003\176\000\000\000\000\012Z\021.\000\000\012\\\000\000\000\000\000\000\001\014\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\n\180\026\160\000\000\012h\000\000\012l\028\022\000\000\012p\000\000\000\000\r\150\012x\000\000\000\000\012\130\000\000\012\134\012\144\000\000\000\000\012\146\000\000\012\158\000\000\000\000\000\000\012\162\000\000\012\178\000\000\012\188\000\000\012\192\000\000\000\000\012\200\000\000\012\212\012\214\000\000\000\000\012\220\000\000\012\226\000\000\000\000\000\000\012\230\000\000\r\006\000\000\r\b\000\000\r\014\000\000\r\024\r(\000\000\000\000\r,\000\000\r0\000\000\004l\017T\000\000\r8\000\000\r>\0204\000\000\rF\000\000\000\000\rJ\000\000\rT\000\000\rd\000\000\000\000\000\000\rp\000\000\rv\029\232\000\000\r~\000\000\000\000\011\170#\244\000\000\r\132\000\000\r\134$\152\000\000\r\140\000\000\000\000\000\000\000\000\000\000\000\000\000\0008\210\000\000\014`\000\000\000\000\000\00096\000\000\000\000\000B\000\000\000\000\000\000\003.\006\196\000\000\000\000/4,N\000\000\027h,\172\000\000\000\000\000\000/8\000\000\000\000-F\000\000\000\000\000\000\000(\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\000\000\000\000\000\030\212\000\000\000\000 \000\000\000\t\236\000\000\000\000\000\000\t\216\000\000#h\000\000\000\0009`\000\000\000\000\000\000\011\194\000\000\000\000\000\000\000\000\000\000\000\0009\196\000\0009\200\000\000\000\000\000\000-h\026\002\000\000\000\000\000\000/\160\000\000\000\000\000\000\000\000\r0\000\000\000\000\000\000\000\000\011\134\000\000\015\218\000\000\000\222\000\000\000\000\000\000CF\000\000Cf\000\000C\204\000\000C\236\000\000C\238\000\000C\250\000\000D\028\000\000DT\000\000D\162\000\000D\196\000\000E\n\000\000E\014\000\000E\030\000\000E*\000\000\000\000\000\0000\n\000\000\000\000\002V0v\000\000\000\0001\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\003\130\000\000\b.\000\000\000\000\012\154\000\000\000\000\000\0000\142\000\000\000\000\000\000\000\000\000\000\016\250\000\000\000\000\000\000\001\023\000\0001b\000\000\000\000\000\000\000\000\004\182\016\152\000\0001\132\000\000\000\000\000\000\000\000\020n\000\0001\196\000\000\000\000\000\000\000\000\002\148\000\000\007Z\000\000 \024-v\000\000\000\000\000\0009\228\000\000\000\000\000\000\003\196\000\000:\014\000\000\000\000\000\000:\182\000\000\000\000\000\230\000\000\025*\000!.\016\000\000\000\000\000\000\004d\007\130\000\000\000\000\000\000\000\000\000\000\000\000&\n\000\000\000\000-\014\000\000\000\000/\232\000\000\007\190\000\000\000\000\000\000\r\134\000\000#\234\000\000\000\000;\014\000\000\000\000\000\000\014\002\000\000\000\000\000\000\000\000\000\000\000\000><\000\000>V\000\000\000\000\000\000\005Z\000\000\000\000\000\000\000\000\000\000\000\000E\164\000\0001\224\000\000;\156\000\000E\196\000\000E\212\000\000E\228\000\000F\022\000\000F>\000\000F~\000\000F\230\000\000F\244\000\000G\030\000\000G\142\000\000G\156\000\000G\196\000\000G\244\000\000\000\000\004\130\000\000\005f\000\000\r\252\0026\b\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\182\000\000\019\"\007&\014F\000\000\000\000\000\0002P\000\0002\152\000\0002\232\000\000%\172&\168\000\145\t \000\000\000\142\012\138\000\000\000\000\000\000\r~\000\000\000\000\015\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\252\000\000\000\000\000\000\000\000\000\000\000\000$~\000\000&\208\000\000\000\000\000\000\000\000\015~\000\000\000\000\007\234\000\000\000\000\000\000\026\140\001P\000\000\027\026\000\000\000\000\020n\000\000\002\170\000\000\000\000\016\016\000\000\027\156\000\000\000\000$\150\000\000\000\000\000\000\n\020\000\000\000\000\011\168\000\000\000\000#R\000\000\000\000\000\0003$\000\000\000\000\000\000-~\000\000\000\000\000\000\000\0003\180\000\000\000\000\000\000\000\000\004\204\021\202\000\0003\204\000\000\000\000\000\000\000\000\000\000\000\000\016|\000\000\000\000\003J\000\000\016\164\000\000\n\020\000\000\000\000\005~*@\000\000\005\250\000\000\000\000\000\000\000\000\005Z\000\000'\014\000\000\028\152\005\192\029\026\000\000\0066\000\000\017\246\000\000\018x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\250\029T\003\224\030l\000\000\000\000\000\000\005\204\000\000\018\160\000\000\006\"\000\000\000\000\n\166\003\188\031\000\000\000\005\226\000\000\020\030\031\146\000\000\000\000\020\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006.\tT\000\000\006\184\000\000\000\000\000\000\000\000\004\228\000\000\020\200\000\000\000\000\000\000!\234<\000\000\000\000\000\000\000\"\198\000\000\000\000\000\000\000\000\000\000\003\180\014\190\000\000\000\0004@\000\000\000\000\004\"\000\000\015\024\000\000\000\000/\\\000\000\000\000\000\0004b\000\000\000\000\000\000\000\0004z\000\000\000\000\007\176\017\188\000\000\000\0004\210\000\000\000\000\006\234#\210\000\000\018D\000\000\000\0005z\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\194\000\000\000\000\000\000\003\226\000\000\000\000\018\166\000\000\000\000/\218\000\000\000\000\000\0005\164\000\000\000\000\000\000\000\00062\000\000\000\000\007\200\019N\000\000\000\0006\138\000\000\000\000\007\014\000\000\000\000\000\000\000\000\005Z\003\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\030\000\000\021J\000\000\000\000\000\000<d\000\000\t\142\000\000\000\000\000\000\005\006\000\000\001\232\000\000\000\000\005\000\022F\000\000\022\200\000\000\000\000\000\000\006\192\000\000<\142\007\030<\242\000\000=V\000\000\000\000\000\000\007\242\000\000=\174\b\012\000\000\000\000'\220\b*'\244\000\000(\218\000\000\000\000\000\000\b8\000\000=\234\bZ\000\000\000\000\001\016\bb\b\002\000\000\b\166\000\000\000\000\000\000\tV\000\000=\238\tx\000\000\000\000\000\000\006~\000\000\000\000\000\000\020\004\000\000\000\000\000\000\000\000\000\000\000\000\007\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\158\000\000\000\000\0038\000\000\000\000\014h\000\000\000\000\000\000\000\000\000\000\005 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014v\000\000\000\000\014P\000\000\004\210\000\000\000\000\0024\000\000\000\197\r\240\002\\\000\000\000\000\006\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\t\214\000\000\000\000\000\230\000\000\000\000\000\000\014r\000\000\000\000\019j\023\020\000\000\000\000\000\000\000\000\025\028\025n\b\024\000\000\000\000\000\000\025\170\000\000\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\003\028\000\000\000\000\r\182\000\000\025\246\000\000\000\000\000\000\t\178\000\000\000\000\001\128\000\000\000k\000\000\000\000\000\000\000\000\007\000\026*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021H\028\218\000\000\000\000\000\000\000\000\030~\000\000\000\000\tr\000\000\014\152\000\000\000\000\000\000\003\250\000\000\000\006\000\000\000\000\000\000\028Z\000\000\000\000 4 \196\011|\000\000!\158\000\000\000\000\000\000\000\000\000\000\000\000\004D\r\208\000\000\r\212\000\000\"\n\011\166\000\000\".\000\000\000\000\000\000\000\000\r\214\000\000\014Z\000\000\000\000\000\000\000\028\000\000\000<\014\030\002\250\000\000\000\000\000\000\0042\005\250\000\000\000\000\000\000\000\000\004z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000U\000\000\000\000\019Z\000\000\002\168\014\178\004.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\226\000\000\000\000\028\186\"h\000\000\000\000\000\000\000\000\"\238\000\000\000\000\0006\000\000\007\138\012X\000\000\000\000\000\000\016\188\000\000\000\000\000\000\000\000\000\000\000%\017\002\000\000\000\000\020\148\000\000\000\000\000\000\000\000\015\148\000\000\000\000\007\240\000\000\000\000\000\000\000U\000\000\000\000\000\160\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\162\000\000\000\000\000\000\005\186\000\000\000\000\000\000\000\000\000\000\000\b\007\240\b*\012\198\000\000\000\005\0030\007\246\b\130\000\000\000\000\000\000\000\000\000\000\000\000\t\026\022\240\000\000 \152\b\202\000\000\000\000\nF\000\000\024n\000\000.t\000\000\000\000\t\130\023r\000\000!*\000\000\t\186!\190\000\000\000\000\000\000\002\162\003\130\000\000\000\000\000\000\000\000\b\b\000\000\b\136\000v\000\000\000\000\006~\006\224\000\000\015\220\000\000\000\000\005\174\000\000\005\226\000\000\000\000\017\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\012\000\000\000\000\000\000\n\214\000\000\024\240\000\000\n\020\014r\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\0006\182\000\000\006d\000\000\000\000\000\000\000\000\000\000\001\180\000\000\011F\bx\011\200\000\000\002p\r@\000\000\t\212\000\000\004\028\000\000\004\158\000\000\005,\000\000\n\020\000\000\000\000\000\000\000\000\000\000\006J\000\000\t\252\000\000\006\216\000\000\n\020\014\224\000\000\b@\000\000\014\206\b\016\000\000\t\020\000\000\t\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\182\000\000\011\026\000\000\000\000\000\000\r\154\000\000\000\000\000\000\000\000\000\000\014\248\r\186\000\000\000\000\r\238\000\000\000\000\r\190\t\"\015&\000\000\0154\000\000\000\000\t\206\t&\000\000\r\252\000\000\000\000\014<\000\000\000\000\000\000\000\000\000\000\000\000\015 \r\224\000\000\000\000\000\000\014\020\r\228\t\140\n\012\014\"\014v\000\000\000\000\014*\n<\n(\014V\014\144\000\000\000\000\n\156\015t\000\000\015x\000\000\015\154\000\000\000\000\015|\000\000\000\000\015\132\000\000\000\000\000\000\000\000\015\134\000\000\015\186\000\000\000\000\000\000\015\192\000\000\000\000\000\000\015\194\000\000\000\000\000\000"), (16, "\0045\005\248\004H\000S\000S\006\251\006D\006\216\000S\000Z\000\209\000\025\006\131\006\132\000S\000\213\002\221\006\251\000\153\000\024\0045\002E\004H\003U\005\018\004\250\000\r\002\214\002\221\007N\006\217\006\216\006\220\006(\006)\007O\003x\0071\000\153\002^\003y\004\165\006\133\007P\003\218\004\203\000\\\000\016\000\017\002\216\006\251\000k\006\134\000\004\006\217\006E\006\220\006(\006)\000\007\004\204\002\221\0047\006\210\006\192\000S\0048\000\153\006\131\006\132\000k\000T\003U\000V\004\156\000\203\006\216\000\005\000V\000\211\004\204\002\217\0047\000\005\000V\000k\0048\006\190\006\193\006(\006)\002F\002\\\000\153\007\003\000\028\000k\007\005\006\155\006\217\003z\006\220\006(\006)\003{\007\021\007\022\006*\006\134\004\000\000\153\002g\000\018\000\217\000\153\000\156\000\157\002i\000\161\000\153\000\156\000\157\000\158\000\161\005A\006\027\004M\006\211\000\209\001.\004\181\006*\007\b\000\213\000\017\000V\007R\006\212\006\213\000\153\000\156\000\157\001\133\000\161\007\r\000\153\000S\000S\006\025\001\173\004\181\004\166\000\163\006\028\006(\006)\000\163\002\214\007S\004\157\000W\000\163\007^\006*\004\183\000\164\006O\006i\004\167\007j\000\153\000Y\005\176\000~\004E\003U\006*\006\254\004\188\002\218\002_\000\163\000\218\004\205\004\183\004F\005C\005 \000k\006M\006(\006)\000\218\000\203\004E\000\219\004\200\000\211\004\188\005\014\005\181\000Z\000\218\004\205\007T\004F\0075\001s\004\201\004\007\003\136\002\217\004\000\007U\007\026\007\027\000V\004\156\000\218\007s\000\255\003\137\000\164\004\191\006\231\004\251\000\220\005\026\006*\000\153\004\213\000\217\004\205\0051\0045\007\031\004H\003\219\000[\002\232\006x\004\242\004Q\004\191\000S\004\208\007u\0060\007\011\007\141\004\213\002\232\000\153\007w\000\252\002I\000k\007P\007\142\004\203\004R\004\242\004Q\006v\006*\004S\006y\006(\006)\004T\000\b\000\209\0013\000\222\005\194\004U\000\215\000\253\000\153\004\213\004R\000\254\004\218\003U\002\232\004S\003\166\000k\000\224\004T\004\242\007\"\001\172\007\001\004\204\004U\0047\001\152\003\139\0045\0048\004H\004\160\000\206\001\162\007\161\007a\001\136\007b\0015\000\218\001\174\001\136\000\219\000V\003x\0019\000\153\001\155\003y\004\000\000 \003U\005\018\004\250\001\139\004\163\0069\0045\001\139\004H\000k\001\136\001\186\001\139\004\205\000\203\001\186\0010\000\153\000\211\006*\001\186\0013\000\220\001\187\000\153\003\165\007\127\007\128\0067\007P\007\147\004\250\001\139\006=\006:\006(\006)\004\204\006j\0047\001\186\001\226\004\181\0048\001\238\000\031\0019\004\207\007\162\000\153\000\252\006\226\000\217\003\158\007,\005\235\000l\003z\0014\004\201\004\213\003{\006m\004\218\000v\001\199\004\204\005\177\0047\000\222\002H\004\242\0048\000\253\002\219\000m\004\183\000\254\000\153\000c\001\173\001\204\007\158\006\227\000\224\006\228\004E\002\177\005\179\000\153\004\188\003V\007\132\001\163\000\218\004\205\007\163\004F\005\195\001\173\000y\000k\005!\004M\001\228\007U\001.\004\181\001\229\006*\000\153\007\165\006=\001\204\006\229\002\211\005\179\001\181\001\206\000\153\001\156\004\205\001\157\003\160\006\230\0071\002\221\005\000\001.\006>\0019\000\218\006l\006$\000\219\004\191\004\181\004\208\007\167\004\201\002F\004\183\004\213\002r\001\244\007\169\000\200\002[\007\"\006%\001\205\004E\003\162\004\242\004Q\004\188\000\200\002W\002t\000\218\004\205\003V\004F\005\194\005#\000\220\0071\003\136\004\213\003\205\004\183\004\218\004R\004x\004y\000\218\005\014\004S\003\137\004\242\004E\004T\003W\002\195\004\188\005\190\000\153\004U\000\218\004\205\007\153\004F\000\"\000\221\002u\002\197\0053\000S\002\201\007U\004\191\002a\004\251\000S\005\026\004\189\000k\004\213\006>\002t\0051\000\203\000\222\003\165\005&\000\204\000k\001\"\004\242\004Q\0045\000\203\004H\000\218\007-\000\204\001\245\000\224\005]\004\191\003\208\004\251\0016\007\155\006\153\002\203\004\213\004R\000\153\007\157\0019\000\153\004S\007P\007\147\004\250\004T\004\242\004Q\000\217\006A\000S\004U\000S\000S\003\167\0045\006\151\0046\000\217\002G\006\154\006(\006)\007Q\000\004\004R\000V\004x\004y\003\168\004S\003\248\000V\006\189\004T\002\201\005=\000S\000\153\004\204\004U\0047\000S\001\248\0045\0048\004H\005\192\000\005\000z\006\203\001\226\002\200\0074\001\238\007\152\006\190\006\193\006(\006)\0019\001\249\000\153\002m\006\206\001\204\001\250\007P\007\147\004\250\001\251\0019\002\202\000z\001\187\000k\001\252\0047\005\182\000k\000V\0048\000V\000V\006j\001\187\006\203\000\218\006\196\000S\000\219\005L\0019\003\222\0075\006*\003\236\000\218\006\214\0066\000\219\003\248\001\206\004\201\004\204\000$\0047\000V\002\232\004\181\0048\000k\000V\001)\001\228\0045\003\249\004H\001\229\003\241\007\154\000\220\0067\000S\000(\000z\000\153\004\243\006:\006(\006)\000\220\006*\000\153\003\242\000S\006'\005(\007P\007\147\004\250\004x\004y\004\183\004\231\000*\000\153\000\156\000\162\000\153\000\161\002<\006%\004E\001\244\000o\000{\004\188\003\246\000V\005c\000\218\004\205\007\153\004F\000S\000r\003\241\005t\001\198\000c\006\209\007U\004{\004\181\004\204\003\236\0047\004\189\000o\000\128\0048\005\154\000\153\000\156\000\157\001\189\000\161\000\163\004E\000r\007\156\001\226\000V\000c\001\238\006\215\000\218\000\153\003\241\004F\003\"\004\191\006*\004\251\000V\007\155\006\204\004\183\004\213\000\153\000.\007\157\005\020\005o\0018\000\153\001\152\004E\005&\004\242\004Q\004\188\0019\001\162\000\163\000\218\004\205\007\153\004F\0053\000o\001p\000\218\0000\000V\001\245\007U\001\155\004R\000S\006\223\000r\004\189\004S\004\181\000c\005\202\004T\002R\006\233\0013\000k\002o\004U\001\228\006\202\005\193\0045\001\229\004H\0019\005\204\000\209\005\t\000a\000S\004\191\000\210\004\251\002?\007\155\005\020\0003\004\213\004v\000\153\007\157\006\203\004\183\000c\007P\007\147\004\250\001\152\004\242\004Q\004z\004P\004E\002%\001\162\000\164\004\188\001\248\001\244\0007\000\218\004\205\007\153\004F\005\011\000\153\007$\004R\001\155\007%\001\184\007U\004S\000V\0056\001\249\004T\004\189\002\199\006F\001\250\004\204\004U\0047\001\251\000\164\000k\0048\007)\005\t\001\252\000\203\0045\005.\004H\000\211\000S\007\164\001\163\000V\001\142\004\191\001\136\004\251\002q\007\155\007\135\0006\004\213\007\136\000\153\007\157\0019\005.\000\153\007P\007\147\004\250\005F\004\242\004Q\003W\001\164\005\192\001\139\001\156\005\n\001\157\0009\000\217\0050\0045\001\186\004H\007f\0019\006@\000\218\004R\001\136\001\245\005\028\000S\004S\007\"\000;\005+\004T\000?\001\192\005/\004\181\004\204\004U\0047\005H\005\006\0045\0048\004H\001\171\001\139\006\204\002&\0022\001\163\000V\000A\007\168\001\186\006\130\006(\006)\007\140\001\246\000\153\002\200\0045\006.\004H\003U\005\018\004\250\007^\0019\004\183\001\166\005F\001\247\001\169\007e\003\158\001\156\0047\001\157\004E\0019\0048\001\248\004\188\005\023\000S\0019\000\218\004\205\007\153\004F\0045\000\218\0046\005\166\000\219\000V\006/\007U\000C\001\249\004\204\001\187\0047\004\189\001\250\004\181\0048\005G\001\251\004x\004y\005\166\007\"\001\187\001\252\006>\000\209\005\205\002\029\006\207\000k\000\213\0047\006\022\006\023\000\220\0048\004\191\006*\004\251\005\168\007\155\005\204\000\153\004\213\005\012\000\164\007\157\007,\004\183\004M\0071\000\153\005u\004\181\004\242\004Q\003U\005\167\004E\000k\001\200\0047\004\188\000V\005\160\0048\000\218\004\205\007\153\004F\007a\000\153\007b\004R\005\212\007i\007,\007U\004S\004\181\0019\000\226\004T\004\189\007\017\000k\000S\004\183\004U\005\214\000\203\000\164\000\227\004\000\000\211\004M\000S\004E\000\200\002Q\007\194\004\188\006_\006(\006)\000\218\003X\004\191\004F\004\251\007\231\007\155\0060\004\183\004\213\000S\007\144\007\157\000\153\007a\0071\007b\005\014\004E\007\232\004\242\004Q\004\188\000\217\0019\003\220\000\218\004\205\000\153\004F\005\185\005 \0045\003U\004H\000E\000I\000S\004E\004R\007=\004\191\000H\004\189\004S\001\198\000\218\001,\004T\004F\000\153\000V\004\201\000k\004U\003U\005\018\004\250\000\203\004\195\004Q\000V\000\204\004O\007\159\004x\004y\004\191\004E\004\251\004\000\005\026\006*\000z\004\213\005\215\000\218\004\218\004R\004F\000V\006`\007^\004S\007\019\004\242\004Q\004T\005\218\007k\005\214\000K\004\204\004U\0047\000S\000\217\0045\0048\004H\000M\005\226\000\218\005\214\004R\000\219\004Q\000V\005\229\004S\007\216\004\205\0077\004T\0073\000\153\005\228\004x\004y\004U\003U\005\018\004\250\005\228\004R\007W\0045\005\232\004H\004S\0010\000S\005\240\004T\000\005\007\186\000\220\007\186\001\231\004U\000}\0076\005\214\006\150\000\153\004x\004y\005\242\007r\003U\005\018\004\250\007.\005\237\004G\007\240\007\197\004\204\004\213\0047\0019\004\218\004\181\0048\000\252\000V\006\151\000\164\004\164\004\242\006\154\006(\006)\003x\000\131\000\218\006u\003y\000\219\000o\001u\007.\003\225\000\222\0072\007\144\004\204\000\253\0047\0019\000r\000\254\0048\004\205\000c\000\130\004\183\006L\000\224\006v\007l\004\156\006y\006(\006)\007\144\004E\000\209\000S\000\220\004\188\0079\000\213\007\214\000\218\004\205\0071\004F\005\030\005 \006M\006(\006)\000S\007m\000\153\007a\004\181\007b\000\133\007@\004\189\003W\000k\000\209\005\239\0019\003z\007\150\000\210\004\213\003{\004\201\004\218\000n\006*\000\153\000\156\000\157\001\194\000\161\004\242\002.\000S\005\243\004\191\004\181\004\251\007\166\005\026\000\136\004\183\004\213\007G\000\138\004\218\007\235\000k\000\142\005\242\005\246\004E\000\203\004\242\004Q\004\188\000\211\006*\000V\000\218\004\205\002\226\004F\005E\005 \005\214\004\157\007\193\000\163\007\187\004\183\007L\004R\000V\000k\006*\004\189\004S\007\217\000\203\004E\004T\007t\000\211\004\188\003W\b\016\004U\000\218\004\205\000\217\004F\005\189\005 \004\201\002l\000\160\0045\001;\004H\004\191\b\017\004\251\000V\005\026\004\189\000S\004\213\001>\007\236\004\218\007\225\001B\000S\002I\000\153\001.\000\217\004\242\004Q\003U\005\018\004\250\007\243\007\186\001A\0045\003\136\004H\004\191\000o\004\251\000S\005\026\007\242\000\218\004\213\004R\003\137\004\218\006\156\000r\004S\001D\000\153\000c\004T\004\242\004Q\007P\001F\004\203\004U\001J\001L\001N\007\224\004\204\003x\0047\003}\001\204\003y\0048\007\225\0075\004R\004\231\000q\000\218\001P\004S\000\219\006\135\007\186\004T\000V\001S\000\200\002;\001W\004U\001V\000V\003=\001Y\004\204\007\224\0047\000S\003\241\0045\0048\004H\006P\000\209\000\218\0010\001\206\000\219\000\210\007\224\000V\000\220\007\160\004\236\001[\001_\001a\000\153\001c\006_\006(\006)\007P\003\138\004\203\001e\003\158\001\136\0016\001i\003z\001h\001k\000u\003{\004\181\0019\004\240\000\220\000\252\006_\006(\006)\000S\000S\001m\000k\001r\004\231\001\139\001x\000\203\001w\001z\001|\000\204\000S\001\186\000\222\004\204\007\225\0047\000\253\000k\004\181\0048\000\254\000V\000\203\004\183\001~\003\241\000\211\000\224\001\130\001\203\000\209\007\145\001\198\004E\001\135\000\210\000o\004\188\007\189\0024\004\236\000\218\004\205\000\217\004F\007p\005 \000r\006*\001\191\003\160\000c\004\183\001\197\001\196\002f\002e\006\164\004\189\002k\000\217\002y\004E\002|\004\240\002\128\004\188\000V\000V\006*\000\218\004\205\007\146\004F\002\127\002\130\000\153\002\132\006\179\003\162\000V\007U\004\191\004\181\004\251\002\136\005\026\007\149\007\191\004\213\000k\002\138\004\218\000o\003\136\000\203\003\197\002\140\000\153\000\211\004\242\004Q\000\218\007,\000r\003\137\002\142\002\145\000c\002\149\000S\004\191\002\148\004\208\007\151\002\151\002\153\004\183\004\213\004R\002\157\007\157\000\218\002\159\004S\000\219\002\161\004E\004T\004\242\004Q\004\188\002\163\000\217\004U\000\218\004\205\007\146\004F\000\218\003\165\0045\000\219\004H\001\152\000\209\007U\004\155\004R\002\167\000\210\001\162\007\149\004S\000\164\001\198\000\220\004T\002\166\000\153\002\169\000\200\0028\004U\007P\001\155\004\203\003\134\002\171\004\222\002\176\002\182\002\181\000\220\000\200\0027\004\191\002\184\004\208\007\151\004\156\000\153\003\167\004\213\002\186\002\188\007\157\000\209\002\192\002\209\002\208\000S\000\210\000S\004\242\004Q\002\225\003\168\002\231\000\153\002\230\004\204\0038\0047\002\234\000k\0045\0048\004H\002\237\000\203\002\241\000\218\004R\000\211\000\219\002\240\002\243\004S\007\148\001+\000k\004T\002\245\000\153\002\249\000\203\000x\004U\003U\000\204\004\203\000S\002\251\000k\0045\000S\004H\002\253\000\203\002\255\000\153\000\156\000\204\003\002\001\137\000\220\000k\000\217\001\176\003\006\003\005\000\203\000\153\003\b\006\216\000\211\003\n\003U\003\014\004\203\000V\001\163\000V\000\217\004\157\004\204\001\152\0047\004\159\001\155\004\181\0048\007-\001\180\003\016\003\018\000\217\006\217\003\020\006\220\006(\006)\000\163\003\024\0045\003\228\004H\001\155\001\156\000\217\001\157\003\023\000\226\003\026\004\204\003\028\0047\000S\0019\003!\0048\004\156\003'\000\229\004\183\000V\003&\005\197\003)\004\174\005\196\005@\007.\003+\004E\000\153\000\156\001\138\004\188\000\161\0019\003-\000\218\004\205\007\146\004F\000\218\0031\006L\000\219\0037\000S\000o\007U\0036\004\181\005>\003<\003B\007\149\005@\003A\000\218\000r\003\158\000\219\0047\000c\006!\003\157\0048\006M\006(\006)\006*\000\218\006J\000\163\000\219\0065\000\220\006C\006o\004\191\004\181\004\208\007\151\000V\000\218\004\183\004\213\000\219\006\149\007\157\000S\006\174\000\220\006\176\006\186\004E\006\188\004\242\004Q\004\188\006\198\006\225\004\157\000\218\004\205\000\220\004F\000S\004:\001\156\007}\001\157\007\171\001\179\004\183\007\175\004R\000V\000\220\0019\0055\004S\007\195\000\226\004E\004T\000z\001\156\004\188\001\157\004\181\004U\000\218\004\205\000\231\004F\007\201\0019\007\202\007\207\007\208\007\213\006*\0045\004\191\004H\004\208\0057\007\212\0055\007\220\004\213\000S\004\196\004\218\007\222\007\228\007\229\007\233\007\234\000V\000\153\004\242\004Q\004\183\002M\003U\004\198\004\203\007\237\004C\001\139\001\202\004\191\004E\004\208\0057\000V\004\188\001\186\004\213\004R\000\218\004\218\007\238\004F\004S\006\236\006\189\003x\004T\004\242\004Q\003y\007\241\007\244\004U\007\245\b\006\004\189\007\251\b\004\b\000\004\204\004\139\0047\b\003\b\012\000\153\0048\004R\006\190\006\193\006(\006)\004S\0045\b\n\004H\004T\b\014\b\019\000V\004\191\001\136\004U\000\000\004\210\000\000\000\000\000\000\000\209\000o\002\174\000\153\000S\000\210\000\000\000\000\003U\004\211\004\250\004Q\000r\000\000\000\000\001\139\000c\000\000\003\158\000\000\000\200\0026\003z\001\186\000\000\000\000\003{\000\000\000\000\004R\006S\000\000\000\000\000\164\004S\000\000\000S\000\000\004T\0045\000z\004H\004\181\000\000\004U\004\204\007^\0047\005^\000\209\004\253\0048\000\000\007`\000\210\000\000\006*\000\153\000\000\0045\000k\004H\003U\004\211\004\250\000\203\000\000\000\000\000\000\000\211\005\002\000\000\000\000\004\162\000V\000\000\004\183\000\153\000\164\000\000\000k\000\000\003U\004\211\004\250\000\203\004E\000\000\003\160\000\204\004\188\000\209\003W\005f\000\218\004\205\000\210\004F\000\000\004\204\000\000\0047\000\000\000\217\006\216\0048\004\156\000\000\000\000\000k\000\000\004\255\000\000\000S\000\203\004\181\000\000\003\162\000\211\004\204\000\153\0047\000\000\000\217\000\000\0048\000\000\006\217\000\000\006\220\006(\006)\003\136\000\000\003\164\004\191\000\000\004\208\005\001\006\216\000\218\000\000\004\213\003\137\000\000\005\003\000o\002\179\000\000\004\183\000\000\000k\000\217\004\242\004Q\000\000\000\203\000r\000\000\004E\000\211\000c\006\217\004\188\006\220\006(\006)\000\218\004\205\004\181\004F\000\000\004R\000\000\007\014\000\000\000\000\004S\003\165\000\000\000\000\004T\000\218\000V\004\189\000\219\000\000\004U\001\152\004\181\007a\004\157\007b\000\000\000\217\001\162\000\000\000\000\000\000\000\153\0019\000\000\000\218\004\183\006*\000\219\000\000\000S\004\191\001\155\004\251\000\000\004\252\004E\000\000\004\213\000\220\004\188\004\218\000\000\003\167\000\218\004\205\004\183\004F\000\000\004\242\004Q\0045\000\000\004H\000\218\000\000\004E\000\219\003\168\000\220\004\188\004\189\006*\000\000\000\218\004\205\000z\004F\004R\000\153\000\000\000\000\000\000\004S\003U\005\018\004\250\004T\000\000\000\000\000\000\004\189\000S\004U\000\000\004\191\000\226\004\251\000\220\004\252\000\000\007^\004\213\000\164\000\000\004\218\000\218\000\233\007h\000\219\000V\000\000\000\000\004\242\004Q\004\191\000\000\004\251\003\250\004\252\000\000\004\204\004\213\0047\000\000\004\218\0045\0048\004H\000\000\000\200\0025\004R\004\242\004Q\000\153\000\000\004S\000\000\001\163\000\220\004T\003\254\000\000\000\153\000\226\0045\004U\004H\003U\005\018\004\250\004R\000\000\006\255\000\000\000\235\004S\000\200\000\202\000S\004T\000V\003\238\000\153\000\000\001\156\004U\001\157\003U\005\018\004\250\000\000\000\000\000\000\000\000\0019\000\153\000\156\000\157\002c\000\161\000o\003\031\000\000\000\000\004\204\000\226\0047\007\006\000k\004\181\0048\000r\000\153\000\203\000\000\000c\000\237\000\204\000\000\000\000\000\000\001\152\000\000\000\000\004\204\000\000\0047\000S\001\175\0045\0048\004H\000\000\000\000\000\000\000\000\000k\000\163\000\000\000\000\000\000\000\203\001\155\004\183\000\000\000\204\000\000\000\000\000V\000\000\000\000\000\217\000\000\004E\004\174\005\015\000\000\004\188\000\000\000\000\000\000\000\218\004\205\007a\004F\007b\005\025\000\164\000\000\000\000\000\000\000\000\000\209\0019\004\181\000\000\000\000\000\210\004\189\000\217\001\152\000\000\005v\000\000\000\000\000\000\000\000\001\154\000\000\003\158\006\219\0047\000\000\000\000\004\181\0048\000\000\000V\000\000\000\000\006L\001\155\004\191\000\000\004\251\000\000\005\026\000\000\004\183\004\213\000\000\000S\004\218\006\217\000\000\006\220\006(\006)\004E\000\000\004\242\004Q\004\188\006M\006(\006)\000\218\004\205\004\183\004F\000\218\005\027\000k\000\219\000\000\000\164\000\000\000\203\004E\004R\000\000\000\211\004\188\004\189\004S\000\000\000\218\004\205\004T\004F\005\127\005-\000\000\000\000\004U\0045\000\000\004H\000\218\004\181\000\000\000\219\000\000\004\189\000\220\000\000\001\156\004\191\001\157\004\251\000\000\005\026\006\024\000\153\004\213\000\217\0019\004\218\003U\0058\004\250\000V\000\000\000\000\000\164\004\242\004Q\004\191\001\136\004\251\006*\005\026\000\220\004\183\004\213\006\025\000\000\004\218\006*\005\145\006\028\006(\006)\004E\004R\004\242\004Q\004\188\000\000\004S\001\139\000\218\000\000\004T\004F\004\204\000\000\0047\001\186\004U\0045\0048\004H\000\000\004R\001\156\000S\001\157\004\189\004S\000\000\000\000\000\000\004T\003W\0019\000\000\000\000\000\153\004U\0045\000\000\004H\003U\0058\004\250\000\000\006\216\000\000\000\000\000\000\005N\004\191\000\000\000\218\000S\000\000\000\219\000\153\005:\000\000\000\000\000z\003U\004\211\004\250\000\000\000\000\000\164\000\000\006\217\004Q\006\220\006(\006)\006*\000\000\000\000\000\000\000\000\004\204\000\000\0047\005\161\000\000\004\181\0048\000\000\000\220\004R\000\000\000\000\000\209\000\000\004S\000\000\000V\000\210\004T\000\000\004\204\000\000\0047\000\000\004U\0045\0048\004H\000\000\000\153\000\156\000\157\002\206\000\161\000\000\000\000\000\000\006Y\000\000\004\183\000\000\000\000\000\000\000\153\005<\000V\000\000\000\000\003U\004E\004\203\000\000\000\000\004\188\000\000\000\226\006u\000\218\004\205\000\000\004F\000\200\001\219\000\000\000\000\000\000\000\239\006*\000\000\000\000\004\181\000\163\000k\000\000\004\189\000\000\000\000\000\203\000\000\006v\000\000\000\211\006y\006(\006)\004\204\000\000\0047\000o\003$\004\181\0048\000\000\000\000\000\000\000\000\000\000\000\000\004\191\000r\004\251\000\000\005;\000c\004\183\004\213\000\000\000\000\004\218\006+\000\000\000\000\000\000\000\000\004E\000\217\004\242\004Q\004\188\000\000\000\000\000k\000\218\004\205\004\183\004F\000\203\005\183\003W\000\000\000\204\005@\000\164\000\000\004E\004R\000\000\000\000\004\188\004\189\004S\000\000\000\218\004\205\004T\004F\000\000\004\001\000\000\000S\004U\0045\000\000\004H\000\000\004\181\000\000\006*\000\000\004\189\000\000\000\000\000\000\004\191\000\217\004\251\000\000\005;\000\000\000\153\004\213\004\005\000\000\004\218\003U\000\000\004\203\000\000\000\000\000\000\000\000\004\242\004Q\004\191\007\t\004\251\000\000\004\252\000\000\004\183\004\213\000\000\000\000\004\218\000\218\000\000\000\000\000\219\000\000\004E\004R\004\242\004Q\004\188\000\000\004S\000\000\000\218\004\205\004T\004F\004\204\000\000\0047\000\000\004U\0045\0048\004H\000V\004R\000\000\001\136\000\000\0055\004S\000\000\000\000\000\220\004T\000\000\000\000\000\000\000\000\000\153\004U\0045\000\000\004H\003U\000\000\004\203\000\000\000\218\001\139\000\000\000\219\000\000\004\191\000\000\004\208\0057\001\186\005\199\000\153\004\213\000\000\005@\004\218\003U\000\000\004\203\000\000\000\000\000\000\000\000\004\242\004Q\000\000\000\000\000\000\000\000\000\000\006\141\000\000\000\226\004\204\000\220\0047\000\000\000\000\004\181\0048\000\000\000\000\004R\000\241\000\000\000\209\006L\004S\000\000\000\000\000\210\004T\000\000\004\204\000\000\0047\000\000\004U\0045\0048\004H\000\000\000\000\000\164\000\000\000\000\000\000\000\000\000\000\006M\006(\006)\004\183\000\000\000\000\005\201\000\153\000\000\004\244\005@\000\000\003U\004E\004\203\000\000\000\000\004\188\000\000\000\000\000\000\000\218\004\205\000\000\004F\000\000\007:\000\000\000\000\000\000\005@\000\000\000\000\004\248\004\181\000\000\000k\000\000\0055\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\004\204\000\000\0047\000\000\000\000\004\181\0048\000\209\000\000\000\000\000\000\000\000\000\210\004\191\000\000\004\208\0057\000\000\000\000\004\183\004\213\000\000\000\000\004\218\000\000\000\000\006*\000\000\000\000\004E\000\217\004\242\004Q\004\188\000\200\001\222\000\000\000\218\004\205\004\183\004F\000\000\007H\000\000\000\000\000\000\005@\000\000\000\000\004E\004R\000\000\000\000\004\188\0055\004S\000\000\000\218\004\205\004T\004F\000\000\000\000\000\000\000\000\004U\0045\000k\004H\000\000\004\181\000\000\000\203\000\000\0055\000\000\000\211\007B\004\191\000\000\004\208\0057\000\000\000\000\000\153\004\213\000\000\000\000\004\218\003U\004\211\004\250\000\000\000\000\000k\000\000\004\242\004Q\004\191\000\203\004\208\0057\000\000\000\204\004\183\004\213\000\000\000\000\004\218\000\218\000\217\000\000\000\219\000\000\004E\004R\004\242\004Q\004\188\000\000\004S\000\000\000\218\004\205\004T\004F\004\204\000\000\0047\000\000\004U\0045\0048\004H\000\000\004R\000\000\000\217\000\000\0055\004S\000\000\007v\000\220\004T\006W\000\000\000\000\000\000\000\153\004U\000\000\000\000\000\000\003U\004\211\004\250\000\000\000\000\005I\0045\000\000\004H\004\191\000\000\004\208\0057\000\000\000\200\001\225\004\213\000\000\000\000\004\218\000\000\000\000\000\000\000\000\000\153\000\000\000\000\004\242\004Q\003U\000\000\004\250\000\000\000\000\006L\000\218\000\226\004\204\000\219\0047\000\000\001\226\004\181\0048\001\227\000\000\004R\000\243\000\000\000\000\000\000\004S\000\000\000\000\000\000\004T\000\000\006M\006(\006)\000\000\004U\000\218\000\153\000\000\000\219\004\204\000\000\0047\000\220\000\000\000\000\0048\000\000\000k\006L\004\183\000\000\000\000\000\203\000\000\000\000\000\000\000\204\000\000\000\000\004E\000\000\000\000\000\000\004\188\000\000\000\000\000\000\000\218\004\205\000\220\004F\006M\006(\006)\000k\000\000\000\000\001\228\006L\000\000\004\181\001\229\000\000\000\000\004\189\000\000\000\000\003x\000\000\000\226\000\217\003y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\006M\006(\006)\001\152\006*\000\000\000\000\004\191\004\181\004\251\001\178\004\252\000\000\004\183\004\213\006L\001\244\004\218\000\000\000\000\000\000\000\000\000\000\004E\001\155\004\242\004Q\004\188\000\209\000\000\000\000\000\218\004\205\000\210\004F\000\000\000\000\000\000\006M\006(\006)\006L\004\183\000\000\004R\006*\003\158\000\000\004\189\004S\003z\000\000\004E\004T\003{\0045\004\188\004H\000\000\004U\000\218\004\205\000\000\004F\006M\006(\006)\001\226\000\218\004\254\001\238\000\219\004\191\000\153\004\251\006*\004\252\005K\003U\004\213\004\203\003\159\004\218\000\153\000\156\000\157\002\223\000\161\000k\000\000\004\242\004Q\000\000\000\203\000\000\000\218\000\000\000\211\001\245\000\000\000\000\004\191\000\220\004\251\000\000\005M\000\000\000\000\004\213\004R\000\000\004\218\000\000\006*\004S\004\204\003\160\0047\004T\004\242\004Q\0048\000\000\006f\004U\000\163\0045\000k\004H\000\000\001\228\000\217\000\000\000\000\001\229\000\000\000\000\000\000\004R\006*\004\202\000\000\000\000\004S\000\153\003\162\000\000\004T\001\156\003U\001\157\004\203\000\000\004U\000\000\000\000\000\000\000\000\0019\000\000\003\136\000\000\003\198\000\000\006d\000\200\003`\002<\000\218\000\000\001\244\003\137\000\000\000\000\0021\000\000\000\000\000\000\000\000\001\226\000\000\000\000\001\238\000\000\000\000\004\181\004\204\000\000\0047\000\000\000\209\0045\0048\004H\006b\000\210\000\000\000\153\003\201\000\000\000\000\000\000\000\000\000\000\000\000\004\212\003\165\000\000\000\000\000\153\000\218\000\000\000\000\000\219\003U\000\000\004\203\000\000\000\000\004\183\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\004E\000\203\000\000\006q\004\188\000\204\000\000\000\000\000\218\004\205\000k\004F\000\000\001\228\000\000\000\220\000\000\001\229\000\000\003\167\000\218\000k\004\204\001\245\0047\004\206\000\203\004\181\0048\006\128\000\211\000\000\000\000\000\000\003\168\000\000\002=\000\000\000\000\000\217\000\000\000\153\000\156\000\157\002\228\000\161\000\000\001\136\002%\004\191\000\000\004\208\004\209\001\244\000\000\000\000\004\213\002?\000\000\004\218\000\000\004\183\000\226\000\000\000\217\000\000\000\000\004\242\004Q\001\139\000\000\004E\000\000\000\247\000\000\004\188\000\000\001\186\000\000\000\218\004\205\001\248\004F\000\163\000\000\000\000\004R\000\000\0045\006u\004H\004S\004\181\000\000\000\000\004T\004\206\000\000\000\000\001\249\000\000\004U\000\000\000\000\001\250\000\000\000\153\001\226\001\251\000\000\001\227\003U\006v\004\203\001\252\006y\006(\006)\000\218\000\000\004\191\000\219\004\208\004\209\000\000\000\000\004\183\004\213\000\000\000\000\004\218\000\000\000\218\000\000\000\000\001\245\004E\006u\004\242\004Q\004\188\000\000\000\000\000\218\000\218\004\205\000\219\004F\004\204\000\000\0047\000\000\000\220\0045\0048\004H\006L\004R\002&\002'\006v\004\206\004S\006y\006(\006)\004T\000k\000\000\001\246\001\228\000\153\004U\000\000\001\229\000\000\003U\000\220\004\203\006M\006(\006)\0045\001\247\004H\004\191\000\000\004\208\004\209\000\000\006*\0019\004\213\001\248\000\000\004\218\000\000\000\000\000\000\000\000\000\153\000\000\000\000\004\242\004Q\003U\000\000\004\203\000\000\000\000\001\244\001\249\000\000\004\204\000\000\0047\001\250\000\000\004\181\0048\001\251\000\000\004R\000\000\000\226\000\000\001\252\004S\000\000\000\000\002\029\004T\000\000\000\000\001\136\001\001\000\000\004U\006*\000\000\000\000\000\000\004\204\000\000\0047\000\000\000\000\000\000\0048\000\000\000\000\000\000\004\183\000\000\006*\000\000\001\139\000\000\000\000\000\000\000\000\000\000\004E\000\000\001\186\000\000\004\188\000\000\000\200\003q\000\218\004\205\000\000\004F\000\153\000\156\000\157\0034\000\161\005\029\000\000\000\000\000\000\004\181\000\000\000\000\000\000\005\022\000\000\000\218\000\209\000\000\001\245\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\159\000\000\000\000\000\000\000\000\004\191\004\181\004\208\005\024\000\000\000\163\004\183\004\213\000\000\000\000\004\218\0045\000\000\004H\000\000\000\000\004E\000k\004\242\004Q\004\188\000\000\000\203\000\000\000\218\004\205\000\204\004F\000\000\000\153\000\000\000\000\000\000\005\021\003U\004\183\004\203\004R\000\000\000k\000\000\005\022\004S\006\242\000\203\004E\004T\000\000\000\211\004\188\000\000\000\000\004U\000\218\004\205\006L\004F\0020\000\000\000\000\000\217\005)\006\139\000\200\003t\004\191\000\000\004\208\005\024\000\000\005*\004\204\004\213\0047\000\000\004\218\000\000\0048\006M\006(\006)\000\000\000\217\004\242\004Q\0045\000\000\004H\000\000\000\000\000\000\000\000\000\000\000\000\004\191\000\000\004\208\005,\000\000\000\000\000\000\004\213\004R\000\153\004\218\000\000\000\000\004S\003U\000\000\004\203\004T\004\242\004Q\000\000\000\000\000\000\004U\000\000\000\209\000\000\000\000\000\000\000k\000\213\000\000\000\000\000\000\000\203\000\000\000\000\004R\000\204\000\000\000\000\000\000\004S\000\000\000\000\000\218\004T\004\181\000\219\000\000\000\000\004\204\004U\0047\000\000\000\000\000\000\0048\000\209\006*\000\000\000\000\001\136\000\215\0045\000\000\004H\000\218\000\000\000\000\000\219\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\000\004\183\000\153\000\000\001\139\000k\000\000\003U\000\000\004\203\000\203\004E\001\186\000\000\000\211\004\188\000\000\0054\000\000\000\218\004\205\000\220\004F\000\000\000\000\000\000\000\000\000\249\005'\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\022\000\000\000k\000\200\003w\004\181\000\000\000\203\004\204\000\000\0047\000\211\000\217\000\221\0048\000\200\004\015\000\209\000\000\000\000\000\000\000\000\000\210\000\000\004\191\000\000\004\208\005\024\000\000\000\000\000\000\004\213\000\222\000\000\004\218\000\218\000\000\000\223\000\219\004\183\000\000\000\000\004\242\004Q\000\000\000\217\000\000\000\224\000\000\004E\000\000\000\000\000\000\004\188\0059\000\000\000\000\000\218\004\205\000\000\004F\004R\006\144\000k\006L\000\000\004S\000\000\000\203\000\220\004T\000\000\000\204\000\000\0055\000k\004U\000k\004\181\0045\000\203\004H\000\203\000\000\000\204\000\000\000\211\006M\006(\006)\000\000\000\218\007>\000\000\000\219\000\000\000\000\000\153\004\191\000\000\004\208\0057\003U\000\000\004\203\004\213\000\217\000\000\004\218\000\000\000\000\000\000\004\183\000\000\000\000\000\000\004\242\004Q\000\217\000\255\000\217\000\000\004E\000\000\000\218\000\220\004\188\000\219\000\000\000\000\000\218\004\205\000\000\004F\000\000\004R\006L\000\000\000\000\004\204\004S\0047\000\000\000\000\004T\0048\000\000\0055\000\000\000\000\004U\000\000\0045\000\252\004H\000\000\000\000\000\000\000\220\006M\006(\006)\006*\000\000\000\000\007J\000\000\000\000\000\000\000\000\000\153\004\191\000\222\004\208\0057\003U\000\253\004\203\004\213\000\000\000\254\004\218\000\000\000\000\000\000\000\218\000\221\000\224\000\219\004\242\004Q\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\209\000\218\000\219\000\000\000\219\000\210\000\000\000\222\000\000\000\000\004R\004\181\001!\000\000\004\204\004S\0047\000\000\000\000\004T\0048\000\220\000\224\000\000\000\000\004U\000\000\000\209\0045\000\000\004H\000\000\000\215\000\220\000\000\000\220\006*\000\000\000\000\000\000\000\000\007M\000\000\000\000\000\000\004\183\000\153\006L\000\000\000\000\0045\003U\004H\004\203\000\000\004E\000\000\000\000\000\000\004\188\000k\000\000\000\000\000\218\004\205\000\203\004F\000\000\000\153\000\211\006M\006(\006)\005\\\000\000\000\000\000\000\000\000\000\000\000\000\007?\000\000\000\226\006\170\004\181\000\000\000\000\000k\004\204\000\000\0047\000\000\000\203\001\003\0048\000\000\000\211\005\173\000\000\000\000\000\000\006L\000\000\000\217\004\191\000\000\004\208\007A\000\000\000\000\005~\004\213\0047\000\000\004\218\000\000\0048\000\000\004\183\006L\000\000\000\000\004\242\004Q\006M\006(\006)\000\000\004E\000\000\000\217\000\000\004\188\000\000\000\000\005\132\000\218\004\205\000\000\004F\000\000\004R\006M\006(\006)\006*\004S\000\000\006L\000\000\004T\000\000\000\000\007?\000\000\006\168\004U\000\000\004\181\000\000\0045\000\000\004H\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\210\006M\006(\006)\000\000\000\000\000\000\004\191\000\153\004\208\007A\000\000\000\218\005\\\004\213\000\219\000\000\004\218\000\000\000\000\000\000\000\000\004\183\000\000\000\000\004\242\004Q\000\000\000\000\006*\000\000\000\000\004E\000\000\000\000\000\000\004\188\005{\000\000\000\218\000\218\004\205\000\219\004F\004R\006L\000\220\006*\000\000\004S\005~\000\000\0047\004T\004E\000k\0048\007?\000\000\004U\000\203\000\000\000\218\005\133\000\211\004F\000\000\000\000\006M\006(\006)\001\226\000\000\000\220\001\238\005\132\006*\000\000\000\153\005\134\000\000\004\191\000\000\004\208\007A\000\000\000\000\000\000\004\213\000\153\000\000\004\218\000\000\000\226\006\166\000\000\000\000\000\000\000\217\004\242\004Q\000\221\000\000\000\000\001\005\000\000\000\000\000\000\000\000\000\000\005\136\000\000\005\169\005\141\000\000\000\000\004M\000\000\004R\001.\000\222\005\159\004Q\004S\0045\001$\004H\004T\000\000\000\000\000\000\000k\000\000\004U\001\228\000\224\001\226\000\000\001\229\001\238\004R\000\000\000\153\006*\000\000\004S\001\152\005\\\006\183\004T\000\000\000\000\000\000\001\162\000\153\004U\000\000\000\000\000\000\000\153\000\156\000\157\003:\000\161\004E\000\000\006\181\001\155\000\000\002%\000\000\005}\000\218\005\133\001\244\004F\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\005~\000\000\0047\000\000\000\000\005\171\0048\000\000\000\000\000\000\000\000\006\240\000k\000\000\000\000\001\228\000\000\000\163\000\000\001\229\000\000\000\000\000\000\000\000\000\000\005\132\001\226\000\220\000\000\001\238\000\000\000\000\000\000\000\000\000\000\000\000\005\136\000\000\001\226\005\172\000\000\001\238\000\000\000\000\000\153\000\000\000\000\005\159\004Q\000\000\002%\000\000\000\000\000\000\000\000\001\244\000\153\000\153\000\156\000\157\003?\000\161\000\000\000\000\000\000\000\000\004R\000\000\000\000\000\218\000\000\004S\001\245\000\000\000\226\004T\000\000\000\000\006\245\000\000\001\163\004U\000\000\000\000\000\000\001\007\000k\000\000\000\000\001\228\000\000\000\000\000\000\001\229\000\000\002&\003\127\000\000\000k\000\163\000\000\001\228\000\000\000\000\004\225\001\229\001\246\001\156\000\000\001\157\000\000\000\000\000\000\000\000\004E\000\000\000\000\0019\000\000\000\000\001\247\000\000\000\218\005\133\002%\004F\000\000\000\209\0019\001\244\001\248\000\000\000\213\000\000\000\218\000\000\002%\001\245\000\000\005\134\000\000\001\244\000\000\000\000\000\000\000\153\000\000\000\000\001\249\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\001\251\000\000\000\000\002&\004<\000\000\001\252\000\000\000\000\000\000\002\029\001\136\000\000\005\136\001\246\000\000\005\141\000\000\000\000\000\000\0045\000\000\004H\000\000\005\159\004Q\000\000\000\000\001\247\000\000\000k\001\226\000\000\001\139\001\238\000\203\0019\000\000\001\248\000\211\000\000\001\186\000\000\004R\000\000\004\174\005\005\000\000\004S\000\153\000\000\000\218\004T\000\000\001\245\000\000\001\249\000\000\004U\000\000\000\000\001\250\000\000\000\218\000\000\001\251\001\245\000\200\004.\000\000\000\000\001\252\000\000\000\217\000\000\002\029\000\000\002&\004\185\000\000\003\158\000\000\0047\000\000\000\000\000\000\0048\000\000\001\246\002&\004\215\000k\000\000\001\136\001\228\000\000\000\000\001,\001\229\001.\001\246\000\000\001\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\001\248\000\000\001\247\001\139\000\000\000\000\000\000\000\000\000\000\000\000\0019\001\186\001\248\000\000\000\000\000k\000\000\002%\001\249\000\000\000\203\000\000\001\244\001\250\000\204\000\000\000\000\001\251\000\000\000\000\001\249\000\000\000\000\001\252\0045\001\250\004H\002\029\004\181\001\251\000\218\000\000\000\000\000\219\000\000\001\252\000\000\000\000\000\000\002\029\000\000\000\000\000\000\000\000\0045\000\000\004H\000\000\000\217\004\174\004\175\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0010\000\000\000\000\000\000\004\183\000\000\000\220\000\000\000\000\000\000\000\000\004\174\004\187\000\000\004E\000\000\000\000\0045\004\188\004H\000\000\000\000\000\218\0016\000\000\004F\003\158\000\000\0047\000\000\000\000\0019\0048\000\218\000\252\000\000\001\245\000\000\000\000\004\189\000\000\000\000\004\174\005\017\000\000\000\000\003\158\000\000\0047\000\000\000\000\000\000\0048\000\222\000\000\000\000\000\000\000\253\000\000\002&\005\138\000\254\000\000\004\191\000\000\000\000\000\000\000\000\000\224\000\218\001\246\000\000\000\219\000\000\000\000\000\000\000\000\003\158\000\000\0047\000\000\000\000\004Q\0048\001\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\001\248\000\000\004\181\000\000\000\000\000\000\004R\000\000\000\000\000\220\000\000\004S\000\000\000\000\000\000\004T\000\000\000\000\001\249\000\000\000\000\004U\004\181\001\250\000\000\000\000\0045\001\251\004H\000\000\000\000\000\000\000\000\001\252\000\000\000\000\004\183\002\029\0045\000\000\004H\000\000\000\209\000\000\000\000\000\000\004E\000\210\000\000\000\000\004\188\004\174\005\221\004\181\000\218\000\000\004\183\004F\000\000\000\000\000\000\000\000\000\000\004\174\005\223\000\000\004E\000\000\000\000\000\000\004\188\004\189\000\000\000\000\000\218\000\000\000\000\004F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\158\004\183\0047\000\000\000\000\004\189\0048\000\000\000\000\004\191\000\000\004E\003\158\000\000\0047\004\188\000k\001\226\0048\000\218\001\238\000\203\004F\000\000\000\000\000\211\000\000\000\000\004Q\004\191\000\000\000\000\000\000\000\000\000\000\000\153\004\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004R\000\000\004Q\000\000\000\000\004S\000\000\000\000\000\000\004T\000\000\000\000\000\000\000\217\004\191\004U\000\000\000\000\000\000\000\000\004R\0045\000\000\004H\004\181\004S\000\000\000\000\000\000\004T\000\000\000k\000\000\004Q\001\228\004U\004\181\001\226\001\229\000\000\001\238\000\000\000\000\000\000\000\000\000\000\004\174\005\225\000\000\000\209\000\000\004R\000\000\000\000\000\210\000\153\004S\000\000\004\183\000\000\004T\000\000\000\000\000\000\000\000\000\000\004U\000\000\004E\002$\004\183\000\000\004\188\000\000\001\244\000\000\000\218\000\000\000\000\004F\004E\003\158\000\000\0047\004\188\000\000\000\000\0048\000\218\000\000\000\000\004F\000\218\004\189\000\000\000\219\000\000\000k\000\000\000\000\001\228\000\000\000\000\000\000\001\229\004\189\000\000\001\226\000\000\000k\001\238\000\000\000\000\000\000\000\203\000\000\000\000\004\191\000\211\000\000\001\226\000\000\000\000\001\238\000\000\000\153\000\220\000\000\000\000\004\191\000\000\000\000\000\000\000\000\000\000\000\000\004Q\000\000\000\153\000\000\001\244\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004Q\000\000\000\000\004\181\000\217\000\218\004R\000\000\001\245\000\000\000\000\004S\000\000\001\226\000\000\004T\001\238\000\000\004R\000k\000\000\004U\001\228\004S\000\000\000\226\001\229\004T\000\000\000\000\000\000\000\153\000k\004U\000\000\001\228\001\t\004\183\000\000\001\229\000\000\000\000\001\246\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\004\188\0045\000\000\004H\000\218\001\247\001\243\004F\000\000\000\000\000\000\001\244\000\000\0019\000\000\001\248\000\000\000\000\000\000\002\031\000\218\004\189\000k\001\245\001\244\001\228\005\b\000\000\000\000\001\229\000\000\000\000\000\218\001\249\000\000\000\219\000\209\000\000\001\250\000\000\000\000\000\213\001\251\000\000\000\000\004\191\000\000\000\000\001\252\000\000\000\000\000\000\002\029\000\000\000\153\000\000\000\000\001\246\000\000\000\000\002#\003\158\000\000\0047\004Q\001\244\000\220\0048\000\209\000\000\000\000\001\247\000\000\000\213\000\000\000\000\000\000\000\000\002 \0019\000\000\001\248\004R\000\000\000\000\000\000\000\153\004S\000\000\000\000\000\218\004T\000\000\001\245\000\000\000\000\000k\004U\000\000\001\249\000\000\000\203\000\000\000\218\001\250\000\211\001\245\000\209\001\251\000\000\000\000\000\000\000\213\000\226\001\252\000\000\000\000\000\000\002!\000\000\000\000\000\000\000\000\000\000\001\011\000\153\000\000\001\246\000k\000\000\000\000\004\181\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\217\001\246\001\247\000\000\000\000\000\218\000\000\000\000\001\245\000\209\0019\000\000\001\248\000\000\000\213\001\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\001\248\004\183\000\153\000k\000\000\001\249\000\000\000\217\000\203\000\000\001\250\004E\000\211\000\000\001\251\004\188\000\209\001\246\001\249\000\218\001\252\000\213\004F\001\250\002\029\000\000\000\000\001\251\000\000\000\000\000\000\001\247\000\000\001\252\000\153\000\000\004\189\002\029\000\000\0019\000\000\001\248\000\000\000\000\000k\000\000\000\217\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\218\000\000\000\000\000\219\000\000\001\249\004\191\000\000\000\000\000\000\001\250\000\000\000\000\000\000\001\251\000\000\000\000\000\000\000\000\000\000\001\252\000\000\000k\000\000\002\029\004Q\000\000\000\203\0029\000\000\000\000\000\211\000\218\000\217\000\220\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004R\000\000\000\000\003x\000\000\004S\000\000\003y\002K\004T\000\000\000\000\000\000\000\000\000\000\004U\0019\001\208\000\000\000\252\000\000\000\000\000\217\000\220\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\222\000\000\001\210\000\000\000\253\000\000\000\000\000\000\000\254\000\000\0019\000\000\000\209\000\252\000\000\000\224\000\000\000\213\0029\000\000\000\000\000\000\000\000\000\000\000\220\003\158\000\000\000\000\000\000\003z\000\153\000\218\000\222\003{\000\219\000\000\000\253\000\000\000\000\000\000\000\254\002O\000\000\000\000\000\000\000\000\000\000\000\224\000\000\0019\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\0029\003\209\000\200\0041\000\218\000\000\000\220\000\219\000\000\000\000\000\209\000\000\000\222\000k\000\000\000\215\000\253\000\000\000\203\000\000\000\254\000\000\000\211\002U\000\000\000\000\000\000\000\224\000\000\000\000\000\209\0019\0029\000\000\000\252\000\213\003\160\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003x\000\153\000\000\000\000\003y\000\000\000\222\000\209\002Y\000\217\000\253\000\000\000\213\000\000\000\254\000k\0019\000\000\003\162\000\252\000\203\000\224\000\000\000k\000\204\000\153\000\000\000\000\000\203\000\153\000\000\000\000\000\211\003\136\003\213\003\198\000\000\000\000\000\222\000\000\000\000\000\218\000\253\000k\003\137\000\000\000\254\000\000\000\203\000\000\000\000\000\000\000\211\000\224\000\000\000\000\000\000\000\000\000\217\000\000\003\158\000\000\000\000\000\000\003z\003\212\000\217\000k\003{\000\000\000\000\003\201\000\203\000\000\000\000\000\000\000\211\000\000\000\000\003\165\000\000\000\000\000\000\000\000\000\209\000\000\000\217\000\000\000\218\000\213\000\000\000\219\000\000\000\000\000\000\003\209\000\000\001\152\000\209\000\000\000\000\000\000\000\153\000\215\001\162\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\000\0029\000\000\001\155\000\000\000\000\003\167\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\160\000\000\000\000\000\000\003x\000\000\003\168\000\218\003y\003^\000\219\000\000\000\000\000\000\000k\000\218\000\000\0019\000\219\000\203\000\252\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000k\003\162\000\000\000\000\000\000\000\203\000\000\000\218\000\000\000\211\000\219\000\222\000\000\000\220\000\000\000\253\003\136\003\210\003\198\000\254\000\209\000\220\000\000\000\000\000\218\000\213\000\224\003\137\000\000\000\217\000\000\000\218\000\000\000\000\000\219\003e\003\158\000\000\000\000\000\000\003z\000\220\000\000\000\217\003{\000\000\000\000\000\000\003\212\000\221\000\000\000\000\000\000\000\000\003\201\000\000\000\000\001\163\003g\0029\000\000\000\000\003\165\000\000\000\000\000\220\0019\000\000\000\222\000\252\000\000\003\209\000\209\001\240\000\209\000\000\000\000\000\213\000\000\000\213\000k\004\233\004\r\000\224\001\156\000\203\001\157\000\000\000\222\000\211\0019\000\000\000\253\000\252\0019\000\000\000\254\000\000\000\000\000\000\000\000\000\000\002\000\000\224\003\167\000\000\003\160\000\000\000\218\000\000\000\153\000\219\000\222\000\000\000\000\000\000\000\253\000\000\000\000\003\168\000\254\000\000\000\218\000\217\000\000\000\219\000\209\000\224\000\000\000\000\000\000\000\213\000k\000\000\000k\003\162\004\"\000\203\000\000\000\203\000\000\000\211\000\220\000\211\000\000\000\000\000\000\000\000\000\000\000\000\003\136\007D\003\198\000\000\000\000\000\000\000\220\000\000\000\218\004$\000\000\003\137\000\200\0044\000\000\000\000\000\000\0019\000\000\000\000\000\252\000\000\000\000\000\153\000\000\000\217\000\000\000\217\001\152\003x\000\000\000\000\003\212\003y\000\221\001\162\000k\000\000\003\201\000\222\000\000\000\203\000\000\000\253\000\000\000\211\003\165\000\254\000\000\001\155\000\000\003b\000\218\000\222\000\224\000\219\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\217\000\255\000\204\000\000\003x\000\000\000\000\000\220\003y\003\167\003\158\000\000\001\152\000\000\003z\000\000\000\209\000\000\003{\001\162\003\215\000\213\000\000\000\000\003\168\000\218\000\000\000\218\000\219\000\000\000\219\000\000\000\000\001\155\000\000\000\252\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\155\000\222\0010\000\000\000\000\000\253\000\220\000\000\000\220\000\254\000\000\003\158\000\000\000\000\001\163\003z\000\224\000\000\000\000\003{\000\000\003\153\000\000\000k\000\000\000\000\000\218\003\160\000\203\000\219\000\000\000\000\000\211\000\000\000\252\003x\000\252\000\000\005i\003y\000\000\001\156\000\000\001\157\000\000\000\000\003\204\000\000\000\000\000\000\000\000\0019\000\000\000\222\003\155\000\222\003\162\000\253\000\000\000\253\000\220\000\254\000\218\000\254\000\000\000\219\000\217\000\000\000\224\000\209\000\224\003\136\000\000\003\198\000\213\000\000\000\000\001\163\000\000\000\218\000\000\003\160\003\137\000\000\000\000\000\000\000\209\000\000\000\252\000\000\000\000\000\213\000\000\000\000\000\000\003\158\000\220\000\000\000\000\003z\000\000\005\148\000\000\003{\001\156\000\000\001\157\000\222\000\000\003\201\003\162\000\253\000\000\000\000\0019\000\254\000\000\003\165\000\209\000\000\000\000\000\000\000\224\000\213\000\000\003\136\000\000\003\198\000\000\000k\003\207\000\000\000\209\000\218\000\203\000\000\003\137\000\213\000\211\000\000\003\232\000\000\000\000\000\000\000\000\000\218\000k\000\000\000\219\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\003\167\000\000\000\000\000\000\003\201\000\000\003\160\000\000\000\000\000\000\000\000\000\000\003\165\000\217\003\155\003\168\000\000\000\000\000\000\000k\000\220\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\209\000\217\000\000\000\000\000k\000\213\003\162\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\252\000\000\003\136\000\000\003\198\000\000\003\167\004Y\000\000\000\000\000\218\000\000\000\000\003\137\000\217\000\000\000\000\000\209\000\000\000\222\000\000\003\168\000\213\000\253\000\000\000\000\000\000\000\254\000\217\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\000\000\000\000\003\244\003\201\000k\000\000\000\000\000\218\000\000\000\203\000\219\003\165\000\000\000\211\000\000\000\000\000\000\000\000\000\000\003\252\000\209\000\000\000\000\000\000\000\218\000\213\004\143\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\155\000\000\000\000\000\000\000\000\000k\000\220\000\000\000\000\000\000\000\203\000\000\000\217\000\000\000\211\000\209\004\003\003\155\003\167\000\000\000\213\000\218\000\000\000\220\000\219\000\000\000\000\004\145\000\000\000\000\000\000\000\000\000\000\003\168\000\252\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\217\003\155\000\203\000\252\000\000\000\222\000\211\000\220\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\255\000\000\000\000\000\000\004\147\000\224\000\220\000\222\000\000\000\000\000\000\000\253\000k\000\000\000\000\000\254\000\000\000\203\000\000\000\000\000\252\000\211\000\224\000\000\000\209\000\217\000\000\000\000\000\218\000\213\000\000\000\219\000\000\000\000\000\252\000\000\000\209\000\000\000\000\000\222\000\000\000\213\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\222\000\224\000\217\000\255\000\253\000\000\000\000\000\000\000\254\000\220\000\000\000\218\000\000\000\000\000\219\000\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\252\000\000\000\255\000\211\000\209\000\000\000k\000\000\000\220\000\213\000\000\000\203\000\000\000\000\000\218\000\211\000\000\000\219\000\000\000\222\000\000\000\209\000\000\000\253\000\000\000\000\000\213\000\254\000\000\000\000\000\000\000\000\000\000\000\209\000\224\000\000\000\252\000\217\000\213\004\229\000\000\000\000\000\255\000\000\000\218\000\000\000\000\000\219\000\220\000\217\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000k\000\000\000\000\000\000\000\000\000\203\000\224\000\000\003\155\000\211\000\000\000\000\000\252\000\209\000\220\000\000\000\000\000k\000\213\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000k\000\000\000\222\000\000\000\000\000\203\000\253\000\000\000\000\000\211\000\254\000\000\000\000\000\252\000\217\000\000\000\000\000\224\004\238\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\004\246\000\217\000\222\000\000\000\000\000\218\000\253\000\000\000\219\000\000\000\254\000\000\000\000\000\217\000k\000\000\000\000\000\224\000\000\000\203\000\000\003\155\000\000\000\211\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\003\155\000\000\000\000\000\000\000\000\000\209\000\220\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\252\000\000\000\217\005a\000\209\000\000\000\000\000\000\000\218\000\213\000\000\000\219\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\222\005m\000\000\000\000\000\253\000\000\000\218\000\000\000\254\000\219\000\000\000\000\000\222\005r\000\000\000\224\000\253\003\155\000\218\000\000\000\254\000\219\000\000\000\220\000k\000\000\000\000\000\224\000\000\000\203\000\000\000\000\000\000\000\211\003\155\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000k\003\155\000\000\000\000\000\000\000\203\000\252\000\220\000\000\000\211\000\000\000\209\005y\000\000\000\000\000\000\000\213\000\218\000\000\000\000\000\219\000\000\000\217\000\252\000\000\000\222\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\252\000\000\000\000\000\000\000\000\000\224\000\000\000\222\000\217\000\000\003\155\000\253\000\000\000\000\000\000\000\254\000\220\000\000\000\000\000\222\000\209\000\000\000\224\000\253\000\000\000\213\000\000\000\254\000\000\000\000\000\000\000\000\000\209\000\000\000\224\000\000\000k\000\213\000\000\000\000\000\000\000\203\000\209\000\000\000\252\000\211\000\000\000\213\007 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\133\000\000\000\000\005\130\000\000\000\222\000\000\000\000\000\218\000\253\000\000\000\219\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\217\000k\000\000\005\152\000\000\000\000\000\203\000\000\000\218\000\000\000\211\000\219\000\000\000k\000\000\003\155\000\000\000\000\000\203\000\000\000\000\000\220\000\211\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\003\155\000\000\000\000\000\000\000\209\000\000\000\220\000\000\000\217\000\213\000\000\000\000\000\000\000\252\000\209\000\000\000\000\000\000\000\000\000\213\000\217\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\209\000\000\000\217\000\213\000\222\000\213\000\252\000\000\000\253\000\000\005\157\000\000\000\254\000\000\000\000\000\218\000\000\000\000\000\219\000\224\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000k\000\000\000\000\000\000\000\224\000\203\000\000\003\155\000\000\000\211\000k\000\000\000\000\000\220\000\000\000\203\000\000\000\000\005\164\000\211\000\000\000\000\000k\000\218\000k\000\000\000\219\000\203\000\000\000\203\000\000\000\211\000\000\000\211\000\209\000\218\000\000\000\000\000\219\000\213\000\000\000\252\000\000\000\217\000\000\000\218\000\000\000\000\000\219\000\000\000\000\003\155\000\000\000\217\000\000\000\000\000\000\000\220\000\000\000\000\000\222\000\000\000\000\007!\000\253\000\217\000\000\000\217\000\254\000\220\000\000\000\000\000\000\007!\000\000\000\224\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\209\000\000\000\252\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\252\000\000\000\203\000\000\000\000\000\000\000\211\000\222\000\000\000\000\000\252\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\222\000\000\000\000\000\224\000\253\000\000\000\218\000\000\000\254\000\219\000\222\000\000\000\000\000\000\000\253\000\224\000\218\000\209\000\254\000\219\000\000\000\217\000\213\000\000\000\000\000\224\000\000\000k\000\218\000\000\000\218\000\219\000\203\000\219\001%\000\000\000\211\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\251\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\0012\000\000\002\002\000\000\000\000\000\000\000\220\000\000\000\220\000\000\000\000\000\209\000\252\000\000\000\217\000\000\000\213\000\000\000\000\000\000\000\000\000k\000\252\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\222\000\209\000\000\000\252\000\253\000\252\000\213\000\000\000\254\000\000\000\222\000\000\000\000\000\218\000\253\000\224\000\219\000\000\000\254\000\000\000\000\000\000\000\222\000\000\000\222\000\224\000\253\000\000\000\253\000\000\000\254\000\000\000\254\000\217\000\000\000\000\000\000\000\224\000\000\000\224\000k\002*\000\000\000\000\000\000\000\203\000\000\000\220\000\000\000\211\000\000\000\209\000\000\000\209\000\000\000\000\000\213\000\000\000\213\000\000\000\000\000k\000\218\000\000\000\000\000\219\000\203\000\209\000\000\000\000\000\211\000\000\000\213\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\209\000\000\002C\000\000\000\000\000\213\000\222\000\000\000\220\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\217\000\000\000\000\000\000\000\000\000\224\000\000\000k\000\218\000k\000\000\000\219\000\203\000\000\000\203\000\000\000\211\000\000\000\211\000\000\000\252\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\003I\000\000\000\000\000\222\000\000\000\000\000\220\000\253\000k\000\000\000\000\000\254\000\000\000\203\000\217\000\000\000\217\000\211\000\224\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\217\000\000\000\209\000\000\000\252\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\003O\000\217\000\000\000\222\000\000\000\000\000\220\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\003\130\000\000\000\000\000\000\000\000\000\209\000\220\000\000\000\000\000\000\000\213\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\218\000\000\000\218\000\219\000\203\000\219\000\000\000\000\000\211\000\000\000\222\000\000\000\252\000\000\000\253\000\000\000\218\000\000\000\254\000\219\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\003\141\000\000\003\143\000\222\000\000\000\000\000\220\000\253\000\220\000\218\000\000\000\254\000\219\000\000\000\217\000k\004\018\000\000\000\224\000\000\000\203\000\000\000\220\000\000\000\211\000\000\000\209\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\252\000\000\000\252\004\023\000\000\000\209\000\000\000\000\000\000\000\220\000\213\000\000\000\000\000\000\000\000\000\000\000\252\000\000\000\000\000\222\000\000\000\222\000\000\000\253\000\217\000\253\000\000\000\254\000\000\000\254\000\000\000\000\000\000\000\000\000\224\000\222\000\224\000\252\000\000\000\253\000\209\000\000\000\209\000\254\000\000\000\213\000\000\000\213\000\000\000\000\000\224\000\000\000k\000\000\000\000\000\000\000\222\000\203\000\000\000\218\000\253\000\211\000\219\000\000\000\254\000k\000\000\000\000\000\000\000\000\000\203\000\224\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\027\000\000\000\000\000\000\000\000\000\209\000\220\000\000\000\217\000\000\000\213\000\000\000\000\000k\000\000\000k\000\218\000\000\000\203\000\219\000\203\000\217\000\211\000\000\000\211\000\000\000\209\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004?\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\222\000\000\000\000\000\217\000\253\000\217\000\000\000\000\000\254\000\000\000\000\000\000\000k\000\000\000\000\000\224\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\209\000\000\000\252\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000k\000\218\000\000\000\000\000\219\000\203\000\000\000\000\000\000\000\211\000\000\000\222\000\000\000\000\000\218\000\253\000\000\000\219\000\000\000\254\000\000\000\000\000\217\000\000\000\000\000\000\000\224\000\000\000\000\004[\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\209\000\000\004\135\000\217\000\000\000\213\000\000\000\000\000\220\000\218\000k\000\218\000\219\000\000\000\219\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\252\004\178\000\000\005T\000\000\000\000\000\222\000\220\000\209\000\220\000\253\000\000\000\000\000\213\000\254\000\000\000\000\000\217\000\000\000\222\000\000\000\224\000\000\000\253\000k\000\218\000\000\000\254\000\219\000\203\000\000\000\000\000\000\000\211\000\224\000\252\000\000\000\252\000\209\000\000\000\209\000\000\000\000\000\213\000\000\000\213\000\218\000\000\000\000\000\219\000\000\000\000\000\000\005\187\000\222\000\000\000\222\000\000\000\253\000\220\000\253\000\000\000\254\000\000\000\254\000\000\000\000\000\217\000k\000\224\000\000\000\224\000\000\000\203\005\207\000\000\000\000\000\211\000\000\000\209\000\220\000\000\000\000\000\000\000\215\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\218\000\215\000k\000\219\000k\000\000\000\000\000\203\000\000\000\203\000\222\000\211\000\252\000\211\000\253\000\217\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\005\209\000\000\000\000\000\222\000\000\000\000\000\220\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000k\000\209\000\217\000\224\000\217\000\203\000\210\000\218\000\000\000\211\000\219\000\209\000\000\000k\000\000\000\000\000\210\000\000\000\203\000\252\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\211\000\000\000\000\000\222\000\000\000\000\000\220\000\253\000\217\000\000\000\000\000\254\000\209\000\000\000\000\000\000\000\218\000\210\000\224\000\219\000\000\000\217\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\209\000\252\000\211\000k\000\000\000\210\000\000\000\000\000\203\000\000\000\000\005\217\000\211\000\218\000\000\000\218\000\219\000\220\000\219\000\000\000\222\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\217\000\000\000\000\000k\000\000\005\231\000\000\005\245\000\203\000\252\000\217\000\220\000\211\000\220\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000k\000\000\000\000\000\000\000\222\000\203\000\000\000\218\000\253\000\211\000\219\000\000\000\254\000\209\000\000\000\252\000\000\000\252\000\210\000\224\000\000\000\000\000\217\000\000\000\000\000\000\000\209\000\209\000\220\000\000\000\000\000\210\000\210\000\000\000\222\000\000\000\222\000\000\000\253\000\000\000\253\000\220\000\254\000\217\000\254\000\209\000\000\000\000\000\000\000\224\000\210\000\224\000\209\000\000\000\000\000\218\000\221\000\210\000\219\000\209\000\000\000\000\000\000\000\000\000\210\000\218\000\000\000\000\000\219\000\221\000\000\000\000\000\209\000k\000\000\000\222\000\000\000\210\000\203\000\000\004J\000\000\000\211\000\000\000\000\000\000\000k\000k\000\222\000\220\000\224\000\203\000\203\004L\000\000\000\211\000\211\000\000\000\000\000\220\000\000\000\218\000\000\000\224\000\219\000k\000\000\000\000\000\000\000\000\000\203\000\000\000k\000\000\000\211\000\000\000\217\000\203\000\000\000k\000\000\000\211\000\218\000\000\000\203\000\219\000\000\000\000\000\211\000\217\000\217\000\000\000k\000\000\000\000\000\220\000\226\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\226\001\r\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\220\001\015\000\000\000\209\000\000\000\000\000\217\000\000\000\210\000\000\000\209\000\000\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\209\000\000\000\226\000\000\000\000\000\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\218\000\218\000\000\000\219\000\219\000\000\001\019\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000k\000\218\000\211\000\220\000\219\000\203\000\000\000\209\000\218\000\211\000\000\000\219\000\210\000\000\000k\000\218\000\220\000\220\000\219\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\209\000\220\000\217\000\000\000\000\000\210\000\000\000\000\000\220\000\217\000\000\000\000\000\000\000\000\000\209\000\220\000\226\000\000\000\000\000\210\000\000\000\000\000\000\000\217\000\000\000\000\000\000\001\021\000\220\000\226\000\226\000\000\000\209\000k\000\000\000\000\000\000\000\210\000\203\000\209\001\023\001\025\000\211\000\000\000\210\000\000\000\000\000\000\000\226\000\209\000\000\000\000\000\000\000\000\000\210\000\226\000\209\000\000\000\000\001\027\000k\000\210\000\226\000\000\000\000\000\203\001\029\000\000\000\000\000\211\000\000\000\000\000\000\001\031\000k\000\226\000\217\000\000\000\000\000\203\000\000\000\218\000\000\000\211\000\219\000\209\001\254\000\000\000\218\000\000\000\210\000\219\000k\000\000\000\000\000\000\000\000\000\203\000\000\000k\000\000\000\211\000\218\000\217\000\203\000\219\000\000\000\000\000\211\000k\000\000\000\000\000\000\000\000\000\203\000\220\000k\000\217\000\211\000\000\000\000\000\203\000\220\000\000\000\000\000\211\000\209\000\000\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000\217\000\220\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000k\000\209\000\000\000\000\000\000\000\203\000\210\000\217\000\000\000\211\000\218\000\000\000\000\000\219\000\217\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\218\000\226\000\000\000\219\000k\000\000\000\217\000\220\000\000\000\203\000\000\000\000\002\b\000\211\000\218\000\209\000\000\000\219\000\000\000\000\000\210\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\209\000\218\000\211\000\220\000\219\000\210\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\217\000\220\000\218\000\000\000\000\000\219\000\000\000\226\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\002\n\000\220\000\217\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\226\000\209\000\220\000\211\000\218\000\000\000\210\000\219\000\000\000\220\000k\002\012\000\000\000\000\000\226\000\203\000\000\000\209\000\209\000\211\000\000\000\000\000\210\000\210\000\209\002\014\000\000\000\000\000\000\000\210\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\217\000\220\000\226\000\000\000\209\000\000\002\016\000\000\000\218\000\210\000\000\000\219\000\226\002\018\000\000\000\000\000\217\000\000\000\000\000\226\000\000\000\000\000\000\002\020\000k\000\000\000\000\000\000\000\218\000\203\002\022\000\219\000\209\000\211\000\000\000\000\000\000\000\210\000\000\000\000\000k\000k\000\220\000\000\000\000\000\203\000\203\000k\000\226\000\211\000\211\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\002\024\000\000\000\000\000\220\000\000\000k\000\000\000\000\000\217\000\000\000\203\000\000\000\209\000\000\000\211\000\000\000\000\000\210\000\000\000\000\000\218\000\000\000\000\000\219\000\217\000\217\000\000\000\000\000\000\000\209\000\226\000\217\000\000\000k\000\210\000\000\000\218\000\000\000\203\000\219\000\000\002\026\000\211\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\226\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\002\028\000\000\000\000\000\209\000\000\000\209\000\000\000\000\000\210\000\220\000\210\000k\000\000\000\209\000\000\000\217\000\203\000\000\000\210\000\209\000\211\000\000\000\000\000\000\000\210\000\000\000\218\000\000\000k\000\219\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\226\000\000\000\218\000\218\000\000\000\219\000\219\000\000\000\000\000\218\000\000\003\170\000\219\000\000\000\217\000\000\000\226\000\000\000\000\000\000\000\220\000\000\000\000\000k\000\000\000k\000\218\003\172\000\203\000\219\000\203\000\217\000\211\000k\000\211\000\000\000\220\000\220\000\203\000k\000\209\000\000\000\211\000\220\000\203\000\210\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\218\000\000\000\209\000\219\000\000\000\000\000\220\000\210\000\000\000\000\000\209\000\000\000\217\000\226\000\217\000\210\000\000\000\000\000\209\000\000\000\000\000\000\000\217\000\210\003\174\000\000\000\000\000\000\000\217\000\226\000\226\000\000\000\000\000\000\000\220\000\000\000\226\000\000\000\000\000\218\003\176\003\178\000\219\000\209\000\000\000\000\000k\003\180\000\210\000\000\000\000\000\203\000\000\000\226\000\000\000\211\000\218\000\000\000\000\000\219\000\000\000\000\000k\000\209\003\182\000\000\000\000\000\203\000\210\000\000\000k\000\211\000\000\000\220\000\000\000\203\000\000\000\000\000k\000\211\000\000\000\226\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\217\000\220\000\218\003\184\000\218\000\219\000\209\000\219\000\000\000\000\000\000\000\210\000\218\000\000\000k\000\219\000\217\000\000\000\218\000\203\000\000\000\219\000\000\000\211\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\217\000\000\000k\000\000\000\220\000\000\000\220\000\203\000\000\000\000\003\186\000\211\000\000\000\000\000\220\000\000\000\226\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\217\000\209\003\188\000\000\000\000\000\000\000\210\000\000\000\209\000k\000\000\000\000\000\000\000\210\000\203\000\000\000\000\000\000\000\211\000\000\000\217\000\000\000\218\000\000\000\000\000\219\000\226\000\000\000\226\000\209\000\000\000\000\000\000\000\000\000\210\000\000\000\226\003\190\000\218\003\192\000\000\000\219\000\226\000\000\000\000\000\000\000\218\003\194\000\000\000\219\000\000\000\000\000\217\003\196\000\218\000\000\000\220\000\219\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000k\000\000\000\211\000\000\000\220\000\203\000\000\000\000\000\000\000\211\000\000\000\218\000\220\000\000\000\219\000\000\000\000\000\209\000\000\000\000\000\220\000k\000\210\000\000\000\209\000\000\000\203\000\000\000\000\000\210\000\211\000\218\000\000\000\000\000\219\000\226\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\209\000\220\004W\000\000\000\000\000\210\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\004]\000\218\000\217\000\220\000\219\000\226\000\209\000\000\004_\000\000\000\000\000\210\000\000\000\000\000\000\000k\004a\000\000\000\000\000\000\000\203\000\000\000k\000\000\000\211\000\000\000\000\000\203\000\000\000\000\000\226\000\211\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\004c\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\226\000\211\000\000\000\218\000\000\000\000\000\219\000\000\000\217\000\000\000\218\004e\000\000\000\219\000\000\000\217\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\218\000\226\000\000\000\219\000\217\000\000\000\220\000\000\000\000\000\000\000\000\000\000\004g\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\218\000\000\000\000\000\219\000\226\000\000\000\000\000\218\004i\000\000\000\219\000\000\000\000\000\000\000\000\004k\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\220\000\000\004m\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\220\000\000\000\000\000\226\000\000\000\000\000\000\004o\000\000\000\000\000\000\000\000\000\000\000\000\004q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004s\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004u"))
let semantic_action =
[|
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_eexpr = Obj.magic _1 in
+ let _1 : 'tv_dexpr = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_aexpr =
-# 1956 "parser_cocci_menhir.mly"
- ( Ast0.set_arg_exp _1 )
-# 1614 "parser_cocci_menhir.ml"
+# 2177 "parser_cocci_menhir.mly"
+ ( Ast0.set_arg_exp _1 )
+# 1736 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 69 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
(Parse_aux.list_info)
-# 1635 "parser_cocci_menhir.ml"
+# 1757 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_aexpr =
-# 1958 "parser_cocci_menhir.mly"
+# 2179 "parser_cocci_menhir.mly"
( let (nm,lenname,pure,clt) = _1 in
let nm = P.clt2mcode nm clt in
let lenname =
| Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
| Ast.CstLen n -> Ast0.CstListLen n in
Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) )
-# 1649 "parser_cocci_menhir.ml"
+# 1771 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_aexpr =
-# 1967 "parser_cocci_menhir.mly"
+# 2188 "parser_cocci_menhir.mly"
( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) )
-# 1673 "parser_cocci_menhir.ml"
+# 1795 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_any_strict =
-# 2011 "parser_cocci_menhir.mly"
+# 2224 "parser_cocci_menhir.mly"
( Ast.WhenAny )
-# 1695 "parser_cocci_menhir.ml"
+# 1817 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_any_strict =
-# 2012 "parser_cocci_menhir.mly"
+# 2225 "parser_cocci_menhir.mly"
( Ast.WhenStrict )
-# 1717 "parser_cocci_menhir.ml"
+# 1839 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_any_strict =
-# 2013 "parser_cocci_menhir.mly"
+# 2226 "parser_cocci_menhir.mly"
( Ast.WhenForall )
-# 1739 "parser_cocci_menhir.ml"
+# 1861 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_any_strict =
-# 2014 "parser_cocci_menhir.mly"
+# 2227 "parser_cocci_menhir.mly"
( Ast.WhenExists )
-# 1761 "parser_cocci_menhir.ml"
+# 1883 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1314 "parser_cocci_menhir.mly"
+# 1434 "parser_cocci_menhir.mly"
( _1 )
-# 1785 "parser_cocci_menhir.ml"
+# 1907 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 102 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 1817 "parser_cocci_menhir.ml"
+# 1939 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1316 "parser_cocci_menhir.mly"
+# 1436 "parser_cocci_menhir.mly"
( P.arith_op Ast.Mul _1 _2 _3 )
-# 1825 "parser_cocci_menhir.ml"
+# 1947 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 100 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 1857 "parser_cocci_menhir.ml"
+# 1979 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1318 "parser_cocci_menhir.mly"
+# 1438 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 1865 "parser_cocci_menhir.ml"
+# 1987 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 101 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
(Data.clt)
-# 1897 "parser_cocci_menhir.ml"
+# 2019 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1320 "parser_cocci_menhir.mly"
+# 1440 "parser_cocci_menhir.mly"
( P.arith_op Ast.Plus _1 _2 _3 )
-# 1905 "parser_cocci_menhir.ml"
+# 2027 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 101 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
(Data.clt)
-# 1937 "parser_cocci_menhir.ml"
+# 2059 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1322 "parser_cocci_menhir.mly"
+# 1442 "parser_cocci_menhir.mly"
( P.arith_op Ast.Minus _1 _2 _3 )
-# 1945 "parser_cocci_menhir.ml"
+# 2067 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 1977 "parser_cocci_menhir.ml"
+# 2099 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1324 "parser_cocci_menhir.mly"
+# 1444 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 1985 "parser_cocci_menhir.ml"
+# 2107 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 2017 "parser_cocci_menhir.ml"
+# 2139 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1326 "parser_cocci_menhir.mly"
+# 1446 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2025 "parser_cocci_menhir.ml"
+# 2147 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
(Ast_cocci.logicalOp * Data.clt)
-# 2057 "parser_cocci_menhir.ml"
+# 2179 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1328 "parser_cocci_menhir.mly"
+# 1448 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 2065 "parser_cocci_menhir.ml"
+# 2187 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 2097 "parser_cocci_menhir.ml"
+# 2219 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1330 "parser_cocci_menhir.mly"
+# 1450 "parser_cocci_menhir.mly"
( P.logic_op Ast.Eq _1 _2 _3 )
-# 2105 "parser_cocci_menhir.ml"
+# 2227 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 2137 "parser_cocci_menhir.ml"
+# 2259 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1332 "parser_cocci_menhir.mly"
+# 1452 "parser_cocci_menhir.mly"
( P.logic_op Ast.NotEq _1 _2 _3 )
-# 2145 "parser_cocci_menhir.ml"
+# 2267 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 96 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
(Data.clt)
-# 2177 "parser_cocci_menhir.ml"
+# 2299 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1334 "parser_cocci_menhir.mly"
+# 1454 "parser_cocci_menhir.mly"
( P.arith_op Ast.And _1 _2 _3 )
-# 2185 "parser_cocci_menhir.ml"
+# 2307 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
(Data.clt)
-# 2217 "parser_cocci_menhir.ml"
+# 2339 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1336 "parser_cocci_menhir.mly"
+# 1456 "parser_cocci_menhir.mly"
( P.arith_op Ast.Or _1 _2 _3 )
-# 2225 "parser_cocci_menhir.ml"
+# 2347 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 95 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
(Data.clt)
-# 2257 "parser_cocci_menhir.ml"
+# 2379 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1338 "parser_cocci_menhir.mly"
+# 1458 "parser_cocci_menhir.mly"
( P.arith_op Ast.Xor _1 _2 _3 )
-# 2265 "parser_cocci_menhir.ml"
+# 2387 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 93 "parser_cocci_menhir.mly"
+# 158 "parser_cocci_menhir.mly"
(Data.clt)
-# 2297 "parser_cocci_menhir.ml"
+# 2419 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1340 "parser_cocci_menhir.mly"
+# 1460 "parser_cocci_menhir.mly"
( P.logic_op Ast.AndLog _1 _2 _3 )
-# 2305 "parser_cocci_menhir.ml"
+# 2427 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 92 "parser_cocci_menhir.mly"
+# 157 "parser_cocci_menhir.mly"
(Data.clt)
-# 2337 "parser_cocci_menhir.ml"
+# 2459 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_dot_expressions_ =
-# 1342 "parser_cocci_menhir.mly"
+# 1462 "parser_cocci_menhir.mly"
( P.logic_op Ast.OrLog _1 _2 _3 )
-# 2345 "parser_cocci_menhir.ml"
+# 2467 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1314 "parser_cocci_menhir.mly"
+# 1434 "parser_cocci_menhir.mly"
( _1 )
-# 2369 "parser_cocci_menhir.ml"
+# 2491 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 102 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 2401 "parser_cocci_menhir.ml"
+# 2523 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1316 "parser_cocci_menhir.mly"
+# 1436 "parser_cocci_menhir.mly"
( P.arith_op Ast.Mul _1 _2 _3 )
-# 2409 "parser_cocci_menhir.ml"
+# 2531 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 100 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 2441 "parser_cocci_menhir.ml"
+# 2563 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1318 "parser_cocci_menhir.mly"
+# 1438 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2449 "parser_cocci_menhir.ml"
+# 2571 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 101 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
(Data.clt)
-# 2481 "parser_cocci_menhir.ml"
+# 2603 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1320 "parser_cocci_menhir.mly"
+# 1440 "parser_cocci_menhir.mly"
( P.arith_op Ast.Plus _1 _2 _3 )
-# 2489 "parser_cocci_menhir.ml"
+# 2611 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 101 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
(Data.clt)
-# 2521 "parser_cocci_menhir.ml"
+# 2643 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1322 "parser_cocci_menhir.mly"
+# 1442 "parser_cocci_menhir.mly"
( P.arith_op Ast.Minus _1 _2 _3 )
-# 2529 "parser_cocci_menhir.ml"
+# 2651 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 2561 "parser_cocci_menhir.ml"
+# 2683 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1324 "parser_cocci_menhir.mly"
+# 1444 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2569 "parser_cocci_menhir.ml"
+# 2691 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 2601 "parser_cocci_menhir.ml"
+# 2723 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1326 "parser_cocci_menhir.mly"
+# 1446 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2609 "parser_cocci_menhir.ml"
+# 2731 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
(Ast_cocci.logicalOp * Data.clt)
-# 2641 "parser_cocci_menhir.ml"
+# 2763 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1328 "parser_cocci_menhir.mly"
+# 1448 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 2649 "parser_cocci_menhir.ml"
+# 2771 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 2681 "parser_cocci_menhir.ml"
+# 2803 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1330 "parser_cocci_menhir.mly"
+# 1450 "parser_cocci_menhir.mly"
( P.logic_op Ast.Eq _1 _2 _3 )
-# 2689 "parser_cocci_menhir.ml"
+# 2811 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 2721 "parser_cocci_menhir.ml"
+# 2843 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1332 "parser_cocci_menhir.mly"
+# 1452 "parser_cocci_menhir.mly"
( P.logic_op Ast.NotEq _1 _2 _3 )
-# 2729 "parser_cocci_menhir.ml"
+# 2851 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 96 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
(Data.clt)
-# 2761 "parser_cocci_menhir.ml"
+# 2883 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1334 "parser_cocci_menhir.mly"
+# 1454 "parser_cocci_menhir.mly"
( P.arith_op Ast.And _1 _2 _3 )
-# 2769 "parser_cocci_menhir.ml"
+# 2891 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
(Data.clt)
-# 2801 "parser_cocci_menhir.ml"
+# 2923 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1336 "parser_cocci_menhir.mly"
+# 1456 "parser_cocci_menhir.mly"
( P.arith_op Ast.Or _1 _2 _3 )
-# 2809 "parser_cocci_menhir.ml"
+# 2931 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 95 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
(Data.clt)
-# 2841 "parser_cocci_menhir.ml"
+# 2963 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1338 "parser_cocci_menhir.mly"
+# 1458 "parser_cocci_menhir.mly"
( P.arith_op Ast.Xor _1 _2 _3 )
-# 2849 "parser_cocci_menhir.ml"
+# 2971 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 93 "parser_cocci_menhir.mly"
+# 158 "parser_cocci_menhir.mly"
(Data.clt)
-# 2881 "parser_cocci_menhir.ml"
+# 3003 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1340 "parser_cocci_menhir.mly"
+# 1460 "parser_cocci_menhir.mly"
( P.logic_op Ast.AndLog _1 _2 _3 )
-# 2889 "parser_cocci_menhir.ml"
+# 3011 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 92 "parser_cocci_menhir.mly"
+# 157 "parser_cocci_menhir.mly"
(Data.clt)
-# 2921 "parser_cocci_menhir.ml"
+# 3043 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_invalid_ =
-# 1342 "parser_cocci_menhir.mly"
+# 1462 "parser_cocci_menhir.mly"
( P.logic_op Ast.OrLog _1 _2 _3 )
-# 2929 "parser_cocci_menhir.ml"
+# 3051 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1314 "parser_cocci_menhir.mly"
+# 1434 "parser_cocci_menhir.mly"
( _1 )
-# 2953 "parser_cocci_menhir.ml"
+# 3075 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 102 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 2985 "parser_cocci_menhir.ml"
+# 3107 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1316 "parser_cocci_menhir.mly"
+# 1436 "parser_cocci_menhir.mly"
( P.arith_op Ast.Mul _1 _2 _3 )
-# 2993 "parser_cocci_menhir.ml"
+# 3115 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 100 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 3025 "parser_cocci_menhir.ml"
+# 3147 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1318 "parser_cocci_menhir.mly"
+# 1438 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3033 "parser_cocci_menhir.ml"
+# 3155 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 101 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
(Data.clt)
-# 3065 "parser_cocci_menhir.ml"
+# 3187 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1320 "parser_cocci_menhir.mly"
+# 1440 "parser_cocci_menhir.mly"
( P.arith_op Ast.Plus _1 _2 _3 )
-# 3073 "parser_cocci_menhir.ml"
+# 3195 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 101 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
(Data.clt)
-# 3105 "parser_cocci_menhir.ml"
+# 3227 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1322 "parser_cocci_menhir.mly"
+# 1442 "parser_cocci_menhir.mly"
( P.arith_op Ast.Minus _1 _2 _3 )
-# 3113 "parser_cocci_menhir.ml"
+# 3235 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 3145 "parser_cocci_menhir.ml"
+# 3267 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1324 "parser_cocci_menhir.mly"
+# 1444 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3153 "parser_cocci_menhir.ml"
+# 3275 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
(Ast_cocci.arithOp * Data.clt)
-# 3185 "parser_cocci_menhir.ml"
+# 3307 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1326 "parser_cocci_menhir.mly"
+# 1446 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3193 "parser_cocci_menhir.ml"
+# 3315 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
(Ast_cocci.logicalOp * Data.clt)
-# 3225 "parser_cocci_menhir.ml"
+# 3347 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1328 "parser_cocci_menhir.mly"
+# 1448 "parser_cocci_menhir.mly"
( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 3233 "parser_cocci_menhir.ml"
+# 3355 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 3265 "parser_cocci_menhir.ml"
+# 3387 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1330 "parser_cocci_menhir.mly"
+# 1450 "parser_cocci_menhir.mly"
( P.logic_op Ast.Eq _1 _2 _3 )
-# 3273 "parser_cocci_menhir.ml"
+# 3395 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 3305 "parser_cocci_menhir.ml"
+# 3427 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1332 "parser_cocci_menhir.mly"
+# 1452 "parser_cocci_menhir.mly"
( P.logic_op Ast.NotEq _1 _2 _3 )
-# 3313 "parser_cocci_menhir.ml"
+# 3435 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 96 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
(Data.clt)
-# 3345 "parser_cocci_menhir.ml"
+# 3467 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1334 "parser_cocci_menhir.mly"
+# 1454 "parser_cocci_menhir.mly"
( P.arith_op Ast.And _1 _2 _3 )
-# 3353 "parser_cocci_menhir.ml"
+# 3475 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
(Data.clt)
-# 3385 "parser_cocci_menhir.ml"
+# 3507 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1336 "parser_cocci_menhir.mly"
+# 1456 "parser_cocci_menhir.mly"
( P.arith_op Ast.Or _1 _2 _3 )
-# 3393 "parser_cocci_menhir.ml"
+# 3515 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 95 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
(Data.clt)
-# 3425 "parser_cocci_menhir.ml"
+# 3547 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1338 "parser_cocci_menhir.mly"
+# 1458 "parser_cocci_menhir.mly"
( P.arith_op Ast.Xor _1 _2 _3 )
-# 3433 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
- let _2 : (
-# 93 "parser_cocci_menhir.mly"
- (Data.clt)
-# 3465 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1340 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 3473 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
- let _2 : (
-# 92 "parser_cocci_menhir.mly"
- (Data.clt)
-# 3505 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
-# 1342 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 3513 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_arith_expr_expr_invalid_ =
-# 1314 "parser_cocci_menhir.mly"
- ( _1 )
-# 3537 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
- let _2 : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 3569 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_expr_invalid_ =
-# 1316 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Mul _1 _2 _3 )
-# 3577 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
- let _2 : (
-# 100 "parser_cocci_menhir.mly"
- (Ast_cocci.arithOp * Data.clt)
-# 3609 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_expr_invalid_ =
-# 1318 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3617 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
- let _2 : (
-# 101 "parser_cocci_menhir.mly"
- (Data.clt)
-# 3649 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_expr_invalid_ =
-# 1320 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Plus _1 _2 _3 )
-# 3657 "parser_cocci_menhir.ml"
+# 3555 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 101 "parser_cocci_menhir.mly"
+# 158 "parser_cocci_menhir.mly"
(Data.clt)
-# 3689 "parser_cocci_menhir.ml"
+# 3587 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_arith_expr_expr_invalid_ =
-# 1322 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Minus _1 _2 _3 )
-# 3697 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
+# 1460 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 3595 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 99 "parser_cocci_menhir.mly"
- (Ast_cocci.arithOp * Data.clt)
-# 3729 "parser_cocci_menhir.ml"
+# 157 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 3627 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_eexpr_nest_expressions_ =
+# 1462 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.OrLog _1 _2 _3 )
+# 3635 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1324 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3737 "parser_cocci_menhir.ml"
+# 1434 "parser_cocci_menhir.mly"
+ ( _1 )
+# 3659 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 99 "parser_cocci_menhir.mly"
- (Ast_cocci.arithOp * Data.clt)
-# 3769 "parser_cocci_menhir.ml"
+# 167 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 3691 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1326 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3777 "parser_cocci_menhir.ml"
+# 1436 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Mul _1 _2 _3 )
+# 3699 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 98 "parser_cocci_menhir.mly"
- (Ast_cocci.logicalOp * Data.clt)
-# 3809 "parser_cocci_menhir.ml"
+# 165 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 3731 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1328 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 3817 "parser_cocci_menhir.ml"
+# 1438 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3739 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
(Data.clt)
-# 3849 "parser_cocci_menhir.ml"
+# 3771 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1330 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.Eq _1 _2 _3 )
-# 3857 "parser_cocci_menhir.ml"
+# 1440 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Plus _1 _2 _3 )
+# 3779 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
(Data.clt)
-# 3889 "parser_cocci_menhir.ml"
+# 3811 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1332 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 3897 "parser_cocci_menhir.ml"
+# 1442 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Minus _1 _2 _3 )
+# 3819 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 96 "parser_cocci_menhir.mly"
- (Data.clt)
-# 3929 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 3851 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1334 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.And _1 _2 _3 )
-# 3937 "parser_cocci_menhir.ml"
+# 1444 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3859 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 94 "parser_cocci_menhir.mly"
- (Data.clt)
-# 3969 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 3891 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1336 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Or _1 _2 _3 )
-# 3977 "parser_cocci_menhir.ml"
+# 1446 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3899 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 95 "parser_cocci_menhir.mly"
- (Data.clt)
-# 4009 "parser_cocci_menhir.ml"
+# 163 "parser_cocci_menhir.mly"
+ (Ast_cocci.logicalOp * Data.clt)
+# 3931 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1338 "parser_cocci_menhir.mly"
- ( P.arith_op Ast.Xor _1 _2 _3 )
-# 4017 "parser_cocci_menhir.ml"
+# 1448 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 3939 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 93 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 4049 "parser_cocci_menhir.ml"
+# 3971 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1340 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 4057 "parser_cocci_menhir.ml"
+# 1450 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.Eq _1 _2 _3 )
+# 3979 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 92 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 4089 "parser_cocci_menhir.ml"
+# 4011 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_arith_expr_expr_invalid_ =
-# 1342 "parser_cocci_menhir.mly"
- ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 4097 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_arity =
-# 513 "parser_cocci_menhir.mly"
- ( Ast.UNIQUE )
-# 4119 "parser_cocci_menhir.ml"
+# 1452 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 4019 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 161 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4051 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_arity =
-# 514 "parser_cocci_menhir.mly"
- ( Ast.OPT )
-# 4141 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_expr_invalid_ =
+# 1454 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.And _1 _2 _3 )
+# 4059 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 159 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4091 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_arity =
-# 515 "parser_cocci_menhir.mly"
- ( Ast.MULTI )
-# 4163 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_arity =
-# 516 "parser_cocci_menhir.mly"
- ( Ast.NONE )
-# 4180 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_expr_invalid_ =
+# 1456 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Or _1 _2 _3 )
+# 4099 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = l;
- MenhirLib.EngineTypes.startp = _startpos_l_;
- MenhirLib.EngineTypes.endp = _endpos_l_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let r : (
-# 105 "parser_cocci_menhir.mly"
- (Data.clt)
-# 4211 "parser_cocci_menhir.ml"
- ) = Obj.magic r in
- let i : 'tv_option_eexpr_ = Obj.magic i in
- let l : (
-# 105 "parser_cocci_menhir.mly"
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 160 "parser_cocci_menhir.mly"
(Data.clt)
-# 4217 "parser_cocci_menhir.ml"
- ) = Obj.magic l in
- let _startpos = _startpos_l_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_array_dec =
-# 1117 "parser_cocci_menhir.mly"
- ( (l,i,r) )
-# 4224 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+# 4131 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
-# 1286 "parser_cocci_menhir.mly"
- ( _1 )
-# 4248 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_expr_invalid_ =
+# 1458 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Xor _1 _2 _3 )
+# 4139 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
- (Ast_cocci.assignOp * Data.clt)
-# 4280 "parser_cocci_menhir.ml"
+# 158 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4171 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
-# 1288 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in
- Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
- Ast0.set_arg_exp _3,false)) )
-# 4290 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_expr_invalid_ =
+# 1460 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 4179 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 157 "parser_cocci_menhir.mly"
(Data.clt)
-# 4322 "parser_cocci_menhir.ml"
+# 4211 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
-# 1292 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.Assignment
- (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4332 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_expr_invalid_ =
+# 1462 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.OrLog _1 _2 _3 )
+# 4219 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
-# 1286 "parser_cocci_menhir.mly"
- ( _1 )
-# 4356 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1467 "parser_cocci_menhir.mly"
+ ( _1 )
+# 4243 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
- (Ast_cocci.assignOp * Data.clt)
-# 4388 "parser_cocci_menhir.ml"
+# 167 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4275 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
-# 1288 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in
- Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
- Ast0.set_arg_exp _3,false)) )
-# 4398 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1469 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Mul _1 _2 _3 )
+# 4283 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 4430 "parser_cocci_menhir.ml"
+# 165 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 4315 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
-# 1292 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.Assignment
- (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4440 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1471 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4323 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 166 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4355 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_assign_expr_expr_invalid_ =
-# 1286 "parser_cocci_menhir.mly"
- ( _1 )
-# 4464 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_bis =
+# 1473 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Plus _1 _2 _3 )
+# 4363 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
- (Ast_cocci.assignOp * Data.clt)
-# 4496 "parser_cocci_menhir.ml"
+# 166 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4395 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_assign_expr_expr_invalid_ =
-# 1288 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in
- Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
- Ast0.set_arg_exp _3,false)) )
-# 4506 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1475 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Minus _1 _2 _3 )
+# 4403 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 4538 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 4435 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_assign_expr_expr_invalid_ =
-# 1292 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.Assignment
- (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4548 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1477 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4443 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 164 "parser_cocci_menhir.mly"
+ (Ast_cocci.arithOp * Data.clt)
+# 4475 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_assign_expr_bis =
-# 1297 "parser_cocci_menhir.mly"
- ( _1 )
-# 4572 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_bis =
+# 1479 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4483 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 111 "parser_cocci_menhir.mly"
- (Ast_cocci.assignOp * Data.clt)
-# 4604 "parser_cocci_menhir.ml"
+# 163 "parser_cocci_menhir.mly"
+ (Ast_cocci.logicalOp * Data.clt)
+# 4515 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_assign_expr_bis =
-# 1299 "parser_cocci_menhir.mly"
- ( let (op,clt) = _2 in
- Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
- Ast0.set_arg_exp _3,false)) )
-# 4614 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1481 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 4523 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
(Data.clt)
-# 4646 "parser_cocci_menhir.ml"
+# 4555 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_assign_expr_bis =
-# 1303 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.Assignment
- (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4656 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1483 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.Eq _1 _2 _3 )
+# 4563 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 162 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4595 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_basic_expr_eexpr_dot_expressions_ =
-# 1283 "parser_cocci_menhir.mly"
- ( _1 )
-# 4680 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_bis =
+# 1485 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 4603 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 161 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4635 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_basic_expr_eexpr_nest_expressions_ =
-# 1283 "parser_cocci_menhir.mly"
- ( _1 )
-# 4704 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_bis =
+# 1487 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.And _1 _2 _3 )
+# 4643 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 159 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 4675 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_basic_expr_expr_invalid_ =
-# 1283 "parser_cocci_menhir.mly"
- ( _1 )
-# 4728 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_bis =
+# 1489 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Or _1 _2 _3 )
+# 4683 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_fun_start = Obj.magic _3 in
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
(Data.clt)
-# 4760 "parser_cocci_menhir.ml"
+# 4715 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : (
-# 59 "parser_cocci_menhir.mly"
- (Data.clt)
-# 4765 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
- let _v : 'tv_case_line =
-# 979 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
-# 4773 "parser_cocci_menhir.ml"
+ let _v : 'tv_arith_expr_bis =
+# 1491 "parser_cocci_menhir.mly"
+ ( P.arith_op Ast.Xor _1 _2 _3 )
+# 4723 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _4 : 'tv_fun_start = Obj.magic _4 in
- let _3 : (
-# 79 "parser_cocci_menhir.mly"
- (Data.clt)
-# 4810 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_eexpr = Obj.magic _2 in
- let _1 : (
-# 59 "parser_cocci_menhir.mly"
+ let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 158 "parser_cocci_menhir.mly"
(Data.clt)
-# 4816 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+# 4755 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : 'tv_case_line =
-# 982 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
-# 4823 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_arith_expr_bis =
+# 1493 "parser_cocci_menhir.mly"
+ ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 4763 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
-# 1345 "parser_cocci_menhir.mly"
- ( _1 )
-# 4847 "parser_cocci_menhir.ml"
+ let _v : 'tv_arity =
+# 607 "parser_cocci_menhir.mly"
+ ( Ast.UNIQUE )
+# 4785 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in
- let rp : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 4884 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let t : 'tv_ctype = Obj.magic t in
- let lp : (
-# 79 "parser_cocci_menhir.mly"
- (Data.clt)
-# 4890 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let _startpos = _startpos_lp_ in
- let _endpos = _endpos_e_ in
- let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
-# 1347 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
- P.clt2mcode ")" rp, e)) )
-# 4898 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_arity =
+# 608 "parser_cocci_menhir.mly"
+ ( Ast.OPT )
+# 4807 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_cast_expr_eexpr_invalid_ =
-# 1345 "parser_cocci_menhir.mly"
- ( _1 )
-# 4922 "parser_cocci_menhir.ml"
+ let _v : 'tv_arity =
+# 609 "parser_cocci_menhir.mly"
+ ( Ast.MULTI )
+# 4829 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_arity =
+# 610 "parser_cocci_menhir.mly"
+ ( Ast.NONE )
+# 4846 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = l;
+ MenhirLib.EngineTypes.startp = _startpos_l_;
+ MenhirLib.EngineTypes.endp = _endpos_l_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in
- let rp : (
-# 80 "parser_cocci_menhir.mly"
+ let r : (
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 4959 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let t : 'tv_ctype = Obj.magic t in
- let lp : (
-# 79 "parser_cocci_menhir.mly"
+# 4877 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let i : 'tv_option_eexpr_ = Obj.magic i in
+ let l : (
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 4965 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let _startpos = _startpos_lp_ in
- let _endpos = _endpos_e_ in
- let _v : 'tv_cast_expr_eexpr_invalid_ =
-# 1347 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
- P.clt2mcode ")" rp, e)) )
-# 4973 "parser_cocci_menhir.ml"
+# 4883 "parser_cocci_menhir.ml"
+ ) = Obj.magic l in
+ let _startpos = _startpos_l_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_array_dec =
+# 1258 "parser_cocci_menhir.mly"
+ ( (l,i,r) )
+# 4890 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
-# 1345 "parser_cocci_menhir.mly"
- ( _1 )
-# 4997 "parser_cocci_menhir.ml"
+ let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
+# 1406 "parser_cocci_menhir.mly"
+ ( _1 )
+# 4914 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in
- let rp : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 5034 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let t : 'tv_ctype = Obj.magic t in
- let lp : (
-# 79 "parser_cocci_menhir.mly"
+ let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Ast_cocci.assignOp * Data.clt)
+# 4946 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
+# 1408 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in
+ Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+ Ast0.set_arg_exp _3,false)) )
+# 4956 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 5040 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let _startpos = _startpos_lp_ in
- let _endpos = _endpos_e_ in
- let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
-# 1347 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
- P.clt2mcode ")" rp, e)) )
-# 5048 "parser_cocci_menhir.ml"
+# 4988 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_assign_expr_eexpr_dot_expressions_ =
+# 1412 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Assignment
+ (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 4998 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_cast_expr_expr_invalid_ =
-# 1345 "parser_cocci_menhir.mly"
- ( _1 )
-# 5072 "parser_cocci_menhir.ml"
+ let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
+# 1406 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5022 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in
- let rp : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 5109 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let t : 'tv_ctype = Obj.magic t in
- let lp : (
-# 79 "parser_cocci_menhir.mly"
- (Data.clt)
-# 5115 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let _startpos = _startpos_lp_ in
- let _endpos = _endpos_e_ in
- let _v : 'tv_cast_expr_expr_invalid_ =
-# 1347 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
- P.clt2mcode ")" rp, e)) )
-# 5123 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in
+ let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Ast_cocci.assignOp * Data.clt)
+# 5054 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_choose_iso =
-# 242 "parser_cocci_menhir.mly"
- ( List.map P.id2name _2 )
-# 5151 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
+# 1408 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in
+ Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+ Ast0.set_arg_exp _3,false)) )
+# 5064 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
+ let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
let _2 : (
-# 76 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 5177 "parser_cocci_menhir.ml"
+# 5096 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 5182 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_comma_decls_TEllipsis_decl_ =
-# 1751 "parser_cocci_menhir.mly"
- ( function dot_builder ->
- [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
- dot_builder _2] )
-# 5191 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_assign_expr_eexpr_nest_expressions_ =
+# 1412 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Assignment
+ (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5106 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_one_dec_decl_ = Obj.magic _2 in
- let _1 : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 5218 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_comma_decls_TEllipsis_decl_ =
-# 1755 "parser_cocci_menhir.mly"
- ( function dot_builder ->
- [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
-# 5226 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_assign_expr_expr_invalid_ =
+# 1406 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5130 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
+ let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
let _2 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 5252 "parser_cocci_menhir.ml"
+# 176 "parser_cocci_menhir.mly"
+ (Ast_cocci.assignOp * Data.clt)
+# 5162 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 5257 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ =
-# 1751 "parser_cocci_menhir.mly"
- ( function dot_builder ->
- [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
- dot_builder _2] )
-# 5266 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_assign_expr_expr_invalid_ =
+# 1408 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in
+ Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+ Ast0.set_arg_exp _3,false)) )
+# 5172 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_one_dec_name_opt_decl_ = Obj.magic _2 in
- let _1 : (
-# 110 "parser_cocci_menhir.mly"
+ let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 5293 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+# 5204 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ =
-# 1755 "parser_cocci_menhir.mly"
- ( function dot_builder ->
- [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
-# 5301 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
-# 1172 "parser_cocci_menhir.mly"
- ( [] )
-# 5318 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_assign_expr_expr_invalid_ =
+# 1412 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Assignment
+ (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5214 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let r : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = Obj.magic r in
- let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
- let _startpos = _startpos_d_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
-# 1174 "parser_cocci_menhir.mly"
- ( (function dot_builder -> [dot_builder d])::r )
-# 5348 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
} = _menhir_stack in
- let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
+ let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
-# 1175 "parser_cocci_menhir.mly"
- ( r )
-# 5376 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_assign_expr_bis =
+# 1417 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5238 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
- let c : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 5408 "parser_cocci_menhir.ml"
- ) = Obj.magic c in
- let i : 'tv_initialize2 = Obj.magic i in
- let _startpos = _startpos_i_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ =
-# 1177 "parser_cocci_menhir.mly"
- ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
- r )
-# 5417 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ =
-# 1181 "parser_cocci_menhir.mly"
- ( [] )
-# 5434 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
+ let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 176 "parser_cocci_menhir.mly"
+ (Ast_cocci.assignOp * Data.clt)
+# 5270 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ =
-# 1182 "parser_cocci_menhir.mly"
- ( r )
-# 5462 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_assign_expr_bis =
+# 1419 "parser_cocci_menhir.mly"
+ ( let (op,clt) = _2 in
+ Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+ Ast0.set_arg_exp _3,false)) )
+# 5280 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
- let c : (
-# 110 "parser_cocci_menhir.mly"
+ let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 5494 "parser_cocci_menhir.ml"
- ) = Obj.magic c in
- let i : 'tv_initialize2 = Obj.magic i in
- let _startpos = _startpos_i_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ =
-# 1184 "parser_cocci_menhir.mly"
- ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
- r )
-# 5503 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in
+# 5312 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_any_strict_ =
-# 1989 "parser_cocci_menhir.mly"
- ( _1 )
-# 5527 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_assign_expr_bis =
+# 1423 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Assignment
+ (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5322 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in
+ let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_ctype_ =
-# 1989 "parser_cocci_menhir.mly"
- ( _1 )
-# 5551 "parser_cocci_menhir.ml"
+ let _v : 'tv_basic_expr_eexpr_dot_expressions_ =
+# 1403 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5346 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in
+ let _1 : 'tv_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_d_ident_ =
-# 1989 "parser_cocci_menhir.mly"
- ( _1 )
-# 5575 "parser_cocci_menhir.ml"
+ let _v : 'tv_basic_expr_eexpr_nest_expressions_ =
+# 1403 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5370 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in
+ let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_ident_or_const_ =
-# 1989 "parser_cocci_menhir.mly"
- ( _1 )
-# 5599 "parser_cocci_menhir.ml"
+ let _v : 'tv_basic_expr_expr_invalid_ =
+# 1403 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5394 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic _1 in
+ let _3 : 'tv_fun_start = Obj.magic _3 in
+ let _2 : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5426 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5431 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_meta_ident_ =
-# 1989 "parser_cocci_menhir.mly"
- ( _1 )
-# 5623 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_case_line =
+# 1127 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
+# 5439 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _1 in
+ let _4 : 'tv_fun_start = Obj.magic _4 in
+ let _3 : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5476 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 123 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5482 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_pure_ident_ =
-# 1989 "parser_cocci_menhir.mly"
- ( _1 )
-# 5647 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_case_line =
+# 1130 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
+# 5489 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic _1 in
+ let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_pure_ident_or_meta_ident_ =
-# 1989 "parser_cocci_menhir.mly"
- ( _1 )
-# 5671 "parser_cocci_menhir.ml"
+ let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
+# 1498 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5513 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
-# 1989 "parser_cocci_menhir.mly"
- ( _1 )
-# 5695 "parser_cocci_menhir.ml"
+ let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in
+ let rp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5550 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_ctype = Obj.magic t in
+ let lp : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5556 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_e_ in
+ let _v : 'tv_cast_expr_eexpr_dot_expressions_ =
+# 1500 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+ P.clt2mcode ")" rp, e)) )
+# 5564 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic _1 in
+ let _1 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
-# 1989 "parser_cocci_menhir.mly"
- ( _1 )
-# 5719 "parser_cocci_menhir.ml"
+ let _v : 'tv_cast_expr_eexpr_invalid_ =
+# 1498 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5588 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
-# 1989 "parser_cocci_menhir.mly"
- ( _1 )
-# 5743 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in
+ let rp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5625 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_ctype = Obj.magic t in
+ let lp : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5631 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_e_ in
+ let _v : 'tv_cast_expr_eexpr_invalid_ =
+# 1500 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+ P.clt2mcode ")" rp, e)) )
+# 5639 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
+# 1498 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5663 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in
+ let rp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5700 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_ctype = Obj.magic t in
+ let lp : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5706 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_e_ in
+ let _v : 'tv_cast_expr_eexpr_nest_expressions_ =
+# 1500 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+ P.clt2mcode ")" rp, e)) )
+# 5714 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_cast_expr_expr_invalid_ =
+# 1498 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5738 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in
+ let rp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5775 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_ctype = Obj.magic t in
+ let lp : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 5781 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_e_ in
+ let _v : 'tv_cast_expr_expr_invalid_ =
+# 1500 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+ P.clt2mcode ")" rp, e)) )
+# 5789 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_choose_iso =
+# 307 "parser_cocci_menhir.mly"
+ ( List.map P.id2name _2 )
+# 5817 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_comma_list_any_strict_ =
+# 2202 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5841 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_comma_list_ctype_ =
+# 2202 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5865 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_comma_list_d_ident_ =
+# 2202 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5889 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_comma_list_ident_or_const_ =
+# 2202 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5913 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_comma_list_meta_ident_ =
+# 2202 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5937 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_comma_list_pure_ident_ =
+# 2202 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5961 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_comma_list_pure_ident_or_meta_ident_ =
+# 2202 "parser_cocci_menhir.mly"
+ ( _1 )
+# 5985 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
+# 2202 "parser_cocci_menhir.mly"
+ ( _1 )
+# 6009 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
+# 2202 "parser_cocci_menhir.mly"
+ ( _1 )
+# 6033 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
+# 2202 "parser_cocci_menhir.mly"
+ ( _1 )
+# 6057 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
MenhirLib.EngineTypes.next = _menhir_stack;
});
(fun _menhir_env ->
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
-# 1989 "parser_cocci_menhir.mly"
+# 2202 "parser_cocci_menhir.mly"
( _1 )
-# 5767 "parser_cocci_menhir.ml"
+# 6081 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ =
-# 1989 "parser_cocci_menhir.mly"
+# 2202 "parser_cocci_menhir.mly"
( _1 )
-# 5791 "parser_cocci_menhir.ml"
+# 6105 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
-# 1989 "parser_cocci_menhir.mly"
+# 2202 "parser_cocci_menhir.mly"
( _1 )
-# 5815 "parser_cocci_menhir.ml"
+# 6129 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_comma_list_typedef_ident_ =
-# 1989 "parser_cocci_menhir.mly"
+# 2202 "parser_cocci_menhir.mly"
( _1 )
-# 5839 "parser_cocci_menhir.ml"
+# 6153 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
-# 1308 "parser_cocci_menhir.mly"
+# 1428 "parser_cocci_menhir.mly"
( _1 )
-# 5863 "parser_cocci_menhir.ml"
+# 6177 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let r : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic r in
+ let r : 'tv_eexpr = Obj.magic r in
let dd : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 5905 "parser_cocci_menhir.ml"
+# 6219 "parser_cocci_menhir.ml"
) = Obj.magic dd in
let t : 'tv_option_eexpr_ = Obj.magic t in
let w : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 5911 "parser_cocci_menhir.ml"
+# 6225 "parser_cocci_menhir.ml"
) = Obj.magic w in
let l : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic l in
let _startpos = _startpos_l_ in
let _endpos = _endpos_r_ in
let _v : 'tv_cond_expr_eexpr_dot_expressions_ =
-# 1310 "parser_cocci_menhir.mly"
+# 1430 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
P.clt2mcode ":" dd, r)) )
-# 5920 "parser_cocci_menhir.ml"
+# 6234 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
-# 1308 "parser_cocci_menhir.mly"
+# 1428 "parser_cocci_menhir.mly"
( _1 )
-# 5944 "parser_cocci_menhir.ml"
+# 6258 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let r : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic r in
+ let r : 'tv_eexpr = Obj.magic r in
let dd : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 5986 "parser_cocci_menhir.ml"
+# 6300 "parser_cocci_menhir.ml"
) = Obj.magic dd in
let t : 'tv_option_eexpr_ = Obj.magic t in
let w : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 5992 "parser_cocci_menhir.ml"
+# 6306 "parser_cocci_menhir.ml"
) = Obj.magic w in
let l : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic l in
let _startpos = _startpos_l_ in
let _endpos = _endpos_r_ in
let _v : 'tv_cond_expr_eexpr_nest_expressions_ =
-# 1310 "parser_cocci_menhir.mly"
+# 1430 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
P.clt2mcode ":" dd, r)) )
-# 6001 "parser_cocci_menhir.ml"
+# 6315 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_cond_expr_expr_invalid_ =
-# 1308 "parser_cocci_menhir.mly"
+# 1428 "parser_cocci_menhir.mly"
( _1 )
-# 6025 "parser_cocci_menhir.ml"
+# 6339 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let r : 'tv_cond_expr_expr_invalid_ = Obj.magic r in
+ let r : 'tv_eexpr = Obj.magic r in
let dd : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 6067 "parser_cocci_menhir.ml"
+# 6381 "parser_cocci_menhir.ml"
) = Obj.magic dd in
let t : 'tv_option_eexpr_ = Obj.magic t in
let w : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 6073 "parser_cocci_menhir.ml"
+# 6387 "parser_cocci_menhir.ml"
) = Obj.magic w in
let l : 'tv_arith_expr_expr_invalid_ = Obj.magic l in
let _startpos = _startpos_l_ in
let _endpos = _endpos_r_ in
let _v : 'tv_cond_expr_expr_invalid_ =
-# 1310 "parser_cocci_menhir.mly"
+# 1430 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
P.clt2mcode ":" dd, r)) )
-# 6082 "parser_cocci_menhir.ml"
+# 6396 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 56 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
(Data.clt)
-# 6103 "parser_cocci_menhir.ml"
+# 6417 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_const_vol =
-# 888 "parser_cocci_menhir.mly"
+# 1035 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.Const _1 )
-# 6110 "parser_cocci_menhir.ml"
+# 6424 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 56 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
(Data.clt)
-# 6131 "parser_cocci_menhir.ml"
+# 6445 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_const_vol =
-# 889 "parser_cocci_menhir.mly"
+# 1036 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.Volatile _1 )
-# 6138 "parser_cocci_menhir.ml"
+# 6452 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_continue_struct_decl_list =
-# 638 "parser_cocci_menhir.mly"
- ( [] )
-# 6155 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_aexpr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_continue_list_aexpr_TEllipsis_ =
+# 1978 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 6476 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
- let _1 : 'tv_struct_decl = Obj.magic _1 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6502 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_aexpr = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_continue_struct_decl_list =
-# 639 "parser_cocci_menhir.mly"
- ( _1@_2 )
-# 6185 "parser_cocci_menhir.ml"
+ let _v : 'tv_continue_list_aexpr_TEllipsis_ =
+# 1980 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6511 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_struct_decl = Obj.magic _1 in
+ let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6543 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_aexpr = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_continue_struct_decl_list =
-# 640 "parser_cocci_menhir.mly"
- ( _1 )
-# 6209 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_continue_list_aexpr_TEllipsis_ =
+# 1983 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 6553 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6241 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6246 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 523 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 6258 "parser_cocci_menhir.ml"
-
- in
-
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6264 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 6271 "parser_cocci_menhir.ml"
-
- in
-
-# 583 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 6277 "parser_cocci_menhir.ml"
+ let _2 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_aexpr_TEllipsis_ =
+# 1986 "parser_cocci_menhir.mly"
+ ( _2 )
+# 6581 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6309 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6314 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 525 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 6326 "parser_cocci_menhir.ml"
-
- in
-
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6332 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 6339 "parser_cocci_menhir.ml"
-
- in
-
-# 583 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 6345 "parser_cocci_menhir.ml"
+ let _1 : 'tv_dparam = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_continue_list_dparam_TEllipsis_ =
+# 1978 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 6605 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6377 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6382 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 527 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 6394 "parser_cocci_menhir.ml"
-
- in
-
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6400 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 6407 "parser_cocci_menhir.ml"
-
- in
-
-# 583 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 6413 "parser_cocci_menhir.ml"
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6631 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_dparam = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_dparam_TEllipsis_ =
+# 1980 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6640 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 6445 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6450 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let r = r0 in
- let ty =
- let p = p0 in
-
-# 529 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = p in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 6463 "parser_cocci_menhir.ml"
-
- in
-
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6469 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 6476 "parser_cocci_menhir.ml"
-
- in
-
-# 583 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 6482 "parser_cocci_menhir.ml"
+ let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6672 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_dparam = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_continue_list_dparam_TEllipsis_ =
+# 1983 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 6682 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r1;
- MenhirLib.EngineTypes.startp = _startpos_r1_;
- MenhirLib.EngineTypes.endp = _endpos_r1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 61 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 6523 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r00 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 6528 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let r1 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6533 "parser_cocci_menhir.ml"
- ) = Obj.magic r1 in
- let _startpos = _startpos_r1_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let r0 = r00 in
- let r = r1 in
- let ty =
- let p = p0 in
- let r = r0 in
-
-# 532 "parser_cocci_menhir.mly"
- ( let nm = (r,P.id2name p) in
- (* this is only possible when we are in a metavar decl. Otherwise,
- it will be represented already as a MetaType *)
- let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
- Ast0.Impure (*will be ignored*))) )
-# 6552 "parser_cocci_menhir.ml"
-
- in
-
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6558 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 6565 "parser_cocci_menhir.ml"
-
- in
-
-# 583 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 6571 "parser_cocci_menhir.ml"
+ let _2 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_dparam_TEllipsis_ =
+# 1986 "parser_cocci_menhir.mly"
+ ( _2 )
+# 6710 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6603 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6608 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 539 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 6620 "parser_cocci_menhir.ml"
-
- in
-
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6626 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 6633 "parser_cocci_menhir.ml"
-
- in
-
-# 583 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 6639 "parser_cocci_menhir.ml"
+ let _1 : 'tv_enum_decl_one = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 1978 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 6734 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty100;
- MenhirLib.EngineTypes.startp = _startpos_ty100_;
- MenhirLib.EngineTypes.endp = _endpos_ty100_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty200 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6676 "parser_cocci_menhir.ml"
- ) = Obj.magic ty200 in
- let ty100 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6681 "parser_cocci_menhir.ml"
- ) = Obj.magic ty100 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6686 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty20 = ty200 in
- let ty10 = ty100 in
- let r = r0 in
- let ty =
- let ty2 = ty20 in
- let ty1 = ty10 in
-
-# 541 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 6703 "parser_cocci_menhir.ml"
-
- in
-
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6709 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 6716 "parser_cocci_menhir.ml"
-
- in
-
-# 583 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 6722 "parser_cocci_menhir.ml"
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6760 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_enum_decl_one = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 1980 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6769 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6754 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6759 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 523 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 6771 "parser_cocci_menhir.ml"
-
- in
-
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6777 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 6784 "parser_cocci_menhir.ml"
-
- in
-
-# 583 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 6790 "parser_cocci_menhir.ml"
+ let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6801 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_enum_decl_one = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 1983 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 6811 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6822 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 6827 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
- let ty =
- let ty = ty0 in
-
-# 525 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+ let _2 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 1986 "parser_cocci_menhir.mly"
+ ( _2 )
# 6839 "parser_cocci_menhir.ml"
-
- in
-
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6845 "parser_cocci_menhir.ml"
-
- in
- let cv =
-
-# 39 "standard.mly"
- ( None )
-# 6852 "parser_cocci_menhir.ml"
-
- in
-
-# 583 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 6858 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_initialize2 = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
+# 1978 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 6863 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6889 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_initialize2 = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
+# 1980 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6898 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 6930 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_initialize2 = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
+# 1983 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 6940 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ =
+# 1986 "parser_cocci_menhir.mly"
+ ( _2 )
+# 6968 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
+# 1978 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 6992 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7018 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
+# 1980 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 7027 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7059 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
+# 1983 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 7069 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ =
+# 1986 "parser_cocci_menhir.mly"
+ ( _2 )
+# 7097 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
+# 1978 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 7121 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7147 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
+# 1980 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 7156 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7188 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
+# 1983 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 7198 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ =
+# 1986 "parser_cocci_menhir.mly"
+ ( _2 )
+# 7226 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_continue_struct_decl_list =
+# 753 "parser_cocci_menhir.mly"
+ ( [] )
+# 7243 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
+ let _1 : 'tv_struct_decl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_continue_struct_decl_list =
+# 754 "parser_cocci_menhir.mly"
+ ( _1@_2 )
+# 7273 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_struct_decl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_continue_struct_decl_list =
+# 755 "parser_cocci_menhir.mly"
+ ( _1 )
+# 7297 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 6890 "parser_cocci_menhir.ml"
+# 7329 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 6895 "parser_cocci_menhir.ml"
+# 7334 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
let ty =
let ty = ty0 in
-# 527 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 6907 "parser_cocci_menhir.ml"
+# 617 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 7346 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6913 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7352 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 6920 "parser_cocci_menhir.ml"
+# 7359 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 6926 "parser_cocci_menhir.ml"
+# 7365 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = r0;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 6958 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7397 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 6963 "parser_cocci_menhir.ml"
+# 7402 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let p0 = p00 in
+ let ty0 = ty00 in
let r = r0 in
let ty =
- let p = p0 in
+ let ty = ty0 in
-# 529 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = p in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 6976 "parser_cocci_menhir.ml"
+# 619 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 7414 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6982 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7420 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 6989 "parser_cocci_menhir.ml"
+# 7427 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 6995 "parser_cocci_menhir.ml"
+# 7433 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r1;
- MenhirLib.EngineTypes.startp = _startpos_r1_;
- MenhirLib.EngineTypes.endp = _endpos_r1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 61 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 7036 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r00 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 7041 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let r1 : (
-# 53 "parser_cocci_menhir.mly"
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 7046 "parser_cocci_menhir.ml"
- ) = Obj.magic r1 in
- let _startpos = _startpos_r1_ in
+# 7465 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7470 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let r0 = r00 in
- let r = r1 in
+ let ty0 = ty00 in
+ let r = r0 in
let ty =
- let p = p0 in
- let r = r0 in
+ let ty = ty0 in
-# 532 "parser_cocci_menhir.mly"
- ( let nm = (r,P.id2name p) in
- (* this is only possible when we are in a metavar decl. Otherwise,
- it will be represented already as a MetaType *)
- let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
- Ast0.Impure (*will be ignored*))) )
-# 7065 "parser_cocci_menhir.ml"
+# 621 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 7482 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 7071 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7488 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 7078 "parser_cocci_menhir.ml"
+# 7495 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 7084 "parser_cocci_menhir.ml"
+# 7501 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = r0;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7116 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
+ let p00 : (
+# 131 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 7533 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 7121 "parser_cocci_menhir.ml"
+# 7538 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
+ let p0 = p00 in
let r = r0 in
let ty =
- let ty = ty0 in
+ let p = p0 in
-# 539 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 7133 "parser_cocci_menhir.ml"
+# 623 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 7551 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 7139 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7557 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 7146 "parser_cocci_menhir.ml"
+# 7564 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 7152 "parser_cocci_menhir.ml"
+# 7570 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r1;
+ MenhirLib.EngineTypes.startp = _startpos_r1_;
+ MenhirLib.EngineTypes.endp = _endpos_r1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 7611 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 7616 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7621 "parser_cocci_menhir.ml"
+ ) = Obj.magic r1 in
+ let _startpos = _startpos_r1_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let p0 = p00 in
+ let r0 = r00 in
+ let r = r1 in
+ let ty =
+ let p = p0 in
+ let r = r0 in
+
+# 626 "parser_cocci_menhir.mly"
+ ( let nm = (r,P.id2name p) in
+ (* this is only possible when we are in a metavar decl. Otherwise,
+ it will be represented already as a MetaType *)
+ let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
+ Ast0.Impure (*will be ignored*))) )
+# 7640 "parser_cocci_menhir.ml"
+
+ in
+
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7646 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7653 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7659 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7691 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7696 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let ty0 = ty00 in
+ let r = r0 in
+ let ty =
+ let ty = ty0 in
+
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 7708 "parser_cocci_menhir.ml"
+
+ in
+
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7714 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 7721 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 7727 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty200;
+ MenhirLib.EngineTypes.startp = _startpos_ty200_;
+ MenhirLib.EngineTypes.endp = _endpos_ty200_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.semv = ty100;
MenhirLib.EngineTypes.startp = _startpos_ty100_;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty200 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 7189 "parser_cocci_menhir.ml"
+# 7764 "parser_cocci_menhir.ml"
) = Obj.magic ty200 in
let ty100 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 7194 "parser_cocci_menhir.ml"
+# 7769 "parser_cocci_menhir.ml"
) = Obj.magic ty100 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 7199 "parser_cocci_menhir.ml"
+# 7774 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
let ty2 = ty20 in
let ty1 = ty10 in
-# 541 "parser_cocci_menhir.mly"
+# 635 "parser_cocci_menhir.mly"
( Ast0.wrap
(Ast0.BaseType
(Ast.LongLongType,
[P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 7216 "parser_cocci_menhir.ml"
+# 7791 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 7222 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7797 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 7229 "parser_cocci_menhir.ml"
+# 7804 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 7235 "parser_cocci_menhir.ml"
+# 7810 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = ty00;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 7262 "parser_cocci_menhir.ml"
+# 7842 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7847 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
let ty0 = ty00 in
+ let r = r0 in
let ty =
let ty = ty0 in
-# 523 "parser_cocci_menhir.mly"
+# 617 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 7273 "parser_cocci_menhir.ml"
+# 7859 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 7279 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 7865 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 7286 "parser_cocci_menhir.ml"
+# 7872 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 7292 "parser_cocci_menhir.ml"
+# 7878 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = ty00;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 7319 "parser_cocci_menhir.ml"
+# 7910 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7915 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
let ty0 = ty00 in
+ let r = r0 in
let ty =
let ty = ty0 in
-# 525 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 7330 "parser_cocci_menhir.ml"
+# 7927 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 7336 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 7933 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 7343 "parser_cocci_menhir.ml"
+# 7940 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 7349 "parser_cocci_menhir.ml"
+# 7946 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = ty00;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 7376 "parser_cocci_menhir.ml"
+# 7978 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 7983 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
let ty0 = ty00 in
+ let r = r0 in
let ty =
let ty = ty0 in
-# 527 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 7387 "parser_cocci_menhir.ml"
+# 7995 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 7393 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8001 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 7400 "parser_cocci_menhir.ml"
+# 8008 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 7406 "parser_cocci_menhir.ml"
+# 8014 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = p00;
MenhirLib.EngineTypes.startp = _startpos_p00_;
MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let p00 : (
-# 67 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 7433 "parser_cocci_menhir.ml"
+# 8046 "parser_cocci_menhir.ml"
) = Obj.magic p00 in
- let _startpos = _startpos_p00_ in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8051 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
let p0 = p00 in
+ let r = r0 in
let ty =
let p = p0 in
-# 529 "parser_cocci_menhir.mly"
+# 623 "parser_cocci_menhir.mly"
( let (nm,pure,clt) = p in
Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 7445 "parser_cocci_menhir.ml"
+# 8064 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 7451 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8070 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 7458 "parser_cocci_menhir.ml"
+# 8077 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 7464 "parser_cocci_menhir.ml"
+# 8083 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_p00_;
MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = r00;
MenhirLib.EngineTypes.startp = _startpos_r00_;
MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r1;
+ MenhirLib.EngineTypes.startp = _startpos_r1_;
+ MenhirLib.EngineTypes.endp = _endpos_r1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let p00 : (
-# 61 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 7500 "parser_cocci_menhir.ml"
+# 8124 "parser_cocci_menhir.ml"
) = Obj.magic p00 in
let r00 : (
-# 49 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(string)
-# 7505 "parser_cocci_menhir.ml"
+# 8129 "parser_cocci_menhir.ml"
) = Obj.magic r00 in
- let _startpos = _startpos_r00_ in
+ let r1 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8134 "parser_cocci_menhir.ml"
+ ) = Obj.magic r1 in
+ let _startpos = _startpos_r1_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
let p0 = p00 in
let r0 = r00 in
+ let r = r1 in
let ty =
let p = p0 in
let r = r0 in
-# 532 "parser_cocci_menhir.mly"
+# 626 "parser_cocci_menhir.mly"
( let nm = (r,P.id2name p) in
(* this is only possible when we are in a metavar decl. Otherwise,
it will be represented already as a MetaType *)
let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
Ast0.Impure (*will be ignored*))) )
-# 7523 "parser_cocci_menhir.ml"
+# 8153 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 7529 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8159 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 7536 "parser_cocci_menhir.ml"
+# 8166 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 7542 "parser_cocci_menhir.ml"
+# 8172 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = ty00;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 7569 "parser_cocci_menhir.ml"
+# 8204 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8209 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
let ty0 = ty00 in
+ let r = r0 in
let ty =
let ty = ty0 in
-# 539 "parser_cocci_menhir.mly"
+# 633 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 7580 "parser_cocci_menhir.ml"
+# 8221 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 7586 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8227 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 7593 "parser_cocci_menhir.ml"
+# 8234 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 7599 "parser_cocci_menhir.ml"
+# 8240 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_ty200_;
MenhirLib.EngineTypes.endp = _endpos_ty200_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = ty100;
MenhirLib.EngineTypes.startp = _startpos_ty100_;
MenhirLib.EngineTypes.endp = _endpos_ty100_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty200 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 7631 "parser_cocci_menhir.ml"
+# 8277 "parser_cocci_menhir.ml"
) = Obj.magic ty200 in
let ty100 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 7636 "parser_cocci_menhir.ml"
+# 8282 "parser_cocci_menhir.ml"
) = Obj.magic ty100 in
- let _startpos = _startpos_ty100_ in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8287 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
let ty20 = ty200 in
let ty10 = ty100 in
+ let r = r0 in
let ty =
let ty2 = ty20 in
let ty1 = ty10 in
-# 541 "parser_cocci_menhir.mly"
+# 635 "parser_cocci_menhir.mly"
( Ast0.wrap
(Ast0.BaseType
(Ast.LongLongType,
[P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 7652 "parser_cocci_menhir.ml"
+# 8304 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 7658 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8310 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 7665 "parser_cocci_menhir.ml"
+# 8317 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 7671 "parser_cocci_menhir.ml"
+# 8323 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 52 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 7698 "parser_cocci_menhir.ml"
+# 8350 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let _startpos = _startpos_ty00_ in
let _endpos = _endpos_m_ in
let ty =
let ty = ty0 in
-# 549 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 7709 "parser_cocci_menhir.ml"
+# 617 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 8361 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 7715 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 8367 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 7722 "parser_cocci_menhir.ml"
+# 8374 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 7728 "parser_cocci_menhir.ml"
+# 8380 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 7755 "parser_cocci_menhir.ml"
+# 8407 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let _startpos = _startpos_ty00_ in
let _endpos = _endpos_m_ in
let ty =
let ty = ty0 in
-# 551 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 7766 "parser_cocci_menhir.ml"
+# 619 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 8418 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 7772 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 8424 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 7779 "parser_cocci_menhir.ml"
+# 8431 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 7785 "parser_cocci_menhir.ml"
+# 8437 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 7812 "parser_cocci_menhir.ml"
+# 8464 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let _startpos = _startpos_ty00_ in
let _endpos = _endpos_m_ in
let ty =
let ty = ty0 in
-# 553 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 7823 "parser_cocci_menhir.ml"
+# 621 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 8475 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 7829 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 8481 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 7836 "parser_cocci_menhir.ml"
+# 8488 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 7842 "parser_cocci_menhir.ml"
+# 8494 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i00;
- MenhirLib.EngineTypes.startp = _startpos_i00_;
- MenhirLib.EngineTypes.endp = _endpos_i00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let i00 : 'tv_ident = Obj.magic i00 in
- let s00 : (
-# 52 "parser_cocci_menhir.mly"
- (Data.clt)
-# 7875 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
+ let p00 : (
+# 131 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 8521 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let _startpos = _startpos_p00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let i0 = i00 in
- let s0 = s00 in
+ let p0 = p00 in
let ty =
- let i = i0 in
- let s = s0 in
+ let p = p0 in
-# 555 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 7888 "parser_cocci_menhir.ml"
+# 623 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 8533 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 7894 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 8539 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 7901 "parser_cocci_menhir.ml"
+# 8546 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 7907 "parser_cocci_menhir.ml"
+# 8552 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i00;
- MenhirLib.EngineTypes.startp = _startpos_i00_;
- MenhirLib.EngineTypes.endp = _endpos_i00_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let i00 : 'tv_ident = Obj.magic i00 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 8588 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 8593 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let _startpos = _startpos_r00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let i0 = i00 in
- let s0 = s00 in
+ let p0 = p00 in
+ let r0 = r00 in
let ty =
- let i = i0 in
- let s = s0 in
+ let p = p0 in
+ let r = r0 in
-# 557 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 7949 "parser_cocci_menhir.ml"
+# 626 "parser_cocci_menhir.mly"
+ ( let nm = (r,P.id2name p) in
+ (* this is only possible when we are in a metavar decl. Otherwise,
+ it will be represented already as a MetaType *)
+ let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
+ Ast0.Impure (*will be ignored*))) )
+# 8611 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 7955 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 8617 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 7962 "parser_cocci_menhir.ml"
+# 8624 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 7968 "parser_cocci_menhir.ml"
+# 8630 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8010 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let d00 : 'tv_struct_decl_list = Obj.magic d00 in
- let l00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8016 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8657 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let _startpos = _startpos_ty00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let s0 = s00 in
+ let ty0 = ty00 in
let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let s = s0 in
- let i =
-
-# 39 "standard.mly"
- ( None )
-# 8035 "parser_cocci_menhir.ml"
-
- in
+ let ty = ty0 in
-# 560 "parser_cocci_menhir.mly"
- ( (if i = None && !Data.in_iso
- then failwith "structures must be named in the iso file");
- Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
- P.clt2mcode "{" l,
- d, P.clt2mcode "}" r)) )
-# 8045 "parser_cocci_menhir.ml"
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 8668 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 8051 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 8674 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 8058 "parser_cocci_menhir.ml"
+# 8681 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 8064 "parser_cocci_menhir.ml"
+# 8687 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = ty200;
+ MenhirLib.EngineTypes.startp = _startpos_ty200_;
+ MenhirLib.EngineTypes.endp = _endpos_ty200_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x000;
- MenhirLib.EngineTypes.startp = _startpos_x000_;
- MenhirLib.EngineTypes.endp = _endpos_x000_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty100;
+ MenhirLib.EngineTypes.startp = _startpos_ty100_;
+ MenhirLib.EngineTypes.endp = _endpos_ty100_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8111 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let d00 : 'tv_struct_decl_list = Obj.magic d00 in
- let l00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8117 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let x000 : 'tv_ident = Obj.magic x000 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
+ let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8719 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8724 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let _startpos = _startpos_ty100_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let x00 = x000 in
- let s0 = s00 in
+ let ty20 = ty200 in
+ let ty10 = ty100 in
let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let x0 = x00 in
- let s = s0 in
- let i =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 8140 "parser_cocci_menhir.ml"
-
- in
-
-# 560 "parser_cocci_menhir.mly"
- ( (if i = None && !Data.in_iso
- then failwith "structures must be named in the iso file");
- Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
- P.clt2mcode "{" l,
- d, P.clt2mcode "}" r)) )
-# 8150 "parser_cocci_menhir.ml"
+ let ty2 = ty20 in
+ let ty1 = ty10 in
- in
-
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 8156 "parser_cocci_menhir.ml"
+# 635 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 8740 "parser_cocci_menhir.ml"
+
+ in
+
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 8746 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 8163 "parser_cocci_menhir.ml"
+# 8753 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 8169 "parser_cocci_menhir.ml"
+# 8759 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8211 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let d00 : 'tv_struct_decl_list = Obj.magic d00 in
- let l00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8217 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 8222 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
+ let ty00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8786 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let _startpos = _startpos_ty00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let s0 = s00 in
+ let ty0 = ty00 in
let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let s = s0 in
+ let ty = ty0 in
-# 566 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = s in
- let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
- Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
-# 8241 "parser_cocci_menhir.ml"
+# 643 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 8797 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
( ty )
-# 8247 "parser_cocci_menhir.ml"
+# 8803 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 8254 "parser_cocci_menhir.ml"
+# 8810 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 8260 "parser_cocci_menhir.ml"
+# 8816 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 61 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 8287 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let _startpos = _startpos_p00_ in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 8843 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let _startpos = _startpos_ty00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let p0 = p00 in
+ let ty0 = ty00 in
let ty =
- let p = p0 in
+ let ty = ty0 in
-# 570 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 8298 "parser_cocci_menhir.ml"
+# 645 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 8854 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
( ty )
-# 8304 "parser_cocci_menhir.ml"
+# 8860 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 8311 "parser_cocci_menhir.ml"
+# 8867 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 8317 "parser_cocci_menhir.ml"
+# 8873 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = ty00;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 8354 "parser_cocci_menhir.ml"
+# 8900 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8359 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
+ let _startpos = _startpos_ty00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
let ty0 = ty00 in
- let r = r0 in
let ty =
let ty = ty0 in
-# 523 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 8372 "parser_cocci_menhir.ml"
+# 647 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 8911 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8378 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 8917 "parser_cocci_menhir.ml"
in
let cv =
- let x = x0 in
-# 41 "standard.mly"
- ( Some x )
-# 8386 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 8924 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 8392 "parser_cocci_menhir.ml"
+# 8930 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = ty00;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 115 "parser_cocci_menhir.mly"
(Data.clt)
-# 8429 "parser_cocci_menhir.ml"
+# 8957 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8434 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
+ let _startpos = _startpos_ty00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
let ty0 = ty00 in
- let r = r0 in
let ty =
let ty = ty0 in
-# 525 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 8447 "parser_cocci_menhir.ml"
+# 649 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 8968 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8453 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 8974 "parser_cocci_menhir.ml"
in
let cv =
- let x = x0 in
-# 41 "standard.mly"
- ( Some x )
-# 8461 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 8981 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 8467 "parser_cocci_menhir.ml"
+# 8987 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = ty00;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 115 "parser_cocci_menhir.mly"
(Data.clt)
-# 8504 "parser_cocci_menhir.ml"
+# 9014 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8509 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
+ let _startpos = _startpos_ty00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
let ty0 = ty00 in
- let r = r0 in
let ty =
let ty = ty0 in
-# 527 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 8522 "parser_cocci_menhir.ml"
+# 651 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 9025 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8528 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 9031 "parser_cocci_menhir.ml"
in
let cv =
- let x = x0 in
-# 41 "standard.mly"
- ( Some x )
-# 8536 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 9038 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 8542 "parser_cocci_menhir.ml"
+# 9044 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 8579 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
(Data.clt)
-# 8584 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
+# 9071 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let _startpos = _startpos_ty00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let r = r0 in
+ let ty0 = ty00 in
let ty =
- let p = p0 in
+ let ty = ty0 in
-# 529 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = p in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 8598 "parser_cocci_menhir.ml"
+# 653 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 9082 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8604 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 9088 "parser_cocci_menhir.ml"
in
let cv =
- let x = x0 in
-# 41 "standard.mly"
- ( Some x )
-# 8612 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 9095 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 8618 "parser_cocci_menhir.ml"
+# 9101 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = i00;
+ MenhirLib.EngineTypes.startp = _startpos_i00_;
+ MenhirLib.EngineTypes.endp = _endpos_i00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r1;
- MenhirLib.EngineTypes.startp = _startpos_r1_;
- MenhirLib.EngineTypes.endp = _endpos_r1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 61 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 8664 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r00 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 8669 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let r1 : (
-# 53 "parser_cocci_menhir.mly"
+ let i00 : 'tv_ident = Obj.magic i00 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
-# 8674 "parser_cocci_menhir.ml"
- ) = Obj.magic r1 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
+# 9134 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let p0 = p00 in
- let r0 = r00 in
- let r = r1 in
+ let i0 = i00 in
+ let s0 = s00 in
let ty =
- let p = p0 in
- let r = r0 in
+ let i = i0 in
+ let s = s0 in
-# 532 "parser_cocci_menhir.mly"
- ( let nm = (r,P.id2name p) in
- (* this is only possible when we are in a metavar decl. Otherwise,
- it will be represented already as a MetaType *)
- let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
- Ast0.Impure (*will be ignored*))) )
-# 8694 "parser_cocci_menhir.ml"
+# 655 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 9147 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8700 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 9153 "parser_cocci_menhir.ml"
in
let cv =
- let x = x0 in
-# 41 "standard.mly"
- ( Some x )
-# 8708 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 9160 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 8714 "parser_cocci_menhir.ml"
+# 9166 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = ids00;
+ MenhirLib.EngineTypes.startp = _startpos_ids00_;
+ MenhirLib.EngineTypes.endp = _endpos_ids00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8751 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
+ let r00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9208 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+ let l00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9214 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
-# 8756 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
+# 9219 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
+ let r0 = r00 in
+ let ids0 = ids00 in
+ let l0 = l00 in
+ let s0 = s00 in
let ty =
- let ty = ty0 in
+ let r = r0 in
+ let ids = ids0 in
+ let l = l0 in
+ let s = s0 in
+ let i =
+
+# 39 "standard.mly"
+ ( None )
+# 9237 "parser_cocci_menhir.ml"
+
+ in
-# 539 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 8769 "parser_cocci_menhir.ml"
+# 657 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "enums must be named in the iso file");
+ Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 9246 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8775 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 9252 "parser_cocci_menhir.ml"
in
let cv =
- let x = x0 in
-# 41 "standard.mly"
- ( Some x )
-# 8783 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 9259 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 8789 "parser_cocci_menhir.ml"
+# 9265 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty100;
- MenhirLib.EngineTypes.startp = _startpos_ty100_;
- MenhirLib.EngineTypes.endp = _endpos_ty100_;
+ MenhirLib.EngineTypes.semv = ids00;
+ MenhirLib.EngineTypes.startp = _startpos_ids00_;
+ MenhirLib.EngineTypes.endp = _endpos_ids00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = x000;
+ MenhirLib.EngineTypes.startp = _startpos_x000_;
+ MenhirLib.EngineTypes.endp = _endpos_x000_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let ty200 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8831 "parser_cocci_menhir.ml"
- ) = Obj.magic ty200 in
- let ty100 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8836 "parser_cocci_menhir.ml"
- ) = Obj.magic ty100 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
+ let r00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9312 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+ let l00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9318 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let x000 : 'tv_ident = Obj.magic x000 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
-# 8841 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
+# 9324 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let ty20 = ty200 in
- let ty10 = ty100 in
- let r = r0 in
+ let r0 = r00 in
+ let ids0 = ids00 in
+ let l0 = l00 in
+ let x00 = x000 in
+ let s0 = s00 in
let ty =
- let ty2 = ty20 in
- let ty1 = ty10 in
+ let r = r0 in
+ let ids = ids0 in
+ let l = l0 in
+ let x0 = x00 in
+ let s = s0 in
+ let i =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 9345 "parser_cocci_menhir.ml"
+
+ in
-# 541 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 8859 "parser_cocci_menhir.ml"
+# 657 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "enums must be named in the iso file");
+ Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 9354 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8865 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 9360 "parser_cocci_menhir.ml"
in
let cv =
- let x = x0 in
-# 41 "standard.mly"
- ( Some x )
-# 8873 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 9367 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 8879 "parser_cocci_menhir.ml"
+# 9373 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = i00;
+ MenhirLib.EngineTypes.startp = _startpos_i00_;
+ MenhirLib.EngineTypes.endp = _endpos_i00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8916 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 8921 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
+ let i00 : 'tv_type_ident = Obj.magic i00 in
+ let s00 : 'tv_struct_or_union = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let ty0 = ty00 in
- let r = r0 in
+ let i0 = i00 in
+ let s0 = s00 in
let ty =
- let ty = ty0 in
+ let i = i0 in
+ let s = s0 in
-# 523 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 8934 "parser_cocci_menhir.ml"
+# 662 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 9415 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8940 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 9421 "parser_cocci_menhir.ml"
in
let cv =
- let x = x0 in
-# 41 "standard.mly"
- ( Some x )
-# 8948 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+ ( None )
+# 9428 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 8954 "parser_cocci_menhir.ml"
+# 9434 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.semv = d00;
+ MenhirLib.EngineTypes.startp = _startpos_d00_;
+ MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9476 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9482 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : 'tv_struct_or_union = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let r0 = r00 in
+ let d0 = d00 in
+ let l0 = l00 in
+ let s0 = s00 in
+ let ty =
+ let r = r0 in
+ let d = d0 in
+ let l = l0 in
+ let s = s0 in
+ let i =
+
+# 39 "standard.mly"
+ ( None )
+# 9501 "parser_cocci_menhir.ml"
+
+ in
+
+# 665 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "structures must be named in the iso file");
+ Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
+ P.clt2mcode "{" l,
+ d, P.clt2mcode "}" r)) )
+# 9511 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 9517 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 9524 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9530 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d00;
+ MenhirLib.EngineTypes.startp = _startpos_d00_;
+ MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x000;
+ MenhirLib.EngineTypes.startp = _startpos_x000_;
+ MenhirLib.EngineTypes.endp = _endpos_x000_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9577 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9583 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let x000 : 'tv_type_ident = Obj.magic x000 in
+ let s00 : 'tv_struct_or_union = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let r0 = r00 in
+ let d0 = d00 in
+ let l0 = l00 in
+ let x00 = x000 in
+ let s0 = s00 in
+ let ty =
+ let r = r0 in
+ let d = d0 in
+ let l = l0 in
+ let x0 = x00 in
+ let s = s0 in
+ let i =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 9606 "parser_cocci_menhir.ml"
+
+ in
+
+# 665 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "structures must be named in the iso file");
+ Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
+ P.clt2mcode "{" l,
+ d, P.clt2mcode "}" r)) )
+# 9616 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 9622 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 9629 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9635 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d00;
+ MenhirLib.EngineTypes.startp = _startpos_d00_;
+ MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9677 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9683 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 131 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 9688 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let r0 = r00 in
+ let d0 = d00 in
+ let l0 = l00 in
+ let s0 = s00 in
+ let ty =
+ let r = r0 in
+ let d = d0 in
+ let l = l0 in
+ let s = s0 in
+
+# 671 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = s in
+ let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
+ Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
+# 9707 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 9713 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 9720 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9726 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 9753 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let _startpos = _startpos_p00_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let p0 = p00 in
+ let ty =
+ let p = p0 in
+
+# 675 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 9764 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 9770 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 9777 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9783 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9820 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 9825 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let ty0 = ty00 in
+ let r = r0 in
+ let ty =
+ let ty = ty0 in
+
+# 617 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 9838 "parser_cocci_menhir.ml"
+
+ in
+
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 9844 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 9852 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 9858 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = x0;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 8991 "parser_cocci_menhir.ml"
+# 9895 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 8996 "parser_cocci_menhir.ml"
+# 9900 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let ty = ty0 in
-# 525 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 9009 "parser_cocci_menhir.ml"
+# 9913 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9015 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 9919 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 9023 "parser_cocci_menhir.ml"
+# 9927 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 9029 "parser_cocci_menhir.ml"
+# 9933 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 9066 "parser_cocci_menhir.ml"
+# 9970 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 9071 "parser_cocci_menhir.ml"
+# 9975 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let ty = ty0 in
-# 527 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 9084 "parser_cocci_menhir.ml"
+# 9988 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9090 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 9994 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 9098 "parser_cocci_menhir.ml"
+# 10002 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 9104 "parser_cocci_menhir.ml"
+# 10008 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let p00 : (
-# 67 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 9141 "parser_cocci_menhir.ml"
+# 10045 "parser_cocci_menhir.ml"
) = Obj.magic p00 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 9146 "parser_cocci_menhir.ml"
+# 10050 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let p = p0 in
-# 529 "parser_cocci_menhir.mly"
+# 623 "parser_cocci_menhir.mly"
( let (nm,pure,clt) = p in
Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 9160 "parser_cocci_menhir.ml"
+# 10064 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9166 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10070 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 9174 "parser_cocci_menhir.ml"
+# 10078 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 9180 "parser_cocci_menhir.ml"
+# 10084 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let p00 : (
-# 61 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 9226 "parser_cocci_menhir.ml"
+# 10130 "parser_cocci_menhir.ml"
) = Obj.magic p00 in
let r00 : (
-# 49 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(string)
-# 9231 "parser_cocci_menhir.ml"
+# 10135 "parser_cocci_menhir.ml"
) = Obj.magic r00 in
let r1 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 9236 "parser_cocci_menhir.ml"
+# 10140 "parser_cocci_menhir.ml"
) = Obj.magic r1 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let p = p0 in
let r = r0 in
-# 532 "parser_cocci_menhir.mly"
+# 626 "parser_cocci_menhir.mly"
( let nm = (r,P.id2name p) in
(* this is only possible when we are in a metavar decl. Otherwise,
it will be represented already as a MetaType *)
let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
Ast0.Impure (*will be ignored*))) )
-# 9256 "parser_cocci_menhir.ml"
+# 10160 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9262 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10166 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 9270 "parser_cocci_menhir.ml"
+# 10174 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 9276 "parser_cocci_menhir.ml"
+# 10180 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 9313 "parser_cocci_menhir.ml"
+# 10217 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 9318 "parser_cocci_menhir.ml"
+# 10222 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let ty = ty0 in
-# 539 "parser_cocci_menhir.mly"
+# 633 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 9331 "parser_cocci_menhir.ml"
+# 10235 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9337 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10241 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 9345 "parser_cocci_menhir.ml"
+# 10249 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 9351 "parser_cocci_menhir.ml"
+# 10255 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty200 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 9393 "parser_cocci_menhir.ml"
+# 10297 "parser_cocci_menhir.ml"
) = Obj.magic ty200 in
let ty100 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 9398 "parser_cocci_menhir.ml"
+# 10302 "parser_cocci_menhir.ml"
) = Obj.magic ty100 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 9403 "parser_cocci_menhir.ml"
+# 10307 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty2 = ty20 in
let ty1 = ty10 in
-# 541 "parser_cocci_menhir.mly"
+# 635 "parser_cocci_menhir.mly"
( Ast0.wrap
(Ast0.BaseType
(Ast.LongLongType,
[P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 9421 "parser_cocci_menhir.ml"
+# 10325 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9427 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10331 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 9435 "parser_cocci_menhir.ml"
+# 10339 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 9441 "parser_cocci_menhir.ml"
+# 10345 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 9473 "parser_cocci_menhir.ml"
+# 10382 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10387 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
let ty0 = ty00 in
+ let r = r0 in
let ty =
let ty = ty0 in
-# 523 "parser_cocci_menhir.mly"
+# 617 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 9485 "parser_cocci_menhir.ml"
+# 10400 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 9491 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10406 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 9499 "parser_cocci_menhir.ml"
+# 10414 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 9505 "parser_cocci_menhir.ml"
+# 10420 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 9537 "parser_cocci_menhir.ml"
+# 10457 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10462 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
let ty0 = ty00 in
+ let r = r0 in
let ty =
let ty = ty0 in
-# 525 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 9549 "parser_cocci_menhir.ml"
+# 10475 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 9555 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10481 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 9563 "parser_cocci_menhir.ml"
+# 10489 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 9569 "parser_cocci_menhir.ml"
+# 10495 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 9601 "parser_cocci_menhir.ml"
+# 10532 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10537 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
let ty0 = ty00 in
+ let r = r0 in
let ty =
let ty = ty0 in
-# 527 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 9613 "parser_cocci_menhir.ml"
+# 10550 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 9619 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10556 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 9627 "parser_cocci_menhir.ml"
+# 10564 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 9633 "parser_cocci_menhir.ml"
+# 10570 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_p00_;
MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let p00 : (
-# 67 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 9665 "parser_cocci_menhir.ml"
+# 10607 "parser_cocci_menhir.ml"
) = Obj.magic p00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10612 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
let p0 = p00 in
+ let r = r0 in
let ty =
let p = p0 in
-# 529 "parser_cocci_menhir.mly"
+# 623 "parser_cocci_menhir.mly"
( let (nm,pure,clt) = p in
Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 9678 "parser_cocci_menhir.ml"
+# 10626 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 9684 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10632 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 9692 "parser_cocci_menhir.ml"
+# 10640 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 9698 "parser_cocci_menhir.ml"
+# 10646 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_p00_;
MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.semv = r00;
MenhirLib.EngineTypes.startp = _startpos_r00_;
MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = r1;
+ MenhirLib.EngineTypes.startp = _startpos_r1_;
+ MenhirLib.EngineTypes.endp = _endpos_r1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let p00 : (
-# 61 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 9739 "parser_cocci_menhir.ml"
+# 10692 "parser_cocci_menhir.ml"
) = Obj.magic p00 in
let r00 : (
-# 49 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(string)
-# 9744 "parser_cocci_menhir.ml"
+# 10697 "parser_cocci_menhir.ml"
) = Obj.magic r00 in
+ let r1 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10702 "parser_cocci_menhir.ml"
+ ) = Obj.magic r1 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
let p0 = p00 in
let r0 = r00 in
+ let r = r1 in
let ty =
let p = p0 in
let r = r0 in
-# 532 "parser_cocci_menhir.mly"
+# 626 "parser_cocci_menhir.mly"
( let nm = (r,P.id2name p) in
(* this is only possible when we are in a metavar decl. Otherwise,
it will be represented already as a MetaType *)
let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
Ast0.Impure (*will be ignored*))) )
-# 9763 "parser_cocci_menhir.ml"
+# 10722 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 9769 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10728 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 9777 "parser_cocci_menhir.ml"
+# 10736 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 9783 "parser_cocci_menhir.ml"
+# 10742 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 9815 "parser_cocci_menhir.ml"
+# 10779 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10784 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
let ty0 = ty00 in
+ let r = r0 in
let ty =
let ty = ty0 in
-# 539 "parser_cocci_menhir.mly"
+# 633 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 9827 "parser_cocci_menhir.ml"
+# 10797 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 9833 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10803 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 9841 "parser_cocci_menhir.ml"
+# 10811 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 9847 "parser_cocci_menhir.ml"
+# 10817 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_ty100_;
MenhirLib.EngineTypes.endp = _endpos_ty100_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty200 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 9884 "parser_cocci_menhir.ml"
+# 10859 "parser_cocci_menhir.ml"
) = Obj.magic ty200 in
let ty100 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 9889 "parser_cocci_menhir.ml"
+# 10864 "parser_cocci_menhir.ml"
) = Obj.magic ty100 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 10869 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
let ty20 = ty200 in
let ty10 = ty100 in
+ let r = r0 in
let ty =
let ty2 = ty20 in
let ty1 = ty10 in
-# 541 "parser_cocci_menhir.mly"
+# 635 "parser_cocci_menhir.mly"
( Ast0.wrap
(Ast0.BaseType
(Ast.LongLongType,
[P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 9906 "parser_cocci_menhir.ml"
+# 10887 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 9912 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10893 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 9920 "parser_cocci_menhir.ml"
+# 10901 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 9926 "parser_cocci_menhir.ml"
+# 10907 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 52 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 9958 "parser_cocci_menhir.ml"
+# 10939 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let ty = ty0 in
-# 549 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 9970 "parser_cocci_menhir.ml"
+# 617 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 10951 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 9976 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 10957 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 9984 "parser_cocci_menhir.ml"
+# 10965 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 9990 "parser_cocci_menhir.ml"
+# 10971 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 10022 "parser_cocci_menhir.ml"
+# 11003 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let ty = ty0 in
-# 551 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 10034 "parser_cocci_menhir.ml"
+# 619 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 11015 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 10040 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 11021 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 10048 "parser_cocci_menhir.ml"
+# 11029 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 10054 "parser_cocci_menhir.ml"
+# 11035 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 10086 "parser_cocci_menhir.ml"
+# 11067 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let ty = ty0 in
-# 553 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 10098 "parser_cocci_menhir.ml"
+# 621 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 11079 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 10104 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 11085 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 10112 "parser_cocci_menhir.ml"
+# 11093 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 10118 "parser_cocci_menhir.ml"
+# 11099 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i00;
- MenhirLib.EngineTypes.startp = _startpos_i00_;
- MenhirLib.EngineTypes.endp = _endpos_i00_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let i00 : 'tv_ident = Obj.magic i00 in
- let s00 : (
-# 52 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10156 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
+ let p00 : (
+# 131 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 11131 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let i0 = i00 in
- let s0 = s00 in
+ let p0 = p00 in
let ty =
- let i = i0 in
- let s = s0 in
+ let p = p0 in
-# 555 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 10170 "parser_cocci_menhir.ml"
+# 623 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 11144 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 10176 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 11150 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 10184 "parser_cocci_menhir.ml"
+# 11158 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 10190 "parser_cocci_menhir.ml"
+# 11164 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i00;
- MenhirLib.EngineTypes.startp = _startpos_i00_;
- MenhirLib.EngineTypes.endp = _endpos_i00_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let i00 : 'tv_ident = Obj.magic i00 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 11205 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 11210 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let i0 = i00 in
- let s0 = s00 in
+ let p0 = p00 in
+ let r0 = r00 in
let ty =
- let i = i0 in
- let s = s0 in
+ let p = p0 in
+ let r = r0 in
-# 557 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 10238 "parser_cocci_menhir.ml"
+# 626 "parser_cocci_menhir.mly"
+ ( let nm = (r,P.id2name p) in
+ (* this is only possible when we are in a metavar decl. Otherwise,
+ it will be represented already as a MetaType *)
+ let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
+ Ast0.Impure (*will be ignored*))) )
+# 11229 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 10244 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 11235 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 10252 "parser_cocci_menhir.ml"
+# 11243 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 10258 "parser_cocci_menhir.ml"
+# 11249 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10305 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let d00 : 'tv_struct_decl_list = Obj.magic d00 in
- let l00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10311 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11281 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let s0 = s00 in
+ let ty0 = ty00 in
let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let s = s0 in
- let i =
-
-# 39 "standard.mly"
- ( None )
-# 10331 "parser_cocci_menhir.ml"
-
- in
+ let ty = ty0 in
-# 560 "parser_cocci_menhir.mly"
- ( (if i = None && !Data.in_iso
- then failwith "structures must be named in the iso file");
- Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
- P.clt2mcode "{" l,
- d, P.clt2mcode "}" r)) )
-# 10341 "parser_cocci_menhir.ml"
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 11293 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 10347 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 11299 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 10355 "parser_cocci_menhir.ml"
+# 11307 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 10361 "parser_cocci_menhir.ml"
+# 11313 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = ty200;
+ MenhirLib.EngineTypes.startp = _startpos_ty200_;
+ MenhirLib.EngineTypes.endp = _endpos_ty200_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.semv = ty100;
+ MenhirLib.EngineTypes.startp = _startpos_ty100_;
+ MenhirLib.EngineTypes.endp = _endpos_ty100_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x000;
- MenhirLib.EngineTypes.startp = _startpos_x000_;
- MenhirLib.EngineTypes.endp = _endpos_x000_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10413 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let d00 : 'tv_struct_decl_list = Obj.magic d00 in
- let l00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10419 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let x000 : 'tv_ident = Obj.magic x000 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
+ let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11350 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11355 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let x00 = x000 in
- let s0 = s00 in
+ let ty20 = ty200 in
+ let ty10 = ty100 in
let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let x0 = x00 in
- let s = s0 in
- let i =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 10443 "parser_cocci_menhir.ml"
-
- in
+ let ty2 = ty20 in
+ let ty1 = ty10 in
-# 560 "parser_cocci_menhir.mly"
- ( (if i = None && !Data.in_iso
- then failwith "structures must be named in the iso file");
- Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
- P.clt2mcode "{" l,
- d, P.clt2mcode "}" r)) )
-# 10453 "parser_cocci_menhir.ml"
+# 635 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 11372 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 10459 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 11378 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 10467 "parser_cocci_menhir.ml"
+# 11386 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 10473 "parser_cocci_menhir.ml"
+# 11392 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10520 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let d00 : 'tv_struct_decl_list = Obj.magic d00 in
- let l00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10526 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 10531 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
+ let ty00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11424 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let s0 = s00 in
+ let ty0 = ty00 in
let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let s = s0 in
+ let ty = ty0 in
-# 566 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = s in
- let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
- Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
-# 10551 "parser_cocci_menhir.ml"
+# 643 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 11436 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
( ty )
-# 10557 "parser_cocci_menhir.ml"
+# 11442 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 10565 "parser_cocci_menhir.ml"
+# 11450 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 10571 "parser_cocci_menhir.ml"
+# 11456 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = x0;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 61 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 10603 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11488 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_ctype = let ty =
- let p0 = p00 in
+ let ty0 = ty00 in
let ty =
- let p = p0 in
+ let ty = ty0 in
-# 570 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 10615 "parser_cocci_menhir.ml"
+# 645 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 11500 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
( ty )
-# 10621 "parser_cocci_menhir.ml"
+# 11506 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 10629 "parser_cocci_menhir.ml"
+# 11514 "parser_cocci_menhir.ml"
in
-# 583 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 10635 "parser_cocci_menhir.ml"
+# 11520 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let r : (
-# 53 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 10656 "parser_cocci_menhir.ml"
- ) = Obj.magic r in
- let _startpos = _startpos_r_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_ctype =
-# 585 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
-# 10663 "parser_cocci_menhir.ml"
+# 11552 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let ty0 = ty00 in
+ let ty =
+ let ty = ty0 in
+
+# 647 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 11564 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 11570 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11578 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11584 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let r : (
-# 53 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
(Data.clt)
-# 10684 "parser_cocci_menhir.ml"
- ) = Obj.magic r in
- let _startpos = _startpos_r_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_ctype =
-# 587 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
-# 10691 "parser_cocci_menhir.ml"
+# 11616 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let ty0 = ty00 in
+ let ty =
+ let ty = ty0 in
+
+# 649 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 11628 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 11634 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11642 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11648 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let rp : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10722 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
- let lp : (
-# 79 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10728 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let _startpos = _startpos_lp_ in
- let _endpos = _endpos_rp_ in
- let _v : 'tv_ctype =
-# 589 "parser_cocci_menhir.mly"
- ( let (mids,code) = t in
- Ast0.wrap
- (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
-# 10737 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11680 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let ty0 = ty00 in
+ let ty =
+ let ty = ty0 in
+
+# 651 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 11692 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 11698 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11706 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11712 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_list_array_dec_ = Obj.magic _2 in
- let _1 : 'tv_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_d_ident =
-# 1108 "parser_cocci_menhir.mly"
- ( (_1,
- function t ->
- List.fold_right
- (function (l,i,r) ->
- function rest ->
- Ast0.wrap
- (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r)))
- _2 t) )
-# 10774 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11744 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let ty0 = ty00 in
+ let ty =
+ let ty = ty0 in
+
+# 653 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 11756 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 11762 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11770 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11776 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = i00;
+ MenhirLib.EngineTypes.startp = _startpos_i00_;
+ MenhirLib.EngineTypes.endp = _endpos_i00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
} = _menhir_stack in
- let i : 'tv_ident = Obj.magic i in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_i_ in
- let _v : 'tv_decl =
-# 862 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Param(t, Some i)) )
-# 10804 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let i00 : 'tv_ident = Obj.magic i00 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11814 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let i0 = i00 in
+ let s0 = s00 in
+ let ty =
+ let i = i0 in
+ let s = s0 in
+
+# 655 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 11828 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 11834 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11842 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11848 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids00;
+ MenhirLib.EngineTypes.startp = _startpos_ids00_;
+ MenhirLib.EngineTypes.endp = _endpos_ids00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_decl =
-# 863 "parser_cocci_menhir.mly"
- ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
-# 10828 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11895 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+ let l00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11901 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 11906 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let r0 = r00 in
+ let ids0 = ids00 in
+ let l0 = l00 in
+ let s0 = s00 in
+ let ty =
+ let r = r0 in
+ let ids = ids0 in
+ let l = l0 in
+ let s = s0 in
+ let i =
+
+# 39 "standard.mly"
+ ( None )
+# 11925 "parser_cocci_menhir.ml"
+
+ in
+
+# 657 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "enums must be named in the iso file");
+ Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 11934 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 11940 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 11948 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 11954 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp1;
- MenhirLib.EngineTypes.startp = _startpos_lp1_;
- MenhirLib.EngineTypes.endp = _endpos_lp1_;
+ MenhirLib.EngineTypes.semv = ids00;
+ MenhirLib.EngineTypes.startp = _startpos_ids00_;
+ MenhirLib.EngineTypes.endp = _endpos_ids00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.semv = x000;
+ MenhirLib.EngineTypes.startp = _startpos_x000_;
+ MenhirLib.EngineTypes.endp = _endpos_x000_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
};
} = _menhir_stack in
- let rp1 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10884 "parser_cocci_menhir.ml"
- ) = Obj.magic rp1 in
- let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
- let lp1 : (
-# 79 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10890 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let rp : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 10895 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let i : 'tv_ident = Obj.magic i in
- let s : (
-# 102 "parser_cocci_menhir.mly"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 10901 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let lp : (
-# 79 "parser_cocci_menhir.mly"
+# 12006 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+ let l00 : (
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 10906 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_rp1_ in
- let _v : 'tv_decl =
-# 866 "parser_cocci_menhir.mly"
- ( let fnptr =
- Ast0.wrap
- (Ast0.FunctionPointer
- (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
- P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
- Ast0.wrap(Ast0.Param(fnptr, Some i)) )
-# 10919 "parser_cocci_menhir.ml"
+# 12012 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let x000 : 'tv_ident = Obj.magic x000 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12018 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let r0 = r00 in
+ let ids0 = ids00 in
+ let l0 = l00 in
+ let x00 = x000 in
+ let s0 = s00 in
+ let ty =
+ let r = r0 in
+ let ids = ids0 in
+ let l = l0 in
+ let x0 = x00 in
+ let s = s0 in
+ let i =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12040 "parser_cocci_menhir.ml"
+
+ in
+
+# 657 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "enums must be named in the iso file");
+ Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 12049 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 12055 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12063 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 12069 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i00;
+ MenhirLib.EngineTypes.startp = _startpos_i00_;
+ MenhirLib.EngineTypes.endp = _endpos_i00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 10940 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl =
-# 873 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
-# 10948 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let i00 : 'tv_type_ident = Obj.magic i00 in
+ let s00 : 'tv_struct_or_union = Obj.magic s00 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let i0 = i00 in
+ let s0 = s00 in
+ let ty =
+ let i = i0 in
+ let s = s0 in
+
+# 662 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 12117 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 12123 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12131 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 12137 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d00;
+ MenhirLib.EngineTypes.startp = _startpos_d00_;
+ MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12184 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12190 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : 'tv_struct_or_union = Obj.magic s00 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let r0 = r00 in
+ let d0 = d00 in
+ let l0 = l00 in
+ let s0 = s00 in
+ let ty =
+ let r = r0 in
+ let d = d0 in
+ let l = l0 in
+ let s = s0 in
+ let i =
+
+# 39 "standard.mly"
+ ( None )
+# 12210 "parser_cocci_menhir.ml"
+
+ in
+
+# 665 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "structures must be named in the iso file");
+ Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
+ P.clt2mcode "{" l,
+ d, P.clt2mcode "}" r)) )
+# 12220 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 12226 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12234 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 12240 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 61 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 10969 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_ident =
-# 1699 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 10976 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
MenhirLib.EngineTypes.next = _menhir_stack;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d00;
+ MenhirLib.EngineTypes.startp = _startpos_d00_;
+ MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x000;
+ MenhirLib.EngineTypes.startp = _startpos_x000_;
+ MenhirLib.EngineTypes.endp = _endpos_x000_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 65 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 10997 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_ident =
-# 1701 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 11005 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_decl_list_decl_ =
-# 1721 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS([])) )
-# 11022 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12292 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12298 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let x000 : 'tv_type_ident = Obj.magic x000 in
+ let s00 : 'tv_struct_or_union = Obj.magic s00 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let r0 = r00 in
+ let d0 = d00 in
+ let l0 = l00 in
+ let x00 = x000 in
+ let s0 = s00 in
+ let ty =
+ let r = r0 in
+ let d = d0 in
+ let l = l0 in
+ let x0 = x00 in
+ let s = s0 in
+ let i =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12322 "parser_cocci_menhir.ml"
+
+ in
+
+# 665 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "structures must be named in the iso file");
+ Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
+ P.clt2mcode "{" l,
+ d, P.clt2mcode "}" r)) )
+# 12332 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 12338 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12346 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 12352 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d00;
+ MenhirLib.EngineTypes.startp = _startpos_d00_;
+ MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_decl_list_start_decl_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_list_decl_ =
-# 1723 "parser_cocci_menhir.mly"
- (let circle x =
- match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
- if List.exists circle _1
- then Ast0.wrap(Ast0.CIRCLES(_1))
- else Ast0.wrap(Ast0.DOTS(_1)) )
-# 11050 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12399 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12405 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 131 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 12410 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let r0 = r00 in
+ let d0 = d00 in
+ let l0 = l00 in
+ let s0 = s00 in
+ let ty =
+ let r = r0 in
+ let d = d0 in
+ let l = l0 in
+ let s = s0 in
+
+# 671 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = s in
+ let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
+ Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
+# 12430 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 12436 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12444 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 12450 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_decl_list_name_opt_decl_ =
-# 1721 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS([])) )
-# 11067 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 12482 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_ctype = let ty =
+ let p0 = p00 in
+ let ty =
+ let p = p0 in
+
+# 675 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 12494 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 12500 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 12508 "parser_cocci_menhir.ml"
+
+ in
+
+# 688 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 12514 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_list_name_opt_decl_ =
-# 1723 "parser_cocci_menhir.mly"
- (let circle x =
- match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
- if List.exists circle _1
- then Ast0.wrap(Ast0.CIRCLES(_1))
- else Ast0.wrap(Ast0.DOTS(_1)) )
-# 11095 "parser_cocci_menhir.ml"
+ let r : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12535 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let _startpos = _startpos_r_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_ctype =
+# 690 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
+# 12542 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_list_start_decl_ =
-# 1730 "parser_cocci_menhir.mly"
- ( [_1] )
-# 11119 "parser_cocci_menhir.ml"
+ let r : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12563 "parser_cocci_menhir.ml"
+ ) = Obj.magic r in
+ let _startpos = _startpos_r_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_ctype =
+# 692 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
+# 12570 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let _3 : 'tv_decl_list_start_decl_ = Obj.magic _3 in
- let _2 : (
-# 110 "parser_cocci_menhir.mly"
+ let rp : (
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 11151 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_decl_list_start_decl_ =
-# 1732 "parser_cocci_menhir.mly"
- ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
-# 11159 "parser_cocci_menhir.ml"
+# 12601 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
+ let lp : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12607 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_rp_ in
+ let _v : 'tv_ctype =
+# 694 "parser_cocci_menhir.mly"
+ ( let (mids,code) = t in
+ Ast0.wrap
+ (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
+# 12616 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic _2 in
- let _1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11186 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _2 : 'tv_list_array_dec_ = Obj.magic _2 in
+ let _1 : 'tv_disj_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_decl_list_start_decl_ =
-# 1734 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
- (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
-# 11194 "parser_cocci_menhir.ml"
+ let _v : 'tv_d_ident =
+# 1256 "parser_cocci_menhir.mly"
+ ( (_1, function t -> P.arrayify t _2) )
+# 12646 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let a : 'tv_list_array_dec_ = Obj.magic a in
+ let i : 'tv_disj_ident = Obj.magic i in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_a_ in
+ let _v : 'tv_decl =
+# 1008 "parser_cocci_menhir.mly"
+ ( let t = P.arrayify t a in Ast0.wrap(Ast0.Param(t, Some i)) )
+# 12682 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_decl_list_start_name_opt_decl_ =
-# 1730 "parser_cocci_menhir.mly"
- ( [_1] )
-# 11218 "parser_cocci_menhir.ml"
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_decl =
+# 1009 "parser_cocci_menhir.mly"
+ ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
+# 12706 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = lp1;
+ MenhirLib.EngineTypes.startp = _startpos_lp1_;
+ MenhirLib.EngineTypes.endp = _endpos_lp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
};
};
} = _menhir_stack in
- let _3 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _3 in
- let _2 : (
-# 110 "parser_cocci_menhir.mly"
+ let rp1 : (
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 11250 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_decl_list_start_name_opt_decl_ =
-# 1732 "parser_cocci_menhir.mly"
- ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
-# 11258 "parser_cocci_menhir.ml"
+# 12762 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+ let lp1 : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12768 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let rp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12773 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let i : 'tv_disj_ident = Obj.magic i in
+ let s : (
+# 167 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12779 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let lp : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 12784 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_rp1_ in
+ let _v : 'tv_decl =
+# 1012 "parser_cocci_menhir.mly"
+ ( let fnptr =
+ Ast0.wrap
+ (Ast0.FunctionPointer
+ (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
+ P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
+ Ast0.wrap(Ast0.Param(fnptr, Some i)) )
+# 12797 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic _2 in
let _1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 11285 "parser_cocci_menhir.ml"
+# 131 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 12818 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_decl_list_start_name_opt_decl_ =
-# 1734 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
- (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
-# 11293 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl =
+# 1019 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
+# 12826 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 11314 "parser_cocci_menhir.ml"
+# 12847 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl_statement =
-# 1190 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = _1 in
- [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
-# 11322 "parser_cocci_menhir.ml"
+ let _v : 'tv_decl =
+# 1021 "parser_cocci_menhir.mly"
+ ( tmeta_to_param _1 )
+# 12854 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_decl_var = Obj.magic _1 in
+ let _1 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 12875 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl_statement =
-# 1193 "parser_cocci_menhir.mly"
- ( List.map
- (function x ->
- Ast0.wrap
- (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
- _1 )
-# 11350 "parser_cocci_menhir.ml"
+ let _v : 'tv_decl_ident =
+# 1902 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 12882 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_statement = Obj.magic _1 in
+ let _1 : (
+# 129 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 12903 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_decl_statement =
-# 1198 "parser_cocci_menhir.mly"
- ( [_1] )
-# 11374 "parser_cocci_menhir.ml"
+ let _v : 'tv_decl_ident =
+# 1904 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 12911 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_list_decl_ =
+# 1926 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.DOTS
+ (_1
+ (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
+ (fun c -> Ast0.PComma c))) )
+# 12939 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_list_name_opt_decl_ =
+# 1926 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.DOTS
+ (_1
+ (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
+ (fun c -> Ast0.PComma c))) )
+# 12967 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 131 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 12988 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_statement =
+# 1307 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = _1 in
+ [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
+# 12996 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_decl_var = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_statement =
+# 1310 "parser_cocci_menhir.mly"
+ ( List.map
+ (function x ->
+ Ast0.wrap
+ (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
+ _1 )
+# 13024 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_statement = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_decl_statement =
+# 1315 "parser_cocci_menhir.mly"
+ ( [_1] )
+# 13048 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
MenhirLib.EngineTypes.startp = _startpos_t_;
MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
};
} = _menhir_stack in
let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 11405 "parser_cocci_menhir.ml"
+# 13079 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 11411 "parser_cocci_menhir.ml"
+# 13085 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_decl_statement =
-# 1207 "parser_cocci_menhir.mly"
+# 1324 "parser_cocci_menhir.mly"
( let (mids,code) = t in
if List.for_all
(function x ->
else
[Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids,
P.clt2mcode ")" _3))] )
-# 11426 "parser_cocci_menhir.ml"
+# 13100 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 11447 "parser_cocci_menhir.ml"
+# 13121 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_decl_statement_expr =
-# 1220 "parser_cocci_menhir.mly"
+# 1337 "parser_cocci_menhir.mly"
( let (nm,pure,clt) = _1 in
[Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
-# 11455 "parser_cocci_menhir.ml"
+# 13129 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_decl_statement_expr =
-# 1223 "parser_cocci_menhir.mly"
+# 1340 "parser_cocci_menhir.mly"
( List.map
(function x ->
Ast0.wrap
(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
_1 )
-# 11483 "parser_cocci_menhir.ml"
+# 13157 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_decl_statement_expr =
-# 1228 "parser_cocci_menhir.mly"
+# 1345 "parser_cocci_menhir.mly"
( [_1] )
-# 11507 "parser_cocci_menhir.ml"
+# 13181 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 11538 "parser_cocci_menhir.ml"
+# 13212 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let t : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = Obj.magic t in
let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 11544 "parser_cocci_menhir.ml"
+# 13218 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_decl_statement_expr =
-# 1237 "parser_cocci_menhir.mly"
+# 1354 "parser_cocci_menhir.mly"
( let (mids,code) = t in
if List.for_all (function [] -> true | _ -> false) code
then []
List.map (function x -> Ast0.wrap(Ast0.DOTS x)) code in
[Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, dot_code, mids,
P.clt2mcode ")" _3))] )
-# 11558 "parser_cocci_menhir.ml"
+# 13232 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 11584 "parser_cocci_menhir.ml"
+# 13258 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let t : 'tv_ctype = Obj.magic t in
let _startpos = _startpos_t_ in
let _endpos = _endpos_pv_ in
let _v : 'tv_decl_var =
-# 994 "parser_cocci_menhir.mly"
+# 1142 "parser_cocci_menhir.mly"
( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
-# 11592 "parser_cocci_menhir.ml"
+# 13266 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 68 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 11613 "parser_cocci_menhir.ml"
+# 13287 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_decl_var =
-# 995 "parser_cocci_menhir.mly"
+# 1143 "parser_cocci_menhir.mly"
( [P.meta_decl _1] )
-# 11620 "parser_cocci_menhir.ml"
+# 13294 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 11651 "parser_cocci_menhir.ml"
+# 13325 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let d : 'tv_comma_list_d_ident_ = Obj.magic d in
let t : 'tv_ctype = Obj.magic t in
# 39 "standard.mly"
( None )
-# 11661 "parser_cocci_menhir.ml"
+# 13335 "parser_cocci_menhir.ml"
in
-# 997 "parser_cocci_menhir.mly"
+# 1145 "parser_cocci_menhir.mly"
( List.map
(function (id,fn) ->
Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
d )
-# 11670 "parser_cocci_menhir.ml"
+# 13344 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 11706 "parser_cocci_menhir.ml"
+# 13380 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let d : 'tv_comma_list_d_ident_ = Obj.magic d in
let t : 'tv_ctype = Obj.magic t in
# 41 "standard.mly"
( Some x )
-# 11718 "parser_cocci_menhir.ml"
+# 13392 "parser_cocci_menhir.ml"
in
-# 997 "parser_cocci_menhir.mly"
+# 1145 "parser_cocci_menhir.mly"
( List.map
(function (id,fn) ->
Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
d )
-# 11727 "parser_cocci_menhir.ml"
+# 13401 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_f_ in
let _endpos = _endpos_f_ in
let _v : 'tv_decl_var =
-# 1001 "parser_cocci_menhir.mly"
+# 1149 "parser_cocci_menhir.mly"
( [f] )
-# 11751 "parser_cocci_menhir.ml"
+# 13425 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 11792 "parser_cocci_menhir.ml"
+# 13466 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let e : 'tv_initialize = Obj.magic e in
let q : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 11798 "parser_cocci_menhir.ml"
+# 13472 "parser_cocci_menhir.ml"
) = Obj.magic q in
let d : 'tv_d_ident = Obj.magic d in
let t : 'tv_ctype = Obj.magic t in
# 39 "standard.mly"
( None )
-# 11808 "parser_cocci_menhir.ml"
+# 13482 "parser_cocci_menhir.ml"
in
-# 1003 "parser_cocci_menhir.mly"
+# 1151 "parser_cocci_menhir.mly"
(let (id,fn) = d in
[Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 11815 "parser_cocci_menhir.ml"
+# 13489 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 11861 "parser_cocci_menhir.ml"
+# 13535 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let e : 'tv_initialize = Obj.magic e in
let q : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 11867 "parser_cocci_menhir.ml"
+# 13541 "parser_cocci_menhir.ml"
) = Obj.magic q in
let d : 'tv_d_ident = Obj.magic d in
let t : 'tv_ctype = Obj.magic t in
# 41 "standard.mly"
( Some x )
-# 11879 "parser_cocci_menhir.ml"
+# 13553 "parser_cocci_menhir.ml"
in
-# 1003 "parser_cocci_menhir.mly"
+# 1151 "parser_cocci_menhir.mly"
(let (id,fn) = d in
[Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 11886 "parser_cocci_menhir.ml"
+# 13560 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 11917 "parser_cocci_menhir.ml"
+# 13591 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let d : 'tv_comma_list_d_ident_ = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
# 39 "standard.mly"
( None )
-# 11927 "parser_cocci_menhir.ml"
+# 13601 "parser_cocci_menhir.ml"
in
let s =
# 39 "standard.mly"
( None )
-# 11934 "parser_cocci_menhir.ml"
+# 13608 "parser_cocci_menhir.ml"
in
-# 1008 "parser_cocci_menhir.mly"
+# 1156 "parser_cocci_menhir.mly"
( List.map
(function (id,fn) ->
let idtype =
P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
d )
-# 11945 "parser_cocci_menhir.ml"
+# 13619 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 11981 "parser_cocci_menhir.ml"
+# 13655 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let d : 'tv_comma_list_d_ident_ = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
# 41 "standard.mly"
( Some x )
-# 11993 "parser_cocci_menhir.ml"
+# 13667 "parser_cocci_menhir.ml"
in
let s =
# 39 "standard.mly"
( None )
-# 12000 "parser_cocci_menhir.ml"
+# 13674 "parser_cocci_menhir.ml"
in
-# 1008 "parser_cocci_menhir.mly"
+# 1156 "parser_cocci_menhir.mly"
( List.map
(function (id,fn) ->
let idtype =
P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
d )
-# 12011 "parser_cocci_menhir.ml"
+# 13685 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 12047 "parser_cocci_menhir.ml"
+# 13721 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let d : 'tv_comma_list_d_ident_ = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
# 39 "standard.mly"
( None )
-# 12058 "parser_cocci_menhir.ml"
+# 13732 "parser_cocci_menhir.ml"
in
let s =
# 41 "standard.mly"
( Some x )
-# 12066 "parser_cocci_menhir.ml"
+# 13740 "parser_cocci_menhir.ml"
in
-# 1008 "parser_cocci_menhir.mly"
+# 1156 "parser_cocci_menhir.mly"
( List.map
(function (id,fn) ->
let idtype =
P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
d )
-# 12077 "parser_cocci_menhir.ml"
+# 13751 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 12118 "parser_cocci_menhir.ml"
+# 13792 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let d : 'tv_comma_list_d_ident_ = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
# 41 "standard.mly"
( Some x )
-# 12131 "parser_cocci_menhir.ml"
+# 13805 "parser_cocci_menhir.ml"
in
let s =
# 41 "standard.mly"
( Some x )
-# 12139 "parser_cocci_menhir.ml"
+# 13813 "parser_cocci_menhir.ml"
in
-# 1008 "parser_cocci_menhir.mly"
+# 1156 "parser_cocci_menhir.mly"
( List.map
(function (id,fn) ->
let idtype =
P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
d )
-# 12150 "parser_cocci_menhir.ml"
+# 13824 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 12191 "parser_cocci_menhir.ml"
+# 13865 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let e : 'tv_initialize = Obj.magic e in
let q : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 12197 "parser_cocci_menhir.ml"
+# 13871 "parser_cocci_menhir.ml"
) = Obj.magic q in
let d : 'tv_d_ident = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
# 39 "standard.mly"
( None )
-# 12207 "parser_cocci_menhir.ml"
+# 13881 "parser_cocci_menhir.ml"
in
let s =
# 39 "standard.mly"
( None )
-# 12214 "parser_cocci_menhir.ml"
+# 13888 "parser_cocci_menhir.ml"
in
-# 1016 "parser_cocci_menhir.mly"
+# 1164 "parser_cocci_menhir.mly"
( let (id,fn) = d in
!Data.add_type_name (P.id2name i);
let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
[Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
P.clt2mcode ";" pv))] )
-# 12224 "parser_cocci_menhir.ml"
+# 13898 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 12270 "parser_cocci_menhir.ml"
+# 13944 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let e : 'tv_initialize = Obj.magic e in
let q : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 12276 "parser_cocci_menhir.ml"
+# 13950 "parser_cocci_menhir.ml"
) = Obj.magic q in
let d : 'tv_d_ident = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
# 41 "standard.mly"
( Some x )
-# 12288 "parser_cocci_menhir.ml"
+# 13962 "parser_cocci_menhir.ml"
in
let s =
# 39 "standard.mly"
( None )
-# 12295 "parser_cocci_menhir.ml"
+# 13969 "parser_cocci_menhir.ml"
in
-# 1016 "parser_cocci_menhir.mly"
+# 1164 "parser_cocci_menhir.mly"
( let (id,fn) = d in
!Data.add_type_name (P.id2name i);
let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
[Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
P.clt2mcode ";" pv))] )
-# 12305 "parser_cocci_menhir.ml"
+# 13979 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 12351 "parser_cocci_menhir.ml"
+# 14025 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let e : 'tv_initialize = Obj.magic e in
let q : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 12357 "parser_cocci_menhir.ml"
+# 14031 "parser_cocci_menhir.ml"
) = Obj.magic q in
let d : 'tv_d_ident = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
# 39 "standard.mly"
( None )
-# 12368 "parser_cocci_menhir.ml"
+# 14042 "parser_cocci_menhir.ml"
in
let s =
# 41 "standard.mly"
( Some x )
-# 12376 "parser_cocci_menhir.ml"
+# 14050 "parser_cocci_menhir.ml"
in
-# 1016 "parser_cocci_menhir.mly"
+# 1164 "parser_cocci_menhir.mly"
( let (id,fn) = d in
!Data.add_type_name (P.id2name i);
let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
[Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
P.clt2mcode ";" pv))] )
-# 12386 "parser_cocci_menhir.ml"
+# 14060 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 12437 "parser_cocci_menhir.ml"
+# 14111 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let e : 'tv_initialize = Obj.magic e in
let q : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 12443 "parser_cocci_menhir.ml"
+# 14117 "parser_cocci_menhir.ml"
) = Obj.magic q in
let d : 'tv_d_ident = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
# 41 "standard.mly"
( Some x )
-# 12456 "parser_cocci_menhir.ml"
+# 14130 "parser_cocci_menhir.ml"
in
let s =
# 41 "standard.mly"
( Some x )
-# 12464 "parser_cocci_menhir.ml"
+# 14138 "parser_cocci_menhir.ml"
in
-# 1016 "parser_cocci_menhir.mly"
+# 1164 "parser_cocci_menhir.mly"
( let (id,fn) = d in
!Data.add_type_name (P.id2name i);
let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
[Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
P.clt2mcode ";" pv))] )
-# 12474 "parser_cocci_menhir.ml"
+# 14148 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 12535 "parser_cocci_menhir.ml"
+# 14209 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let rp2 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 12540 "parser_cocci_menhir.ml"
+# 14214 "parser_cocci_menhir.ml"
) = Obj.magic rp2 in
let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
let lp2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 12546 "parser_cocci_menhir.ml"
+# 14220 "parser_cocci_menhir.ml"
) = Obj.magic lp2 in
let rp1 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 12551 "parser_cocci_menhir.ml"
+# 14225 "parser_cocci_menhir.ml"
) = Obj.magic rp1 in
let d : 'tv_d_ident = Obj.magic d in
let st : (
-# 102 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 12557 "parser_cocci_menhir.ml"
+# 14231 "parser_cocci_menhir.ml"
) = Obj.magic st in
let lp1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 12562 "parser_cocci_menhir.ml"
+# 14236 "parser_cocci_menhir.ml"
) = Obj.magic lp1 in
let t : 'tv_ctype = Obj.magic t in
let _startpos = _startpos_t_ in
# 39 "standard.mly"
( None )
-# 12571 "parser_cocci_menhir.ml"
+# 14245 "parser_cocci_menhir.ml"
in
-# 1026 "parser_cocci_menhir.mly"
+# 1174 "parser_cocci_menhir.mly"
( let (id,fn) = d in
let t =
Ast0.wrap
(t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
[Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
-# 12583 "parser_cocci_menhir.ml"
+# 14257 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 12649 "parser_cocci_menhir.ml"
+# 14323 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let rp2 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 12654 "parser_cocci_menhir.ml"
+# 14328 "parser_cocci_menhir.ml"
) = Obj.magic rp2 in
let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
let lp2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 12660 "parser_cocci_menhir.ml"
+# 14334 "parser_cocci_menhir.ml"
) = Obj.magic lp2 in
let rp1 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 12665 "parser_cocci_menhir.ml"
+# 14339 "parser_cocci_menhir.ml"
) = Obj.magic rp1 in
let d : 'tv_d_ident = Obj.magic d in
let st : (
-# 102 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 12671 "parser_cocci_menhir.ml"
+# 14345 "parser_cocci_menhir.ml"
) = Obj.magic st in
let lp1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 12676 "parser_cocci_menhir.ml"
+# 14350 "parser_cocci_menhir.ml"
) = Obj.magic lp1 in
let t : 'tv_ctype = Obj.magic t in
let x0 : 'tv_storage = Obj.magic x0 in
# 41 "standard.mly"
( Some x )
-# 12687 "parser_cocci_menhir.ml"
+# 14361 "parser_cocci_menhir.ml"
in
-# 1026 "parser_cocci_menhir.mly"
+# 1174 "parser_cocci_menhir.mly"
( let (id,fn) = d in
let t =
Ast0.wrap
(t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
[Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
-# 12699 "parser_cocci_menhir.ml"
+# 14373 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _5 : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12740 "parser_cocci_menhir.ml"
- ) = Obj.magic _5 in
- let _4 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12745 "parser_cocci_menhir.ml"
- ) = Obj.magic _4 in
- let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
- let _2 : (
-# 79 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12751 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_decl_ident = Obj.magic _1 in
+ let _5 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14414 "parser_cocci_menhir.ml"
+ ) = Obj.magic _5 in
+ let _4 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14419 "parser_cocci_menhir.ml"
+ ) = Obj.magic _4 in
+ let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
+ let _2 : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14425 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_decl_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_decl_var =
+# 1182 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
+ P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
+# 14434 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp2;
+ MenhirLib.EngineTypes.startp = _startpos_rp2_;
+ MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp2;
+ MenhirLib.EngineTypes.startp = _startpos_lp2_;
+ MenhirLib.EngineTypes.endp = _endpos_lp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = st;
+ MenhirLib.EngineTypes.startp = _startpos_st_;
+ MenhirLib.EngineTypes.endp = _endpos_st_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp1;
+ MenhirLib.EngineTypes.startp = _startpos_lp1_;
+ MenhirLib.EngineTypes.endp = _endpos_lp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let pv : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14505 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14511 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let rp2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14516 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14522 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14527 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 167 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14533 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14538 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let s =
+
+# 39 "standard.mly"
+ ( None )
+# 14547 "parser_cocci_menhir.ml"
+
+ in
+
+# 1188 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ let t =
+ Ast0.wrap
+ (Ast0.FunctionPointer
+ (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
+ P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
+ [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
+# 14559 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = q;
+ MenhirLib.EngineTypes.startp = _startpos_q_;
+ MenhirLib.EngineTypes.endp = _endpos_q_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp2;
+ MenhirLib.EngineTypes.startp = _startpos_rp2_;
+ MenhirLib.EngineTypes.endp = _endpos_rp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = p;
+ MenhirLib.EngineTypes.startp = _startpos_p_;
+ MenhirLib.EngineTypes.endp = _endpos_p_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp2;
+ MenhirLib.EngineTypes.startp = _startpos_lp2_;
+ MenhirLib.EngineTypes.endp = _endpos_lp2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = st;
+ MenhirLib.EngineTypes.startp = _startpos_st_;
+ MenhirLib.EngineTypes.endp = _endpos_st_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp1;
+ MenhirLib.EngineTypes.startp = _startpos_lp1_;
+ MenhirLib.EngineTypes.endp = _endpos_lp1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let pv : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14635 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let e : 'tv_initialize = Obj.magic e in
+ let q : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14641 "parser_cocci_menhir.ml"
+ ) = Obj.magic q in
+ let rp2 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14646 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp2 in
+ let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+ let lp2 : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14652 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp2 in
+ let rp1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14657 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_d_ident = Obj.magic d in
+ let st : (
+# 167 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14663 "parser_cocci_menhir.ml"
+ ) = Obj.magic st in
+ let lp1 : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14668 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let t : 'tv_ctype = Obj.magic t in
+ let x0 : 'tv_storage = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var = let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 14679 "parser_cocci_menhir.ml"
+
+ in
+
+# 1188 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ let t =
+ Ast0.wrap
+ (Ast0.FunctionPointer
+ (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
+ P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
+ [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
+# 14691 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = pv;
+ MenhirLib.EngineTypes.startp = _startpos_pv_;
+ MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = id;
+ MenhirLib.EngineTypes.startp = _startpos_id_;
+ MenhirLib.EngineTypes.endp = _endpos_id_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let pv : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14727 "parser_cocci_menhir.ml"
+ ) = Obj.magic pv in
+ let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in
+ let t : 'tv_typedef_ctype = Obj.magic t in
+ let s : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14734 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_pv_ in
+ let _v : 'tv_decl_var =
+# 1196 "parser_cocci_menhir.mly"
+ ( let s = P.clt2mcode "typedef" s in
+ List.map
+ (function id ->
+ Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv)))
+ id )
+# 14745 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_empty_list_start_dparam_TEllipsis_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_define_param_list_option =
+# 931 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.DOTS
+ (_1
+ (fun _ d -> Ast0.wrap(Ast0.DPdots(P.clt2mcode "," d)))
+ (fun c -> Ast0.DPComma c))) )
+# 14773 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 149 "parser_cocci_menhir.mly"
+ (Data.clt * token)
+# 14794 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_defineop =
+# 887 "parser_cocci_menhir.mly"
+ ( let (clt,ident) = _1 in
+ function body ->
+ Ast0.wrap
+ (Ast0.Define
+ (P.clt2mcode "#define" clt,
+ (match ident with
+ TMetaId((nm,constraints,pure,clt)) ->
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
+ | TIdent(nm_pure) ->
+ Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
+ | _ ->
+ raise
+ (Semantic_cocci.Semantic
+ "unexpected name for a #define")),
+ Ast0.wrap Ast0.NoParams,
+ body)) )
+# 14816 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 14847 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_define_param_list_option = Obj.magic _2 in
+ let _1 : (
+# 150 "parser_cocci_menhir.mly"
+ (Data.clt * token * int * int)
+# 14853 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_defineop =
+# 904 "parser_cocci_menhir.mly"
+ ( let (clt,ident,parenoff,parencol) = _1 in
+ (* clt is the start of the #define itself *)
+ let (arity,line,lline,offset,col,strbef,straft,pos) = clt in
+ let lp =
+ P.clt2mcode "("
+ (arity,line,lline,parenoff,parencol,[],[],Ast0.NoMetaPos) in
+ function body ->
+ Ast0.wrap
+ (Ast0.Define
+ (P.clt2mcode "#define" clt,
+ (match ident with
+ TMetaId((nm,constraints,pure,clt)) ->
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
+ | TIdent(nm_pure) ->
+ Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
+ | _ ->
+ raise
+ (Semantic_cocci.Semantic
+ "unexpected name for a #define")),
+ Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) )
+# 14879 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_pnrule = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_dep =
+# 295 "parser_cocci_menhir.mly"
+ ( _1 )
+# 14903 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_dep = Obj.magic _3 in
+ let _1 : 'tv_dep = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_dep =
+# 296 "parser_cocci_menhir.mly"
+ ( Ast.AndDep(_1, _3) )
+# 14937 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_dep = Obj.magic _3 in
+ let _1 : 'tv_dep = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_dep =
+# 297 "parser_cocci_menhir.mly"
+ ( Ast.OrDep (_1, _3) )
+# 14971 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_depends =
+# 291 "parser_cocci_menhir.mly"
+ ( Ast.NoDep )
+# 14988 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = parents;
+ MenhirLib.EngineTypes.startp = _startpos_parents_;
+ MenhirLib.EngineTypes.endp = _endpos_parents_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let parents : 'tv_dep = Obj.magic parents in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_parents_ in
+ let _v : 'tv_depends =
+# 292 "parser_cocci_menhir.mly"
+ ( parents )
+# 15020 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_disj_ident = Obj.magic _2 in
+ let _1 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15047 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_designator =
+# 1293 "parser_cocci_menhir.mly"
+ ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
+# 15054 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15085 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15091 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_designator =
+# 1295 "parser_cocci_menhir.mly"
+ ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
+# 15098 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _5;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _4;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let _5 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15139 "parser_cocci_menhir.ml"
+ ) = Obj.magic _5 in
+ let _4 : 'tv_eexpr = Obj.magic _4 in
+ let _3 : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15145 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_eexpr = Obj.magic _2 in
+ let _1 : (
+# 170 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15151 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_designator =
+# 1297 "parser_cocci_menhir.mly"
+ ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
+ _4,P.clt2mcode "]" _5) )
+# 15159 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_dexpr =
+# 1376 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15183 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_disable =
+# 310 "parser_cocci_menhir.mly"
+ ( List.map P.id2name _2 )
+# 15211 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_mident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_disj_ident =
+# 1890 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15235 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let rp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15266 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_midzero_list_disj_ident_disj_ident_ = Obj.magic t in
+ let lp : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15272 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let _startpos = _startpos_lp_ in
+ let _endpos = _endpos_rp_ in
+ let _v : 'tv_disj_ident =
+# 1892 "parser_cocci_menhir.mly"
+ ( let (mids,code) = t in
+ Ast0.wrap
+ (Ast0.DisjId(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
+# 15281 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15302 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_dot_expressions =
+# 1385 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
+# 15309 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_nest_expressions = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_dot_expressions =
+# 1386 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15333 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_mident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_dparam =
+# 927 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DParam _1) )
+# 15357 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15378 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_edots_when_TEllipsis_eexpr_ =
+# 2212 "parser_cocci_menhir.mly"
+ ( (d,None) )
+# 15385 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = w;
+ MenhirLib.EngineTypes.startp = _startpos_w_;
+ MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let w : 'tv_eexpr = Obj.magic w in
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15424 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_edots_when_TEllipsis_eexpr_ =
+# 2213 "parser_cocci_menhir.mly"
+ ( (d,Some w) )
+# 15431 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15452 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ =
+# 2212 "parser_cocci_menhir.mly"
+ ( (d,None) )
+# 15459 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = w;
+ MenhirLib.EngineTypes.startp = _startpos_w_;
+ MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let w : 'tv_enum_decl_one = Obj.magic w in
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15498 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ =
+# 2213 "parser_cocci_menhir.mly"
+ ( (d,Some w) )
+# 15505 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15526 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_edots_when_TEllipsis_initialize_ =
+# 2212 "parser_cocci_menhir.mly"
+ ( (d,None) )
+# 15533 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = w;
+ MenhirLib.EngineTypes.startp = _startpos_w_;
+ MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let w : 'tv_initialize = Obj.magic w in
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15572 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_edots_when_TEllipsis_initialize_ =
+# 2213 "parser_cocci_menhir.mly"
+ ( (d,Some w) )
+# 15579 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15600 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ =
+# 2212 "parser_cocci_menhir.mly"
+ ( (d,None) )
+# 15607 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = w;
+ MenhirLib.EngineTypes.startp = _startpos_w_;
+ MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let w : 'tv_struct_decl_one = Obj.magic w in
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15646 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ =
+# 2213 "parser_cocci_menhir.mly"
+ ( (d,Some w) )
+# 15653 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_eexpr =
+# 1374 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15677 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_empty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_eexpr_list_option =
+# 2192 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.DOTS
+ (_1
+ (fun _ d -> Ast0.wrap(Ast0.Edots(P.clt2mcode "..." d,None)))
+ (fun c -> Ast0.EComma c))) )
+# 15705 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_empty_list_start_aexpr_TEllipsis_ =
+# 1954 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [] )
+# 15722 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_empty_list_start_aexpr_TEllipsis_ =
+# 1955 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15746 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_empty_list_start_dparam_TEllipsis_ =
+# 1954 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [] )
+# 15763 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_empty_list_start_dparam_TEllipsis_ =
+# 1955 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15787 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 1954 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [] )
+# 15804 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 1955 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15828 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ =
+# 1954 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [] )
+# 15845 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ =
+# 1955 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15869 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 1954 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [] )
+# 15886 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 1955 "parser_cocci_menhir.mly"
+ ( _1 )
+# 15910 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_enum_decl_list =
+# 791 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1 P.mkedots (fun c -> Ast0.EComma c))) )
+# 15934 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_disj_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_enum_decl_one =
+# 762 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 15958 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_enum_val = Obj.magic _3 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 15990 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_disj_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_enum_decl_one =
+# 764 "parser_cocci_menhir.mly"
+ ( let id = Ast0.wrap(Ast0.Ident(_1)) in
+ Ast0.wrap
+ (Ast0.Assignment
+ (id,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,
+ false)) )
+# 16002 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_enum_val =
+# 771 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(_1)) )
+# 16026 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 155 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 16047 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_enum_val =
+# 773 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 16055 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 16076 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_enum_val =
+# 775 "parser_cocci_menhir.mly"
+ ( tmeta_to_exp _1 )
+# 16083 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 135 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 16104 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_enum_val =
+# 777 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,ty,clt) = _1 in
+ Ast0.wrap
+ (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
+# 16113 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 135 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 16134 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_enum_val =
+# 781 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,ty,clt) = _1 in
+ Ast0.wrap
+ (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
+# 16143 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 135 "parser_cocci_menhir.mly"
+ (Parse_aux.typed_expinfo)
+# 16164 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_enum_val =
+# 785 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,ty,clt) = _1 in
+ Ast0.wrap
+ (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
+# 16173 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_exists =
+# 313 "parser_cocci_menhir.mly"
+ ( Ast.Exists )
+# 16195 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_exists =
+# 314 "parser_cocci_menhir.mly"
+ ( Ast.Forall )
+# 16217 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_exists =
+# 315 "parser_cocci_menhir.mly"
+ ( Ast.Undetermined )
+# 16234 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_expr =
+# 1372 "parser_cocci_menhir.mly"
+ ( _1 )
+# 16258 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in
+ let _startpos = _startpos_r_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_expr_dots_TEllipsis_ =
+# 1609 "parser_cocci_menhir.mly"
+ ( r )
+# 16282 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let m : 'tv_nonempty_list_TMul_ = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_expression_type =
+# 556 "parser_cocci_menhir.mly"
+ ( P.ty_pointerify Type_cocci.Unknown m )
+# 16306 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_expression_type =
+# 558 "parser_cocci_menhir.mly"
+ ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m )
+# 16334 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_expression_type =
+# 560 "parser_cocci_menhir.mly"
+ ( P.ty_pointerify
+ (Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m )
+# 16363 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_decl_var =
-# 1034 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
- P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
-# 12760 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_expression_type =
+# 563 "parser_cocci_menhir.mly"
+ ( P.ty_pointerify
+ (Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m )
+# 16392 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_extends =
+# 286 "parser_cocci_menhir.mly"
+ ( () )
+# 16409 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = parent;
+ MenhirLib.EngineTypes.startp = _startpos_parent_;
+ MenhirLib.EngineTypes.endp = _endpos_parent_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp2;
- MenhirLib.EngineTypes.startp = _startpos_lp2_;
- MenhirLib.EngineTypes.endp = _endpos_lp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = st;
- MenhirLib.EngineTypes.startp = _startpos_st_;
- MenhirLib.EngineTypes.endp = _endpos_st_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp1;
- MenhirLib.EngineTypes.startp = _startpos_lp1_;
- MenhirLib.EngineTypes.endp = _endpos_lp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pv : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12831 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12837 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let rp2 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12842 "parser_cocci_menhir.ml"
- ) = Obj.magic rp2 in
- let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
- let lp2 : (
-# 79 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12848 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12853 "parser_cocci_menhir.ml"
- ) = Obj.magic rp1 in
- let d : 'tv_d_ident = Obj.magic d in
- let st : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12859 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 79 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12864 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let s =
-
-# 39 "standard.mly"
- ( None )
-# 12873 "parser_cocci_menhir.ml"
-
- in
-
-# 1040 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- let t =
- Ast0.wrap
- (Ast0.FunctionPointer
- (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
- P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
- [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 12885 "parser_cocci_menhir.ml"
+ let parent : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 16434 "parser_cocci_menhir.ml"
+ ) = Obj.magic parent in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_parent_ in
+ let _v : 'tv_extends =
+# 288 "parser_cocci_menhir.mly"
+ ( !Data.install_bindings (parent) )
+# 16441 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = q;
- MenhirLib.EngineTypes.startp = _startpos_q_;
- MenhirLib.EngineTypes.endp = _endpos_q_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp2;
- MenhirLib.EngineTypes.startp = _startpos_rp2_;
- MenhirLib.EngineTypes.endp = _endpos_rp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p;
- MenhirLib.EngineTypes.startp = _startpos_p_;
- MenhirLib.EngineTypes.endp = _endpos_p_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp2;
- MenhirLib.EngineTypes.startp = _startpos_lp2_;
- MenhirLib.EngineTypes.endp = _endpos_lp2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = st;
- MenhirLib.EngineTypes.startp = _startpos_st_;
- MenhirLib.EngineTypes.endp = _endpos_st_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp1;
- MenhirLib.EngineTypes.startp = _startpos_lp1_;
- MenhirLib.EngineTypes.endp = _endpos_lp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let pv : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12961 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let e : 'tv_initialize = Obj.magic e in
- let q : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12967 "parser_cocci_menhir.ml"
- ) = Obj.magic q in
- let rp2 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12972 "parser_cocci_menhir.ml"
- ) = Obj.magic rp2 in
- let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
- let lp2 : (
-# 79 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12978 "parser_cocci_menhir.ml"
- ) = Obj.magic lp2 in
- let rp1 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12983 "parser_cocci_menhir.ml"
- ) = Obj.magic rp1 in
- let d : 'tv_d_ident = Obj.magic d in
- let st : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12989 "parser_cocci_menhir.ml"
- ) = Obj.magic st in
- let lp1 : (
-# 79 "parser_cocci_menhir.mly"
- (Data.clt)
-# 12994 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let t : 'tv_ctype = Obj.magic t in
- let x0 : 'tv_storage = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var = let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 13005 "parser_cocci_menhir.ml"
-
- in
-
-# 1040 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- let t =
- Ast0.wrap
- (Ast0.FunctionPointer
- (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
- P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
- [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 13017 "parser_cocci_menhir.ml"
+ let _2 : (
+# 151 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 16467 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : (
+# 151 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 16472 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_filespec =
+# 828 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap
+ (Ast0.FILEINFO(P.id2mcode _1,
+ P.id2mcode _2))] )
+# 16481 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pv;
- MenhirLib.EngineTypes.startp = _startpos_pv_;
- MenhirLib.EngineTypes.endp = _endpos_pv_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = id;
- MenhirLib.EngineTypes.startp = _startpos_id_;
- MenhirLib.EngineTypes.endp = _endpos_id_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let pv : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13053 "parser_cocci_menhir.ml"
- ) = Obj.magic pv in
- let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in
- let t : 'tv_typedef_ctype = Obj.magic t in
- let s : (
-# 55 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13060 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let _startpos = _startpos_s_ in
- let _endpos = _endpos_pv_ in
- let _v : 'tv_decl_var =
-# 1048 "parser_cocci_menhir.mly"
- ( let s = P.clt2mcode "typedef" s in
- List.map
- (function id ->
- Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv)))
- id )
-# 13071 "parser_cocci_menhir.ml"
+ let _1 : 'tv_disj_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_fn_ident =
+# 1867 "parser_cocci_menhir.mly"
+ ( _1 )
+# 16505 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_define_param_list_start = Obj.magic _1 in
+ let _1 : (
+# 128 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 16526 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_define_param_list =
-# 764 "parser_cocci_menhir.mly"
- (let circle x =
- match Ast0.unwrap x with Ast0.DPcircles(_) -> true | _ -> false in
- if List.exists circle _1
- then Ast0.wrap(Ast0.CIRCLES(_1))
- else Ast0.wrap(Ast0.DOTS(_1)) )
-# 13099 "parser_cocci_menhir.ml"
+ let _v : 'tv_fn_ident =
+# 1869 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 16534 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_define_param_list = Obj.magic _1 in
+ let _1 : (
+# 128 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 16555 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_define_param_list_option =
-# 788 "parser_cocci_menhir.mly"
- ( _1 )
-# 13123 "parser_cocci_menhir.ml"
+ let _v : 'tv_fn_ident =
+# 1872 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap
+ (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 16564 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_define_param_list_option =
-# 789 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS([])) )
-# 13140 "parser_cocci_menhir.ml"
+ let _v : 'tv_fninfo =
+# 963 "parser_cocci_menhir.mly"
+ ( [] )
+# 16581 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_fninfo = Obj.magic _2 in
+ let _1 : 'tv_storage = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo =
+# 965 "parser_cocci_menhir.mly"
+ ( try
+ let _ =
+ List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
+ raise (Semantic_cocci.Semantic "duplicate storage")
+ with Not_found -> (Ast0.FStorage(_1))::_2 )
+# 16615 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_ident = Obj.magic _1 in
+ let r : 'tv_fninfo_nt = Obj.magic r in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_fninfo =
+# 970 "parser_cocci_menhir.mly"
+ ( (Ast0.FType(t))::r )
+# 16645 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_fninfo = Obj.magic _2 in
+ let _1 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 16672 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_define_param_list_start =
-# 771 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.DParam _1)] )
-# 13164 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo =
+# 972 "parser_cocci_menhir.mly"
+ ( try
+ let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
+ raise (Semantic_cocci.Semantic "duplicate inline")
+ with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
+# 16682 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : 'tv_define_param_list_start = Obj.magic _3 in
- let _2 : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13196 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_ident = Obj.magic _1 in
+ let _2 : 'tv_fninfo = Obj.magic _2 in
+ let _1 : (
+# 121 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 16709 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_define_param_list_start =
-# 773 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DParam _1)::
- Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 )
-# 13205 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo =
+# 977 "parser_cocci_menhir.mly"
+ ( try
+ let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
+ raise (Semantic_cocci.Semantic "multiple attributes")
+ with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
+# 16719 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_fninfo_nt =
+# 983 "parser_cocci_menhir.mly"
+ ( [] )
+# 16736 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let r : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic r in
- let d : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13232 "parser_cocci_menhir.ml"
- ) = Obj.magic d in
- let _startpos = _startpos_d_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_define_param_list_start =
-# 776 "parser_cocci_menhir.mly"
- ( (P.mkdpdots "..." d)::
- (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) )
-# 13240 "parser_cocci_menhir.ml"
+ let _2 : 'tv_fninfo_nt = Obj.magic _2 in
+ let _1 : 'tv_storage = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo_nt =
+# 985 "parser_cocci_menhir.mly"
+ ( try
+ let _ =
+ List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
+ raise (Semantic_cocci.Semantic "duplicate storage")
+ with Not_found -> (Ast0.FStorage(_1))::_2 )
+# 16770 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_fninfo_nt = Obj.magic _2 in
+ let _1 : (
+# 119 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 16797 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo_nt =
+# 991 "parser_cocci_menhir.mly"
+ ( try
+ let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
+ raise (Semantic_cocci.Semantic "duplicate inline")
+ with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
+# 16807 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
+ let _2 : 'tv_fninfo_nt = Obj.magic _2 in
let _1 : (
-# 84 "parser_cocci_menhir.mly"
- (Data.clt * token)
-# 13261 "parser_cocci_menhir.ml"
+# 121 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 16834 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_defineop =
-# 723 "parser_cocci_menhir.mly"
- ( let (clt,ident) = _1 in
- function body ->
- Ast0.wrap
- (Ast0.Define
- (P.clt2mcode "#define" clt,
- (match ident with
- TMetaId((nm,constraints,pure,clt)) ->
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
- | TIdent(nm_pure) ->
- Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
- | _ ->
- raise
- (Semantic_cocci.Semantic
- "unexpected name for a #define")),
- Ast0.wrap Ast0.NoParams,
- body)) )
-# 13283 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fninfo_nt =
+# 996 "parser_cocci_menhir.mly"
+ ( try
+ let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
+ raise (Semantic_cocci.Semantic "duplicate init")
+ with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
+# 16844 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let _3 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13314 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_define_param_list_option = Obj.magic _2 in
- let _1 : (
-# 85 "parser_cocci_menhir.mly"
- (Data.clt * token * int * int)
-# 13320 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_defineop =
-# 740 "parser_cocci_menhir.mly"
- ( let (clt,ident,parenoff,parencol) = _1 in
- (* clt is the start of the #define itself *)
- let (arity,line,lline,offset,col,strbef,straft,pos) = clt in
- let lp =
- P.clt2mcode "("
- (arity,line,lline,parenoff,parencol,[],[],Ast0.NoMetaPos) in
- function body ->
- Ast0.wrap
- (Ast0.Define
- (P.clt2mcode "#define" clt,
- (match ident with
- TMetaId((nm,constraints,pure,clt)) ->
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
- | TIdent(nm_pure) ->
- Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
- | _ ->
- raise
- (Semantic_cocci.Semantic
- "unexpected name for a #define")),
- Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) )
-# 13346 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_fun_after_dots =
+# 2125 "parser_cocci_menhir.mly"
+ ([])
+# 16861 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_pnrule = Obj.magic _1 in
+ let _2 : 'tv_fun_after_exp = Obj.magic _2 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_dep =
-# 230 "parser_cocci_menhir.mly"
- ( _1 )
-# 13370 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_dots =
+# 2126 "parser_cocci_menhir.mly"
+ (_2)
+# 16889 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : 'tv_dep = Obj.magic _3 in
- let _1 : 'tv_dep = Obj.magic _1 in
+ let _2 : 'tv_fun_after_exp = Obj.magic _2 in
+ let _1 : 'tv_expr = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_dep =
-# 231 "parser_cocci_menhir.mly"
- ( Ast.AndDep(_1, _3) )
-# 13404 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_dots =
+# 2127 "parser_cocci_menhir.mly"
+ (Ast0.wrap(Ast0.Exp(_1))::_2)
+# 16919 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : 'tv_dep = Obj.magic _3 in
- let _1 : 'tv_dep = Obj.magic _1 in
+ let _2 : 'tv_fun_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_dep =
-# 232 "parser_cocci_menhir.mly"
- ( Ast.OrDep (_1, _3) )
-# 13438 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_dots =
+# 2128 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 16949 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_depends =
-# 226 "parser_cocci_menhir.mly"
- ( Ast.NoDep )
-# 13455 "parser_cocci_menhir.ml"
+ let _v : 'tv_fun_after_dots_or =
+# 2135 "parser_cocci_menhir.mly"
+ ([])
+# 16966 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = parents;
- MenhirLib.EngineTypes.startp = _startpos_parents_;
- MenhirLib.EngineTypes.endp = _endpos_parents_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let parents : 'tv_dep = Obj.magic parents in
+ let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_parents_ in
- let _v : 'tv_depends =
-# 227 "parser_cocci_menhir.mly"
- ( parents )
-# 13487 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_dots_or =
+# 2136 "parser_cocci_menhir.mly"
+ (_2)
+# 16994 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_ident = Obj.magic _2 in
- let _1 : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13514 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
+ let _1 : 'tv_expr = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_designator =
-# 1150 "parser_cocci_menhir.mly"
- ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
-# 13521 "parser_cocci_menhir.ml"
+ let _v : 'tv_fun_after_dots_or =
+# 2137 "parser_cocci_menhir.mly"
+ (Ast0.wrap(Ast0.Exp(_1))::_2)
+# 17024 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : (
-# 105 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13552 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_eexpr = Obj.magic _2 in
- let _1 : (
-# 105 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13558 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _2 : 'tv_fun_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_designator =
-# 1152 "parser_cocci_menhir.mly"
- ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
-# 13565 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_dots_or =
+# 2138 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 17054 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _5;
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _4;
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _5 : (
-# 105 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13606 "parser_cocci_menhir.ml"
- ) = Obj.magic _5 in
- let _4 : 'tv_eexpr = Obj.magic _4 in
- let _3 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13612 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_eexpr = Obj.magic _2 in
- let _1 : (
-# 105 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13618 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _2 : 'tv_fun_after_dots = Obj.magic _2 in
+ let _1 : 'tv_stm_dots = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_designator =
-# 1154 "parser_cocci_menhir.mly"
- ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
- _4,P.clt2mcode "]" _5) )
-# 13626 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_exp =
+# 2131 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 17084 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_dexpr =
-# 1257 "parser_cocci_menhir.mly"
- ( _1 )
-# 13650 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_fun_after_exp_or =
+# 2141 "parser_cocci_menhir.mly"
+ ([])
+# 17101 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 in
+ let _2 : 'tv_fun_after_dots = Obj.magic _2 in
+ let _1 : 'tv_stm_dots = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_disable =
-# 245 "parser_cocci_menhir.mly"
- ( List.map P.id2name _2 )
-# 13678 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13699 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_dot_expressions =
-# 1266 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
-# 13706 "parser_cocci_menhir.ml"
+ let _v : 'tv_fun_after_exp_or =
+# 2142 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 17131 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_nest_expressions = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_dot_expressions =
-# 1267 "parser_cocci_menhir.mly"
- ( _1 )
-# 13730 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_fun_after_stm =
+# 2120 "parser_cocci_menhir.mly"
+ ([])
+# 17148 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let d : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13756 "parser_cocci_menhir.ml"
- ) = Obj.magic d in
- let c : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13761 "parser_cocci_menhir.ml"
- ) = Obj.magic c in
- let _startpos = _startpos_c_ in
- let _endpos = _endpos_d_ in
- let _v : 'tv_dp_comma_args_TEllipsis_ =
-# 781 "parser_cocci_menhir.mly"
- ( function dot_builder ->
- [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] )
-# 13769 "parser_cocci_menhir.ml"
+ let _2 : 'tv_fun_after_dots = Obj.magic _2 in
+ let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_fun_after_stm =
+# 2121 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 17178 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_ident = Obj.magic _2 in
- let _1 : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13796 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _2 : 'tv_fun_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_dp_comma_args_TEllipsis_ =
-# 784 "parser_cocci_menhir.mly"
- ( function dot_builder ->
- [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1));
- Ast0.wrap(Ast0.DParam _2)] )
-# 13805 "parser_cocci_menhir.ml"
+ let _v : 'tv_fun_after_stm =
+# 2122 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 17208 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let d : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13826 "parser_cocci_menhir.ml"
- ) = Obj.magic d in
- let _startpos = _startpos_d_ in
- let _endpos = _endpos_d_ in
- let _v : 'tv_edots_when_TEllipsis_eexpr_ =
-# 1999 "parser_cocci_menhir.mly"
- ( (d,None) )
-# 13833 "parser_cocci_menhir.ml"
+ let _1 : 'tv_fun_after_stm = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_fun_start =
+# 2117 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 17232 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let w : 'tv_eexpr = Obj.magic w in
- let d : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13872 "parser_cocci_menhir.ml"
- ) = Obj.magic d in
- let _startpos = _startpos_d_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_edots_when_TEllipsis_eexpr_ =
-# 2000 "parser_cocci_menhir.mly"
- ( (d,Some w) )
-# 13879 "parser_cocci_menhir.ml"
+ let _1 : 'tv_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_func_ident =
+# 1858 "parser_cocci_menhir.mly"
+ ( _1 )
+# 17256 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let d : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 13900 "parser_cocci_menhir.ml"
- ) = Obj.magic d in
- let _startpos = _startpos_d_ in
- let _endpos = _endpos_d_ in
- let _v : 'tv_edots_when_TEllipsis_initialize_ =
-# 1999 "parser_cocci_menhir.mly"
- ( (d,None) )
-# 13907 "parser_cocci_menhir.ml"
+ let _1 : (
+# 128 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 17277 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_func_ident =
+# 1860 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 17285 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 128 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 17306 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_func_ident =
+# 1863 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap
+ (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 17315 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = rb;
+ MenhirLib.EngineTypes.startp = _startpos_rb_;
+ MenhirLib.EngineTypes.endp = _endpos_rb_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = lb;
+ MenhirLib.EngineTypes.startp = _startpos_lb_;
+ MenhirLib.EngineTypes.endp = _endpos_lb_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = d;
MenhirLib.EngineTypes.startp = _startpos_d_;
MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = f;
+ MenhirLib.EngineTypes.startp = _startpos_f_;
+ MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
};
};
};
} = _menhir_stack in
- let w : 'tv_initialize = Obj.magic w in
- let d : (
-# 76 "parser_cocci_menhir.mly"
+ let rb : (
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 13946 "parser_cocci_menhir.ml"
- ) = Obj.magic d in
- let _startpos = _startpos_d_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_edots_when_TEllipsis_initialize_ =
-# 2000 "parser_cocci_menhir.mly"
- ( (d,Some w) )
-# 13953 "parser_cocci_menhir.ml"
+# 17375 "parser_cocci_menhir.ml"
+ ) = Obj.magic rb in
+ let b : 'tv_fun_start = Obj.magic b in
+ let lb : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 17381 "parser_cocci_menhir.ml"
+ ) = Obj.magic lb in
+ let rp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 17386 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let d : 'tv_decl_list_decl_ = Obj.magic d in
+ let lp : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 17392 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let i : 'tv_fn_ident = Obj.magic i in
+ let f : 'tv_fninfo = Obj.magic f in
+ let _startpos = _startpos_f_ in
+ let _endpos = _endpos_rb_ in
+ let _v : 'tv_fundecl =
+# 954 "parser_cocci_menhir.mly"
+ ( P.verify_parameter_declarations (Ast0.undots d);
+ Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()),
+ f, i,
+ P.clt2mcode "(" lp, d,
+ P.clt2mcode ")" rp,
+ P.clt2mcode "{" lb, b,
+ P.clt2mcode "}" rb)) )
+# 17407 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = pt;
+ MenhirLib.EngineTypes.startp = _startpos_pt_;
+ MenhirLib.EngineTypes.endp = _endpos_pt_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = id;
+ MenhirLib.EngineTypes.startp = _startpos_id_;
+ MenhirLib.EngineTypes.endp = _endpos_id_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let d : (
-# 76 "parser_cocci_menhir.mly"
+ let pt : (
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 13974 "parser_cocci_menhir.ml"
- ) = Obj.magic d in
- let _startpos = _startpos_d_ in
- let _endpos = _endpos_d_ in
- let _v : 'tv_edots_when_TEllipsis_struct_decl_ =
-# 1999 "parser_cocci_menhir.mly"
- ( (d,None) )
-# 13981 "parser_cocci_menhir.ml"
+# 17453 "parser_cocci_menhir.ml"
+ ) = Obj.magic pt in
+ let rp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 17458 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+ let lp : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 17464 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let id : 'tv_fn_ident = Obj.magic id in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_pt_ in
+ let _v : 'tv_funproto = let s =
+
+# 39 "standard.mly"
+ ( None )
+# 17474 "parser_cocci_menhir.ml"
+
+ in
+
+# 942 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.UnInit
+ (s,
+ Ast0.wrap
+ (Ast0.FunctionType(Some t,
+ P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
+ id, P.clt2mcode ";" pt)) )
+# 17486 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = pt;
+ MenhirLib.EngineTypes.startp = _startpos_pt_;
+ MenhirLib.EngineTypes.endp = _endpos_pt_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = w;
- MenhirLib.EngineTypes.startp = _startpos_w_;
- MenhirLib.EngineTypes.endp = _endpos_w_;
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = id;
+ MenhirLib.EngineTypes.startp = _startpos_id_;
+ MenhirLib.EngineTypes.endp = _endpos_id_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
};
};
} = _menhir_stack in
- let w : 'tv_struct_decl = Obj.magic w in
- let d : (
-# 76 "parser_cocci_menhir.mly"
+ let pt : (
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 14020 "parser_cocci_menhir.ml"
- ) = Obj.magic d in
- let _startpos = _startpos_d_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_edots_when_TEllipsis_struct_decl_ =
-# 2000 "parser_cocci_menhir.mly"
- ( (d,Some w) )
-# 14027 "parser_cocci_menhir.ml"
+# 17537 "parser_cocci_menhir.ml"
+ ) = Obj.magic pt in
+ let rp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 17542 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+ let lp : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 17548 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let id : 'tv_fn_ident = Obj.magic id in
+ let t : 'tv_ctype = Obj.magic t in
+ let x0 : 'tv_storage = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_pt_ in
+ let _v : 'tv_funproto = let s =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 17560 "parser_cocci_menhir.ml"
+
+ in
+
+# 942 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.UnInit
+ (s,
+ Ast0.wrap
+ (Ast0.FunctionType(Some t,
+ P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
+ id, P.clt2mcode ";" pt)) )
+# 17572 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _1 : 'tv_pure_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_eexpr =
-# 1255 "parser_cocci_menhir.mly"
- ( _1 )
-# 14051 "parser_cocci_menhir.ml"
+ let _v : 'tv_ident =
+# 1877 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 17596 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_eexpr_list_start = Obj.magic _1 in
+ let _1 : (
+# 128 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 17617 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_eexpr_list =
-# 1942 "parser_cocci_menhir.mly"
- (let circle x =
- match Ast0.unwrap x with Ast0.Ecircles(_) -> true | _ -> false in
- let star x =
- match Ast0.unwrap x with Ast0.Estars(_) -> true | _ -> false in
- if List.exists circle _1
- then Ast0.wrap(Ast0.CIRCLES(_1))
- else
- if List.exists star _1
- then Ast0.wrap(Ast0.STARS(_1))
- else Ast0.wrap(Ast0.DOTS(_1)) )
-# 14084 "parser_cocci_menhir.ml"
+ let _v : 'tv_ident =
+# 1879 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 17625 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = i;
+ MenhirLib.EngineTypes.startp = _startpos_i_;
+ MenhirLib.EngineTypes.endp = _endpos_i_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_eexpr_list = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_eexpr_list_option =
-# 1982 "parser_cocci_menhir.mly"
- ( _1 )
-# 14108 "parser_cocci_menhir.ml"
+ let i : 'tv_pure_ident = Obj.magic i in
+ let _startpos = _startpos_i_ in
+ let _endpos = _endpos_i_ in
+ let _v : 'tv_ident_or_const =
+# 1832 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
+# 17649 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_eexpr_list_option =
-# 1983 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS([])) )
-# 14125 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 155 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 17670 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_ident_or_const =
+# 1834 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in
+ Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 17678 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_aexpr = Obj.magic _1 in
+ let _1 : (
+# 148 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 17699 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_eexpr_list_start =
-# 1970 "parser_cocci_menhir.mly"
- ( [_1] )
-# 14149 "parser_cocci_menhir.ml"
+ let _v : 'tv_incl =
+# 326 "parser_cocci_menhir.mly"
+ ( let (x,_) = _1 in Data.Include(x) )
+# 17706 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : 'tv_eexpr_list_start = Obj.magic _3 in
let _2 : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 14181 "parser_cocci_menhir.ml"
+# 155 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 17731 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_aexpr = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_eexpr_list_start =
-# 1972 "parser_cocci_menhir.mly"
- ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 )
-# 14189 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_incl =
+# 327 "parser_cocci_menhir.mly"
+ ( Data.Iso(Common.Left(P.id2name _2)) )
+# 17738 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
+ let _2 : (
+# 147 "parser_cocci_menhir.mly"
+ (string)
+# 17763 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_exists =
-# 248 "parser_cocci_menhir.mly"
- ( Ast.Exists )
-# 14211 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_incl =
+# 328 "parser_cocci_menhir.mly"
+ ( Data.Iso(Common.Right _2) )
+# 17770 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_comma_list_pure_ident_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_incl =
+# 330 "parser_cocci_menhir.mly"
+ ( let names = List.map P.id2name _2 in
+ Iteration.parsed_virtual_rules :=
+ Common.union_set names !Iteration.parsed_virtual_rules;
+ (* ensure that the names of virtual and real rules don't overlap *)
+ List.iter
+ (function name -> Hashtbl.add Data.all_metadecls name [])
+ names;
+ Data.Virt(names) )
+# 17805 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
+ let _1 : 'tv_list_incl_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_exists =
-# 249 "parser_cocci_menhir.mly"
- ( Ast.Forall )
-# 14233 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 216 "parser_cocci_menhir.mly"
+ (Data.incl_iso list)
+# 17833 "parser_cocci_menhir.ml"
+ ) =
+# 322 "parser_cocci_menhir.mly"
+ ( _1 )
+# 17837 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_exists =
-# 250 "parser_cocci_menhir.mly"
- ( Ast.Undetermined )
-# 14250 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _1 : 'tv_list_incl_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 216 "parser_cocci_menhir.mly"
+ (Data.incl_iso list)
+# 17865 "parser_cocci_menhir.ml"
+ ) =
+# 323 "parser_cocci_menhir.mly"
+ ( _1 )
+# 17869 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in
+ let _1 : (
+# 148 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 17890 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_expr =
-# 1253 "parser_cocci_menhir.mly"
- ( _1 )
-# 14274 "parser_cocci_menhir.ml"
+ let _v : 'tv_includes =
+# 834 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Include(P.clt2mcode "#include"
+ (P.drop_pos (P.drop_aft (P.id2clt _1))),
+ let (arity,ln,lln,offset,col,strbef,straft,pos) =
+ P.id2clt _1 in
+ let clt =
+ (arity,ln,lln,offset,0,strbef,straft,pos) in
+ P.clt2mcode
+ (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
+ (P.drop_bef clt))) )
+# 17906 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in
- let _startpos = _startpos_r_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_expr_dots_TEllipsis_ =
-# 1437 "parser_cocci_menhir.mly"
- ( r )
-# 14298 "parser_cocci_menhir.ml"
+ let _1 : (
+# 148 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 17927 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_includes =
+# 845 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.Include(P.clt2mcode "#include"
+ (P.drop_pos (P.drop_aft (P.id2clt _1))),
+ let (arity,ln,lln,offset,col,strbef,straft,pos) =
+ P.id2clt _1 in
+ let clt =
+ (arity,ln,lln,offset,0,strbef,straft,pos) in
+ P.clt2mcode
+ (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
+ (P.drop_bef clt))) )
+# 17943 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_extends =
-# 221 "parser_cocci_menhir.mly"
- ( () )
-# 14315 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _1 : (
+# 149 "parser_cocci_menhir.mly"
+ (Data.clt * token)
+# 17968 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_includes =
+# 856 "parser_cocci_menhir.mly"
+ ( let (clt,ident) = _1 in
+ Ast0.wrap
+ (Ast0.Undef
+ (P.clt2mcode "#undef" clt,
+ (match ident with
+ TMetaId((nm,constraints,pure,clt)) ->
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
+ | TIdent(nm_pure) ->
+ Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
+ | _ ->
+ raise
+ (Semantic_cocci.Semantic
+ "unexpected name for a #define")))) )
+# 17987 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let d : 'tv_defineop = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_includes =
+# 870 "parser_cocci_menhir.mly"
+ ( d (Ast0.wrap(Ast0.DOTS([]))) )
+# 18015 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = parent;
- MenhirLib.EngineTypes.startp = _startpos_parent_;
- MenhirLib.EngineTypes.endp = _endpos_parent_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let parent : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 14340 "parser_cocci_menhir.ml"
- ) = Obj.magic parent in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_parent_ in
- let _v : 'tv_extends =
-# 223 "parser_cocci_menhir.mly"
- ( !Data.install_bindings (parent) )
-# 14347 "parser_cocci_menhir.ml"
+ let t : 'tv_ctype = Obj.magic t in
+ let d : 'tv_defineop = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_includes =
+# 872 "parser_cocci_menhir.mly"
+ ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
+ d (Ast0.wrap(Ast0.DOTS([ty]))) )
+# 18050 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : (
-# 86 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 14373 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 86 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 14378 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
+ let _1 : 'tv_defineop = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_filespec =
-# 678 "parser_cocci_menhir.mly"
- ( [Ast0.wrap
- (Ast0.FILEINFO(P.id2mcode _1,
- P.id2mcode _2))] )
-# 14387 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_includes =
+# 875 "parser_cocci_menhir.mly"
+ ( let body =
+ match b with
+ [e] ->
+ (match Ast0.unwrap e with
+ Ast0.Exp(e1) ->
+ [Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))]
+ | _ -> b)
+ | _ -> b in
+ _1 (Ast0.wrap(Ast0.DOTS(body))) )
+# 18092 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_fninfo =
-# 817 "parser_cocci_menhir.mly"
- ( [] )
-# 14404 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_eexpr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize =
+# 1262 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitExpr(_1)) )
+# 18116 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_fninfo = Obj.magic _2 in
- let _1 : 'tv_storage = Obj.magic _1 in
+ let _3 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 18147 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_initialize_list = Obj.magic _2 in
+ let _1 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 18153 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo =
-# 819 "parser_cocci_menhir.mly"
- ( try
- let _ =
- List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
- raise (Semantic_cocci.Semantic "duplicate storage")
- with Not_found -> (Ast0.FStorage(_1))::_2 )
-# 14438 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_initialize =
+# 1264 "parser_cocci_menhir.mly"
+ ( if P.struct_initializer _2
+ then
+ let il = P.drop_dot_commas _2 in
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
+ else
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
+# 18165 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let r : 'tv_fninfo_nt = Obj.magic r in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_fninfo =
-# 824 "parser_cocci_menhir.mly"
- ( (Ast0.FType(t))::r )
-# 14468 "parser_cocci_menhir.ml"
+ let _1 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 18186 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize =
+# 1271 "parser_cocci_menhir.mly"
+ (let (nm,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
+# 18194 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_fninfo = Obj.magic _2 in
- let _1 : (
-# 55 "parser_cocci_menhir.mly"
- (Data.clt)
-# 14495 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo =
-# 826 "parser_cocci_menhir.mly"
- ( try
- let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
- raise (Semantic_cocci.Semantic "duplicate inline")
- with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
-# 14505 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize2 =
+# 1277 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitExpr(_1)) )
+# 18218 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_fninfo = Obj.magic _2 in
+ let _3 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 18249 "parser_cocci_menhir.ml"
+ ) = Obj.magic _3 in
+ let _2 : 'tv_initialize_list = Obj.magic _2 in
let _1 : (
-# 57 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 14532 "parser_cocci_menhir.ml"
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 18255 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo =
-# 831 "parser_cocci_menhir.mly"
- ( try
- let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
- raise (Semantic_cocci.Semantic "multiple attributes")
- with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
-# 14542 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_initialize2 =
+# 1279 "parser_cocci_menhir.mly"
+ ( if P.struct_initializer _2
+ then
+ let il = P.drop_dot_commas _2 in
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
+ else
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
+# 18267 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_fninfo_nt =
-# 837 "parser_cocci_menhir.mly"
- ( [] )
-# 14559 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_initialize2 = Obj.magic _3 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 18299 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_list_designator_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_initialize2 =
+# 1287 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
+# 18307 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_fninfo_nt = Obj.magic _2 in
- let _1 : 'tv_storage = Obj.magic _1 in
+ let _3 : 'tv_initialize2 = Obj.magic _3 in
+ let _2 : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 18339 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_mident = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo_nt =
-# 839 "parser_cocci_menhir.mly"
- ( try
- let _ =
- List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
- raise (Semantic_cocci.Semantic "duplicate storage")
- with Not_found -> (Ast0.FStorage(_1))::_2 )
-# 14593 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_initialize2 =
+# 1289 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
+# 18347 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_fninfo_nt = Obj.magic _2 in
- let _1 : (
-# 55 "parser_cocci_menhir.mly"
- (Data.clt)
-# 14620 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _1 : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo_nt =
-# 845 "parser_cocci_menhir.mly"
- ( try
- let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
- raise (Semantic_cocci.Semantic "duplicate inline")
- with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
-# 14630 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_initialize_list =
+# 1302 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1 P.mkidots (fun c -> Ast0.IComma c))) )
+# 18371 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_fninfo_nt = Obj.magic _2 in
- let _1 : (
-# 57 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 14657 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fninfo_nt =
-# 850 "parser_cocci_menhir.mly"
- ( try
- let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
- raise (Semantic_cocci.Semantic "duplicate init")
- with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
-# 14667 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_invalid =
+# 1382 "parser_cocci_menhir.mly"
+ ( raise (Semantic_cocci.Semantic "not matchable") )
+# 18393 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_fun_after_dots =
-# 1890 "parser_cocci_menhir.mly"
- ([])
-# 14684 "parser_cocci_menhir.ml"
+ let _v : 'tv_is_expression =
+# 318 "parser_cocci_menhir.mly"
+ ( false )
+# 18410 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_fun_after_exp = Obj.magic _2 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_dots =
-# 1891 "parser_cocci_menhir.mly"
- (_2)
-# 14712 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_is_expression =
+# 319 "parser_cocci_menhir.mly"
+ ( true )
+# 18432 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_exp = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
+ let t : 'tv_ctype = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_dots =
-# 1892 "parser_cocci_menhir.mly"
- (Ast0.wrap(Ast0.Exp(_1))::_2)
-# 14742 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_ctype_ =
+# 2268 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 18460 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let t : 'tv_ctype = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_dots =
-# 1893 "parser_cocci_menhir.mly"
- (_1@_2)
-# 14772 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_fun_after_dots_or =
-# 1900 "parser_cocci_menhir.mly"
- ([])
-# 14789 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_ctype_ =
+# 2269 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 18488 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
+ let t : 'tv_decl_var = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_dots_or =
-# 1901 "parser_cocci_menhir.mly"
- (_2)
-# 14817 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_decl_var_ =
+# 2268 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 18516 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
+ let t : 'tv_decl_var = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_dots_or =
-# 1902 "parser_cocci_menhir.mly"
- (Ast0.wrap(Ast0.Exp(_1))::_2)
-# 14847 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_decl_var_ =
+# 2269 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 18544 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let t : 'tv_eexpr = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_dots_or =
-# 1903 "parser_cocci_menhir.mly"
- (_1@_2)
-# 14877 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_eexpr_ =
+# 2268 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 18572 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_exp =
-# 1896 "parser_cocci_menhir.mly"
- (_1::_2)
-# 14907 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_fun_after_exp_or =
-# 1906 "parser_cocci_menhir.mly"
- ([])
-# 14924 "parser_cocci_menhir.ml"
+ let t : 'tv_eexpr = Obj.magic t in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_eexpr_ =
+# 2269 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 18600 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let t : 'tv_nest_start = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_exp_or =
-# 1907 "parser_cocci_menhir.mly"
- (_1::_2)
-# 14954 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_fun_after_stm =
-# 1885 "parser_cocci_menhir.mly"
- ([])
-# 14971 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_nest_start_ =
+# 2268 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 18628 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let t : 'tv_nest_start = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_stm =
-# 1886 "parser_cocci_menhir.mly"
- (_1::_2)
-# 15001 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_nest_start_ =
+# 2269 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 18656 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_fun_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement = Obj.magic _1 in
+ let t : 'tv_single_statement = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_fun_after_stm =
-# 1887 "parser_cocci_menhir.mly"
- (_1@_2)
-# 15031 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_single_statement_ =
+# 2268 "parser_cocci_menhir.mly"
+ ( Common.Left t )
+# 18684 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_fun_after_stm = Obj.magic _1 in
+ let t : 'tv_single_statement = Obj.magic t in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_fun_start =
-# 1882 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 15055 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_iso_single_statement_ =
+# 2269 "parser_cocci_menhir.mly"
+ ( Common.Right t )
+# 18712 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = el;
+ MenhirLib.EngineTypes.startp = _startpos_el_;
+ MenhirLib.EngineTypes.endp = _endpos_el_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e1;
+ MenhirLib.EngineTypes.startp = _startpos_e1_;
+ MenhirLib.EngineTypes.endp = _endpos_e1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_pure_ident = Obj.magic _1 in
+ let el : 'tv_list_iso_eexpr__ = Obj.magic el in
+ let e1 : 'tv_eexpr = Obj.magic e1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_func_ident =
-# 1679 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 15079 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 232 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 18750 "parser_cocci_menhir.ml"
+ ) =
+# 2236 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el )
+# 18754 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = el;
+ MenhirLib.EngineTypes.startp = _startpos_el_;
+ MenhirLib.EngineTypes.endp = _endpos_el_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e1;
+ MenhirLib.EngineTypes.startp = _startpos_e1_;
+ MenhirLib.EngineTypes.endp = _endpos_e1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 15100 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let el : 'tv_list_iso_eexpr__ = Obj.magic el in
+ let e1 : 'tv_eexpr = Obj.magic e1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_func_ident =
-# 1681 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 15108 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 232 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 18792 "parser_cocci_menhir.ml"
+ ) =
+# 2238 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el )
+# 18796 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = el;
+ MenhirLib.EngineTypes.startp = _startpos_el_;
+ MenhirLib.EngineTypes.endp = _endpos_el_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e1;
+ MenhirLib.EngineTypes.startp = _startpos_e1_;
+ MenhirLib.EngineTypes.endp = _endpos_e1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 15129 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let el : 'tv_list_iso_eexpr__ = Obj.magic el in
+ let e1 : 'tv_eexpr = Obj.magic e1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_func_ident =
-# 1684 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
-# 15137 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 232 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 18834 "parser_cocci_menhir.ml"
+ ) =
+# 2240 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el )
+# 18838 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = el;
+ MenhirLib.EngineTypes.startp = _startpos_el_;
+ MenhirLib.EngineTypes.endp = _endpos_el_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = e1;
+ MenhirLib.EngineTypes.startp = _startpos_e1_;
+ MenhirLib.EngineTypes.endp = _endpos_e1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 15158 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let el : 'tv_list_iso_eexpr__ = Obj.magic el in
+ let e1 : 'tv_eexpr = Obj.magic e1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_func_ident =
-# 1687 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap
- (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
-# 15167 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 232 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 18876 "parser_cocci_menhir.ml"
+ ) =
+# 2242 "parser_cocci_menhir.mly"
+ ( let ffn x = Ast0.ExprTag x in
+ let fn x = Ast0.TestExprTag x in
+ P.iso_adjust ffn fn e1 el )
+# 18882 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = rb;
- MenhirLib.EngineTypes.startp = _startpos_rb_;
- MenhirLib.EngineTypes.endp = _endpos_rb_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = sl;
+ MenhirLib.EngineTypes.startp = _startpos_sl_;
+ MenhirLib.EngineTypes.endp = _endpos_sl_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lb;
- MenhirLib.EngineTypes.startp = _startpos_lb_;
- MenhirLib.EngineTypes.endp = _endpos_lb_;
+ MenhirLib.EngineTypes.semv = s1;
+ MenhirLib.EngineTypes.startp = _startpos_s1_;
+ MenhirLib.EngineTypes.endp = _endpos_s1_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = f;
- MenhirLib.EngineTypes.startp = _startpos_f_;
- MenhirLib.EngineTypes.endp = _endpos_f_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let rb : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 15227 "parser_cocci_menhir.ml"
- ) = Obj.magic rb in
- let b : 'tv_fun_start = Obj.magic b in
- let lb : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 15233 "parser_cocci_menhir.ml"
- ) = Obj.magic lb in
- let rp : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 15238 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let d : 'tv_decl_list_decl_ = Obj.magic d in
- let lp : (
-# 79 "parser_cocci_menhir.mly"
- (Data.clt)
-# 15244 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let i : 'tv_func_ident = Obj.magic i in
- let f : 'tv_fninfo = Obj.magic f in
- let _startpos = _startpos_f_ in
- let _endpos = _endpos_rb_ in
- let _v : 'tv_fundecl =
-# 808 "parser_cocci_menhir.mly"
- ( P.verify_parameter_declarations (Ast0.undots d);
- Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()),
- f, i,
- P.clt2mcode "(" lp, d,
- P.clt2mcode ")" rp,
- P.clt2mcode "{" lb, b,
- P.clt2mcode "}" rb)) )
-# 15259 "parser_cocci_menhir.ml"
+ let sl : 'tv_list_iso_single_statement__ = Obj.magic sl in
+ let s1 : 'tv_single_statement = Obj.magic s1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 232 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 18920 "parser_cocci_menhir.ml"
+ ) =
+# 2246 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl )
+# 18924 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pt;
- MenhirLib.EngineTypes.startp = _startpos_pt_;
- MenhirLib.EngineTypes.endp = _endpos_pt_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.semv = tl;
+ MenhirLib.EngineTypes.startp = _startpos_tl_;
+ MenhirLib.EngineTypes.endp = _endpos_tl_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = t1;
+ MenhirLib.EngineTypes.startp = _startpos_t1_;
+ MenhirLib.EngineTypes.endp = _endpos_t1_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = id;
- MenhirLib.EngineTypes.startp = _startpos_id_;
- MenhirLib.EngineTypes.endp = _endpos_id_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let pt : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 15305 "parser_cocci_menhir.ml"
- ) = Obj.magic pt in
- let rp : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 15310 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
- let lp : (
-# 79 "parser_cocci_menhir.mly"
- (Data.clt)
-# 15316 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let id : 'tv_func_ident = Obj.magic id in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_pt_ in
- let _v : 'tv_funproto = let s =
-
-# 39 "standard.mly"
- ( None )
-# 15326 "parser_cocci_menhir.ml"
-
- in
-
-# 796 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.UnInit
- (s,
- Ast0.wrap
- (Ast0.FunctionType(Some t,
- P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
- id, P.clt2mcode ";" pt)) )
-# 15338 "parser_cocci_menhir.ml"
+ let tl : 'tv_list_iso_ctype__ = Obj.magic tl in
+ let t1 : 'tv_ctype = Obj.magic t1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 232 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 18962 "parser_cocci_menhir.ml"
+ ) =
+# 2248 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl )
+# 18966 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = pt;
- MenhirLib.EngineTypes.startp = _startpos_pt_;
- MenhirLib.EngineTypes.endp = _endpos_pt_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.semv = el;
+ MenhirLib.EngineTypes.startp = _startpos_el_;
+ MenhirLib.EngineTypes.endp = _endpos_el_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = e1;
+ MenhirLib.EngineTypes.startp = _startpos_e1_;
+ MenhirLib.EngineTypes.endp = _endpos_e1_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = id;
- MenhirLib.EngineTypes.startp = _startpos_id_;
- MenhirLib.EngineTypes.endp = _endpos_id_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
- let pt : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 15389 "parser_cocci_menhir.ml"
- ) = Obj.magic pt in
- let rp : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 15394 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
- let lp : (
-# 79 "parser_cocci_menhir.mly"
- (Data.clt)
-# 15400 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let id : 'tv_func_ident = Obj.magic id in
- let t : 'tv_ctype = Obj.magic t in
- let x0 : 'tv_storage = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_pt_ in
- let _v : 'tv_funproto = let s =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 15412 "parser_cocci_menhir.ml"
-
- in
-
-# 796 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.UnInit
- (s,
- Ast0.wrap
- (Ast0.FunctionType(Some t,
- P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
- id, P.clt2mcode ";" pt)) )
-# 15424 "parser_cocci_menhir.ml"
+ let el : 'tv_list_iso_nest_start__ = Obj.magic el in
+ let e1 : 'tv_nest_start = Obj.magic e1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 232 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 19004 "parser_cocci_menhir.ml"
+ ) =
+# 2250 "parser_cocci_menhir.mly"
+ ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el )
+# 19008 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = dl;
+ MenhirLib.EngineTypes.startp = _startpos_dl_;
+ MenhirLib.EngineTypes.endp = _endpos_dl_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d1;
+ MenhirLib.EngineTypes.startp = _startpos_d1_;
+ MenhirLib.EngineTypes.endp = _endpos_d1_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_pure_ident = Obj.magic _1 in
+ let dl : 'tv_list_iso_decl_var__ = Obj.magic dl in
+ let d1 : 'tv_decl_var = Obj.magic d1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_ident =
-# 1692 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 15448 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__4_ in
+ let _v : (
+# 232 "parser_cocci_menhir.mly"
+ (Ast0_cocci.anything list list)
+# 19046 "parser_cocci_menhir.ml"
+ ) =
+# 2252 "parser_cocci_menhir.mly"
+ ( let check_one = function
+ [x] -> x
+ | _ ->
+ raise
+ (Semantic_cocci.Semantic
+ "only one variable per declaration in an isomorphism rule") in
+ let d1 = check_one d1 in
+ let dl =
+ List.map
+ (function
+ Common.Left x -> Common.Left(check_one x)
+ | Common.Right x -> Common.Right(check_one x))
+ dl in
+ let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl )
+# 19063 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 64 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 15469 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_ident =
-# 1694 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 15477 "parser_cocci_menhir.ml"
+ let m : 'tv_metadec = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos_m_ in
+ let _v : (
+# 235 "parser_cocci_menhir.mly"
+ ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
+# 19087 "parser_cocci_menhir.ml"
+ ) =
+# 252 "parser_cocci_menhir.mly"
+ ( m "" )
+# 19091 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = i;
- MenhirLib.EngineTypes.startp = _startpos_i_;
- MenhirLib.EngineTypes.endp = _endpos_i_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = nm;
+ MenhirLib.EngineTypes.startp = _startpos_nm_;
+ MenhirLib.EngineTypes.endp = _endpos_nm_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let i : 'tv_pure_ident = Obj.magic i in
- let _startpos = _startpos_i_ in
- let _endpos = _endpos_i_ in
- let _v : 'tv_ident_or_const =
-# 1652 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
-# 15501 "parser_cocci_menhir.ml"
+ let nm : 'tv_pure_ident = Obj.magic nm in
+ let _startpos = _startpos_nm_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 219 "parser_cocci_menhir.mly"
+ (Ast_cocci.rulename)
+# 19119 "parser_cocci_menhir.ml"
+ ) =
+# 267 "parser_cocci_menhir.mly"
+ ( P.make_iso_rule_name_result (P.id2name nm) )
+# 19123 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 15522 "parser_cocci_menhir.ml"
+# 19144 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_ident_or_const =
-# 1654 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in
- Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 15530 "parser_cocci_menhir.ml"
+ let _v : 'tv_iter_ident =
+# 1909 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 19151 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 83 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 15551 "parser_cocci_menhir.ml"
+# 129 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 19172 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_incl =
-# 261 "parser_cocci_menhir.mly"
- ( let (x,_) = _1 in Data.Include(x) )
-# 15558 "parser_cocci_menhir.ml"
+ let _v : 'tv_iter_ident =
+# 1911 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 19180 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let _2 : (
-# 90 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 15583 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_incl =
-# 262 "parser_cocci_menhir.mly"
- ( Data.Iso(Common.Left(P.id2name _2)) )
-# 15590 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_TMul_ =
+# 114 "standard.mly"
+ ( [] )
+# 19197 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 82 "parser_cocci_menhir.mly"
- (string)
-# 15615 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_incl =
-# 263 "parser_cocci_menhir.mly"
- ( Data.Iso(Common.Right _2) )
-# 15622 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_TMul_ = Obj.magic xs in
+ let x : (
+# 167 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 19224 "parser_cocci_menhir.ml"
+ ) = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_TMul_ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19231 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let _2 : 'tv_comma_list_pure_ident_ = Obj.magic _2 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_incl =
-# 265 "parser_cocci_menhir.mly"
- ( let names = List.map P.id2name _2 in
- (* ensure that the names of virtual and real rules don't overlap *)
- List.iter
- (function name -> Hashtbl.add Data.all_metadecls name [])
- names;
- Data.Virt(names) )
-# 15655 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_array_dec_ =
+# 114 "standard.mly"
+ ( [] )
+# 19248 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _1 : 'tv_list_incl_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 151 "parser_cocci_menhir.mly"
- (Data.incl_iso list)
-# 15683 "parser_cocci_menhir.ml"
- ) =
-# 257 "parser_cocci_menhir.mly"
- ( _1 )
-# 15687 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_array_dec_ = Obj.magic xs in
+ let x : 'tv_array_dec = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_array_dec_ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19278 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let _1 : 'tv_list_incl_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 151 "parser_cocci_menhir.mly"
- (Data.incl_iso list)
-# 15715 "parser_cocci_menhir.ml"
- ) =
-# 258 "parser_cocci_menhir.mly"
- ( _1 )
-# 15719 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_case_line_ =
+# 114 "standard.mly"
+ ( [] )
+# 19295 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : (
-# 83 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 15740 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_includes =
-# 684 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.Include(P.clt2mcode "#include"
- (P.drop_pos (P.drop_aft (P.id2clt _1))),
- let (arity,ln,lln,offset,col,strbef,straft,pos) =
- P.id2clt _1 in
- let clt =
- (arity,ln,lln,offset,0,strbef,straft,pos) in
- P.clt2mcode
- (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
- (P.drop_bef clt))) )
-# 15756 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_case_line_ = Obj.magic xs in
+ let x : 'tv_case_line = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_case_line_ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19325 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 83 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 15777 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_includes =
-# 695 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.Include(P.clt2mcode "#include"
- (P.drop_pos (P.drop_aft (P.id2clt _1))),
- let (arity,ln,lln,offset,col,strbef,straft,pos) =
- P.id2clt _1 in
- let clt =
- (arity,ln,lln,offset,0,strbef,straft,pos) in
- P.clt2mcode
- (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
- (P.drop_bef clt))) )
-# 15793 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_decl_var_ =
+# 114 "standard.mly"
+ ( [] )
+# 19342 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let d : 'tv_defineop = Obj.magic d in
- let _startpos = _startpos_d_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_includes =
-# 706 "parser_cocci_menhir.mly"
- ( d (Ast0.wrap(Ast0.DOTS([]))) )
-# 15821 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_decl_var_ = Obj.magic xs in
+ let x : 'tv_decl_var = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_decl_var_ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19372 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let t : 'tv_ctype = Obj.magic t in
- let d : 'tv_defineop = Obj.magic d in
- let _startpos = _startpos_d_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_includes =
-# 708 "parser_cocci_menhir.mly"
- ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
- d (Ast0.wrap(Ast0.DOTS([ty]))) )
-# 15856 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_designator_ =
+# 114 "standard.mly"
+ ( [] )
+# 19389 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
- let _1 : 'tv_defineop = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_includes =
-# 711 "parser_cocci_menhir.mly"
- ( let body =
- match b with
- [e] ->
- (match Ast0.unwrap e with
- Ast0.Exp(e1) ->
- [Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))]
- | _ -> b)
- | _ -> b in
- _1 (Ast0.wrap(Ast0.DOTS(body))) )
-# 15898 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_designator_ = Obj.magic xs in
+ let x : 'tv_designator = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_designator_ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19419 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_eexpr = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_initialize =
-# 1121 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitExpr(_1)) )
-# 15922 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_incl_ =
+# 114 "standard.mly"
+ ( [] )
+# 19436 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 15953 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_initialize_list = Obj.magic _2 in
- let _1 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 15959 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_initialize =
-# 1123 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 15966 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_incl_ = Obj.magic xs in
+ let x : 'tv_incl = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_incl_ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19466 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_iso_ctype__ =
+# 114 "standard.mly"
+ ( [] )
+# 19483 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 15992 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 15997 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_initialize =
-# 1125 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
- P.clt2mcode "}" _2)) )
-# 16006 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_iso_ctype__ = Obj.magic xs in
+ let x : 'tv_iso_ctype_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_iso_ctype__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19513 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 68 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 16027 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_initialize =
-# 1129 "parser_cocci_menhir.mly"
- (let (nm,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
-# 16035 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_iso_decl_var__ =
+# 114 "standard.mly"
+ ( [] )
+# 19530 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_initialize2 =
-# 1135 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitExpr(_1)) )
-# 16059 "parser_cocci_menhir.ml"
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in
+ let x : 'tv_iso_decl_var_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_iso_decl_var__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19560 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let _3 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 16090 "parser_cocci_menhir.ml"
- ) = Obj.magic _3 in
- let _2 : 'tv_initialize_list = Obj.magic _2 in
- let _1 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 16096 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_initialize2 =
-# 1137 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 16103 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_iso_eexpr__ =
+# 114 "standard.mly"
+ ( [] )
+# 19577 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 16129 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 16134 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_initialize2 =
-# 1139 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
- P.clt2mcode "}" _2)) )
-# 16143 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_iso_eexpr__ = Obj.magic xs in
+ let x : 'tv_iso_eexpr_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_iso_eexpr__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19607 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let _3 : 'tv_initialize2 = Obj.magic _3 in
- let _2 : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 16175 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_list_designator_ = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_initialize2 =
-# 1144 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
-# 16183 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_iso_nest_start__ =
+# 114 "standard.mly"
+ ( [] )
+# 19624 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : 'tv_initialize2 = Obj.magic _3 in
- let _2 : (
-# 79 "parser_cocci_menhir.mly"
- (Data.clt)
-# 16215 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_initialize2 =
-# 1146 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
-# 16223 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in
+ let x : 'tv_iso_nest_start_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_iso_nest_start__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19654 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_initialize_list_start = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_initialize_list =
-# 1158 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 16247 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_iso_single_statement__ =
+# 114 "standard.mly"
+ ( [] )
+# 19671 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 16273 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_initialize2 = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_initialize_list_start =
-# 1161 "parser_cocci_menhir.mly"
- ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] )
-# 16281 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in
+ let x : 'tv_iso_single_statement_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_iso_single_statement__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19701 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- } = _menhir_stack in
- let _3 : 'tv_initialize_list_start = Obj.magic _3 in
- let _2 : (
-# 110 "parser_cocci_menhir.mly"
- (Data.clt)
-# 16313 "parser_cocci_menhir.ml"
- ) = Obj.magic _2 in
- let _1 : 'tv_initialize2 = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_initialize_list_start =
-# 1163 "parser_cocci_menhir.mly"
- ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 )
-# 16321 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_mzl_ctype__ =
+# 114 "standard.mly"
+ ( [] )
+# 19718 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_initialize_list_start = Obj.magic _2 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_initialize_list_start =
-# 1165 "parser_cocci_menhir.mly"
- ( _2 )
-# 16349 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in
+ let x : 'tv_mzl_ctype_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mzl_ctype__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19748 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
- let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
- let _startpos = _startpos_d_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_initialize_list_start =
-# 1168 "parser_cocci_menhir.mly"
- ( (P.mkidots "..." d)::
- (List.concat(List.map (function x -> x (P.mkidots "...")) r)) )
-# 16380 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_mzl_disj_ident__ =
+# 114 "standard.mly"
+ ( [] )
+# 19765 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_invalid =
-# 1263 "parser_cocci_menhir.mly"
- ( raise (Semantic_cocci.Semantic "not matchable") )
-# 16402 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mzl_disj_ident__ = Obj.magic xs in
+ let x : 'tv_mzl_disj_ident_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mzl_disj_ident__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19795 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_is_expression =
-# 253 "parser_cocci_menhir.mly"
- ( false )
-# 16419 "parser_cocci_menhir.ml"
+ let _v : 'tv_list_mzl_eexpr__ =
+# 114 "standard.mly"
+ ( [] )
+# 19812 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_is_expression =
-# 254 "parser_cocci_menhir.mly"
- ( true )
-# 16441 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in
+ let x : 'tv_mzl_eexpr_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mzl_eexpr__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19842 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_ctype_ =
-# 2055 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 16469 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_mzl_fun_after_dots_or__ =
+# 114 "standard.mly"
+ ( [] )
+# 19859 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_ctype_ =
-# 2056 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 16497 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in
+ let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mzl_fun_after_dots_or__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19889 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let t : 'tv_decl_var = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_decl_var_ =
-# 2055 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 16525 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_mzl_fun_start__ =
+# 114 "standard.mly"
+ ( [] )
+# 19906 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let t : 'tv_decl_var = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_decl_var_ =
-# 2056 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 16553 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in
+ let x : 'tv_mzl_fun_start_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mzl_fun_start__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19936 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let t : 'tv_eexpr = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_eexpr_ =
-# 2055 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 16581 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_mzl_mctype__ =
+# 114 "standard.mly"
+ ( [] )
+# 19953 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let t : 'tv_eexpr = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_eexpr_ =
-# 2056 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 16609 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mzl_mctype__ = Obj.magic xs in
+ let x : 'tv_mzl_mctype_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mzl_mctype__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 19983 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let t : 'tv_nest_start = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_nest_start_ =
-# 2055 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 16637 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_mzl_rule_elem_statement__ =
+# 114 "standard.mly"
+ ( [] )
+# 20000 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let t : 'tv_nest_start = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_nest_start_ =
-# 2056 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 16665 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mzl_rule_elem_statement__ = Obj.magic xs in
+ let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mzl_rule_elem_statement__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 20030 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let t : 'tv_single_statement = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_single_statement_ =
-# 2055 "parser_cocci_menhir.mly"
- ( Common.Left t )
-# 16693 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_mzl_statement__ =
+# 114 "standard.mly"
+ ( [] )
+# 20047 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let t : 'tv_single_statement = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_iso_single_statement_ =
-# 2056 "parser_cocci_menhir.mly"
- ( Common.Right t )
-# 16721 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_mzl_statement__ = Obj.magic xs in
+ let x : 'tv_mzl_statement_ = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_mzl_statement__ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 20077 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = el;
- MenhirLib.EngineTypes.startp = _startpos_el_;
- MenhirLib.EngineTypes.endp = _endpos_el_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e1;
- MenhirLib.EngineTypes.startp = _startpos_e1_;
- MenhirLib.EngineTypes.endp = _endpos_e1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let el : 'tv_list_iso_eexpr__ = Obj.magic el in
- let e1 : 'tv_eexpr = Obj.magic e1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 167 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 16759 "parser_cocci_menhir.ml"
- ) =
-# 2023 "parser_cocci_menhir.mly"
- ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el )
-# 16763 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ =
+# 114 "standard.mly"
+ ( [] )
+# 20094 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = el;
- MenhirLib.EngineTypes.startp = _startpos_el_;
- MenhirLib.EngineTypes.endp = _endpos_el_;
+ MenhirLib.EngineTypes.semv = y0;
+ MenhirLib.EngineTypes.startp = _startpos_y0_;
+ MenhirLib.EngineTypes.endp = _endpos_y0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e1;
- MenhirLib.EngineTypes.startp = _startpos_e1_;
- MenhirLib.EngineTypes.endp = _endpos_e1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let el : 'tv_list_iso_eexpr__ = Obj.magic el in
- let e1 : 'tv_eexpr = Obj.magic e1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 167 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 16801 "parser_cocci_menhir.ml"
- ) =
-# 2025 "parser_cocci_menhir.mly"
- ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el )
-# 16805 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in
+ let y0 : 'tv_dexpr = Obj.magic y0 in
+ let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x =
+ let y = y0 in
+ let x = x0 in
+
+# 70 "standard.mly"
+ ( (x, y) )
+# 20133 "parser_cocci_menhir.ml"
+
+ in
+
+# 116 "standard.mly"
+ ( x :: xs )
+# 20139 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = el;
- MenhirLib.EngineTypes.startp = _startpos_el_;
- MenhirLib.EngineTypes.endp = _endpos_el_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e1;
- MenhirLib.EngineTypes.startp = _startpos_e1_;
- MenhirLib.EngineTypes.endp = _endpos_e1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let el : 'tv_list_iso_eexpr__ = Obj.magic el in
- let e1 : 'tv_eexpr = Obj.magic e1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 167 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 16843 "parser_cocci_menhir.ml"
- ) =
-# 2027 "parser_cocci_menhir.mly"
- ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el )
-# 16847 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_list_whenppdecs_ =
+# 114 "standard.mly"
+ ( [] )
+# 20156 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = el;
- MenhirLib.EngineTypes.startp = _startpos_el_;
- MenhirLib.EngineTypes.endp = _endpos_el_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e1;
- MenhirLib.EngineTypes.startp = _startpos_e1_;
- MenhirLib.EngineTypes.endp = _endpos_e1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let el : 'tv_list_iso_eexpr__ = Obj.magic el in
- let e1 : 'tv_eexpr = Obj.magic e1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 167 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 16885 "parser_cocci_menhir.ml"
- ) =
-# 2029 "parser_cocci_menhir.mly"
- ( let ffn x = Ast0.ExprTag x in
- let fn x = Ast0.TestExprTag x in
- P.iso_adjust ffn fn e1 el )
-# 16891 "parser_cocci_menhir.ml"
+ let xs : 'tv_list_whenppdecs_ = Obj.magic xs in
+ let x : 'tv_whenppdecs = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_list_whenppdecs_ =
+# 116 "standard.mly"
+ ( x :: xs )
+# 20186 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = sl;
- MenhirLib.EngineTypes.startp = _startpos_sl_;
- MenhirLib.EngineTypes.endp = _endpos_sl_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s1;
- MenhirLib.EngineTypes.startp = _startpos_s1_;
- MenhirLib.EngineTypes.endp = _endpos_s1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let sl : 'tv_list_iso_single_statement__ = Obj.magic sl in
- let s1 : 'tv_single_statement = Obj.magic s1 in
+ let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 167 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 16929 "parser_cocci_menhir.ml"
- ) =
-# 2033 "parser_cocci_menhir.mly"
- ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl )
-# 16933 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_list_len =
+# 409 "parser_cocci_menhir.mly"
+ ( Common.Left _1 )
+# 20210 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = tl;
- MenhirLib.EngineTypes.startp = _startpos_tl_;
- MenhirLib.EngineTypes.endp = _endpos_tl_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t1;
- MenhirLib.EngineTypes.startp = _startpos_t1_;
- MenhirLib.EngineTypes.endp = _endpos_t1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let tl : 'tv_list_iso_ctype__ = Obj.magic tl in
- let t1 : 'tv_ctype = Obj.magic t1 in
+ let _1 : (
+# 155 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 20231 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 167 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 16971 "parser_cocci_menhir.ml"
- ) =
-# 2035 "parser_cocci_menhir.mly"
- ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl )
-# 16975 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_list_len =
+# 410 "parser_cocci_menhir.mly"
+ ( let (x,clt) = _1 in Common.Right (int_of_string x) )
+# 20238 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = el;
- MenhirLib.EngineTypes.startp = _startpos_el_;
- MenhirLib.EngineTypes.endp = _endpos_el_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e1;
- MenhirLib.EngineTypes.startp = _startpos_e1_;
- MenhirLib.EngineTypes.endp = _endpos_e1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let el : 'tv_list_iso_nest_start__ = Obj.magic el in
- let e1 : 'tv_nest_start = Obj.magic e1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 167 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 17013 "parser_cocci_menhir.ml"
- ) =
-# 2037 "parser_cocci_menhir.mly"
- ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el )
-# 17017 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_loption_choose_iso_ =
+# 57 "standard.mly"
+ ( [] )
+# 20255 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = dl;
- MenhirLib.EngineTypes.startp = _startpos_dl_;
- MenhirLib.EngineTypes.endp = _endpos_dl_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d1;
- MenhirLib.EngineTypes.startp = _startpos_d1_;
- MenhirLib.EngineTypes.endp = _endpos_d1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let dl : 'tv_list_iso_decl_var__ = Obj.magic dl in
- let d1 : 'tv_decl_var = Obj.magic d1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : (
-# 167 "parser_cocci_menhir.mly"
- (Ast0_cocci.anything list list)
-# 17055 "parser_cocci_menhir.ml"
- ) =
-# 2039 "parser_cocci_menhir.mly"
- ( let check_one = function
- [x] -> x
- | _ ->
- raise
- (Semantic_cocci.Semantic
- "only one variable per declaration in an isomorphism rule") in
- let d1 = check_one d1 in
- let dl =
- List.map
- (function
- Common.Left x -> Common.Left(check_one x)
- | Common.Right x -> Common.Right(check_one x))
- dl in
- let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl )
-# 17072 "parser_cocci_menhir.ml"
+ let x : 'tv_choose_iso = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_loption_choose_iso_ =
+# 59 "standard.mly"
+ ( x )
+# 20279 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let m : 'tv_metadec = Obj.magic m in
- let _startpos = _startpos_m_ in
- let _endpos = _endpos_m_ in
- let _v : (
-# 170 "parser_cocci_menhir.mly"
- ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 17096 "parser_cocci_menhir.ml"
- ) =
-# 187 "parser_cocci_menhir.mly"
- ( m "" )
-# 17100 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_loption_disable_ =
+# 57 "standard.mly"
+ ( [] )
+# 20296 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = nm;
- MenhirLib.EngineTypes.startp = _startpos_nm_;
- MenhirLib.EngineTypes.endp = _endpos_nm_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let nm : 'tv_pure_ident = Obj.magic nm in
- let _startpos = _startpos_nm_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 154 "parser_cocci_menhir.mly"
- (Ast_cocci.rulename)
-# 17128 "parser_cocci_menhir.ml"
- ) =
-# 202 "parser_cocci_menhir.mly"
- ( P.make_iso_rule_name_result (P.id2name nm) )
-# 17132 "parser_cocci_menhir.ml"
+ let x : 'tv_disable = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_loption_disable_ =
+# 59 "standard.mly"
+ ( x )
+# 20320 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : (
-# 61 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 17153 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_iter_ident =
-# 1706 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 17160 "parser_cocci_menhir.ml"
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_loption_filespec_ =
+# 57 "standard.mly"
+ ( [] )
+# 20337 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : (
-# 65 "parser_cocci_menhir.mly"
- (Parse_aux.idinfo)
-# 17181 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_iter_ident =
-# 1708 "parser_cocci_menhir.mly"
- ( let (nm,constraints,pure,clt) = _1 in
- Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 17189 "parser_cocci_menhir.ml"
+ let x : 'tv_filespec = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_loption_filespec_ =
+# 59 "standard.mly"
+ ( x )
+# 20361 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_list_TMul_ =
-# 114 "standard.mly"
+ let _v : 'tv_loption_minus_start_ =
+# 57 "standard.mly"
( [] )
-# 17206 "parser_cocci_menhir.ml"
+# 20378 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_list_TMul_ = Obj.magic xs in
- let x : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 17233 "parser_cocci_menhir.ml"
- ) = Obj.magic x in
+ let x : 'tv_minus_start = Obj.magic x in
let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_TMul_ =
-# 116 "standard.mly"
- ( x :: xs )
-# 17240 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_loption_minus_start_ =
+# 59 "standard.mly"
+ ( x )
+# 20402 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
- let _v : 'tv_list_array_dec_ =
-# 114 "standard.mly"
+ let _v : 'tv_loption_not_pos_ =
+# 57 "standard.mly"
( [] )
-# 17257 "parser_cocci_menhir.ml"
+# 20419 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_list_array_dec_ = Obj.magic xs in
- let x : 'tv_array_dec = Obj.magic x in
+ let x : 'tv_not_pos = Obj.magic x in
let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_array_dec_ =
-# 116 "standard.mly"
- ( x :: xs )
-# 17287 "parser_cocci_menhir.ml"
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_loption_not_pos_ =
+# 59 "standard.mly"
+ ( x )
+# 20443 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_loption_plus_start_ =
+# 57 "standard.mly"
+ ( [] )
+# 20460 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_case_line_ =
-# 114 "standard.mly"
- ( [] )
-# 17304 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let x : 'tv_plus_start = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_loption_plus_start_ =
+# 59 "standard.mly"
+ ( x )
+# 20484 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_list_case_line_ = Obj.magic xs in
- let x : 'tv_case_line = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_case_line_ =
-# 116 "standard.mly"
- ( x :: xs )
-# 17334 "parser_cocci_menhir.ml"
+ let _1 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 20505 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_mctype =
+# 699 "parser_cocci_menhir.mly"
+ ( tmeta_to_type _1 )
+# 20512 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_comma_decls_TEllipsis_decl__ =
-# 114 "standard.mly"
- ( [] )
-# 17351 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_ctype = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_mctype =
+# 700 "parser_cocci_menhir.mly"
+ (_1)
+# 20536 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let xs : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic xs in
- let x : 'tv_comma_decls_TEllipsis_decl_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_comma_decls_TEllipsis_decl__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 17381 "parser_cocci_menhir.ml"
+ let t : 'tv_typedef_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_t_ in
+ let _v : 'tv_meta_exp_type =
+# 599 "parser_cocci_menhir.mly"
+ ( [Ast0_cocci.ast0_type_to_type t] )
+# 20560 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
-# 114 "standard.mly"
- ( [] )
-# 17398 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let t : 'tv_typedef_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_meta_exp_type =
+# 601 "parser_cocci_menhir.mly"
+ ( [Type_cocci.Array (Ast0_cocci.ast0_type_to_type t)] )
+# 20592 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic xs in
- let x : 'tv_comma_decls_TEllipsis_name_opt_decl_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 17428 "parser_cocci_menhir.ml"
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let t : 'tv_comma_list_ctype_ = Obj.magic t in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_meta_exp_type =
+# 603 "parser_cocci_menhir.mly"
+ ( List.map
+ (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
+ t )
+# 20632 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_decl_var_ =
-# 114 "standard.mly"
- ( [] )
-# 17445 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let _3 : 'tv_pure_ident = Obj.magic _3 in
+ let _1 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 20663 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_meta_ident =
+# 1647 "parser_cocci_menhir.mly"
+ ( (Some _1,P.id2name _3) )
+# 20670 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_decl_var_ = Obj.magic xs in
- let x : 'tv_decl_var = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_decl_var_ =
-# 116 "standard.mly"
- ( x :: xs )
-# 17475 "parser_cocci_menhir.ml"
+ let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in
+ let _1 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 20701 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_meta_ident =
+# 1648 "parser_cocci_menhir.mly"
+ ( (Some _1,_3) )
+# 20708 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_designator_ =
-# 114 "standard.mly"
- ( [] )
-# 17492 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let m : 'tv_metadec = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos_m_ in
+ let _v : (
+# 227 "parser_cocci_menhir.mly"
+ ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
+# 20732 "parser_cocci_menhir.ml"
+ ) =
+# 251 "parser_cocci_menhir.mly"
+ ( m (!Ast0.rule_name) )
+# 20736 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_designator_ = Obj.magic xs in
- let x : 'tv_designator = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_designator_ =
-# 116 "standard.mly"
- ( x :: xs )
-# 17522 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 421 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaMetaDecl(arity,name)) in
+ !Data.add_meta_meta name pure; tok) )
+# 20783 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 20789 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_dp_comma_args_TEllipsis__ =
-# 114 "standard.mly"
- ( [] )
-# 17539 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 425 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaParamDecl(arity,name)) in
+ !Data.add_param_meta name pure; tok) )
+# 20836 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 20842 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic xs in
- let x : 'tv_dp_comma_args_TEllipsis_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_dp_comma_args_TEllipsis__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 17569 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 429 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let len = Ast.AnyLen in
+ let tok = check_meta(Ast.MetaParamListDecl(arity,name,len)) in
+ !Data.add_paramlist_meta name len pure; tok) )
+# 20894 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 20900 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_incl_ =
-# 114 "standard.mly"
- ( [] )
-# 17586 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 434 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let len = Ast.AnyLen in
+ let tok = check_meta(Ast.MetaExpListDecl(arity,name,len)) in
+ !Data.add_explist_meta name len pure; tok) )
+# 20952 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 20958 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_incl_ = Obj.magic xs in
- let x : 'tv_incl = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_incl_ =
-# 116 "standard.mly"
- ( x :: xs )
-# 17616 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 439 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in
+ !Data.add_type_meta name pure; tok) )
+# 21005 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21011 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_iso_ctype__ =
-# 114 "standard.mly"
- ( [] )
-# 17633 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 443 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaInitDecl(arity,name)) in
+ !Data.add_init_meta name pure; tok) )
+# 21058 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21064 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_iso_ctype__ = Obj.magic xs in
- let x : 'tv_iso_ctype_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_iso_ctype__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 17663 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 447 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaStmDecl(arity,name)) in
+ !Data.add_stm_meta name pure; tok) )
+# 21111 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21117 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_iso_decl_var__ =
-# 114 "standard.mly"
- ( [] )
-# 17680 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 451 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaDeclDecl(arity,name)) in
+ !Data.add_decl_meta name pure; tok) )
+# 21164 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21170 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in
- let x : 'tv_iso_decl_var_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_iso_decl_var__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 17710 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 455 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaFieldDecl(arity,name)) in
+ !Data.add_field_meta name pure; tok) )
+# 21217 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21223 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_iso_eexpr__ =
-# 114 "standard.mly"
- ( [] )
-# 17727 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 459 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let len = Ast.AnyLen in
+ let tok = check_meta(Ast.MetaFieldListDecl(arity,name,len)) in
+ !Data.add_field_list_meta name len pure; tok) )
+# 21275 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21281 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_iso_eexpr__ = Obj.magic xs in
- let x : 'tv_iso_eexpr_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_iso_eexpr__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 17757 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 464 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in
+ !Data.add_stmlist_meta name pure; tok) )
+# 21332 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21338 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_iso_nest_start__ =
-# 114 "standard.mly"
- ( [] )
-# 17774 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 468 "parser_cocci_menhir.mly"
+ ( (fun arity (_,name) pure check_meta ->
+ if arity = Ast.NONE && pure = Ast0.Impure
+ then (!Data.add_type_name name; [])
+ else raise (Semantic_cocci.Semantic "bad typedef")) )
+# 21386 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21392 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in
- let x : 'tv_iso_nest_start_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_iso_nest_start__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 17804 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 473 "parser_cocci_menhir.mly"
+ ( (fun arity (_,name) pure check_meta ->
+ if arity = Ast.NONE && pure = Ast0.Impure
+ then (!Data.add_declarer_name name; [])
+ else raise (Semantic_cocci.Semantic "bad declarer")) )
+# 21444 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21450 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_iso_single_statement__ =
-# 114 "standard.mly"
- ( [] )
-# 17821 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 478 "parser_cocci_menhir.mly"
+ ( (fun arity (_,name) pure check_meta ->
+ if arity = Ast.NONE && pure = Ast0.Impure
+ then (!Data.add_iterator_name name; [])
+ else raise (Semantic_cocci.Semantic "bad iterator")) )
+# 21502 "parser_cocci_menhir.ml"
+
+ in
+
+# 342 "parser_cocci_menhir.mly"
+ ( P.create_metadec ar ispure kindfn ids )
+# 21508 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in
- let x : 'tv_iso_single_statement_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_iso_single_statement__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 17851 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__4_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 414 "parser_cocci_menhir.mly"
+ ( (fun name check_meta seed ->
+ let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in
+ !Data.add_fresh_id_meta name; tok) )
+# 21547 "parser_cocci_menhir.ml"
+
+ in
+
+# 345 "parser_cocci_menhir.mly"
+ ( P.create_fresh_metadec kindfn ids )
+# 21553 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_ctype__ =
-# 114 "standard.mly"
- ( [] )
-# 17868 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 485 "parser_cocci_menhir.mly"
+ (
+ let idfn arity name pure check_meta constraints =
+ let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
+ !Data.add_id_meta name constraints pure; tok in
+ let virtfn arity name pure check_meta virtual_env =
+ try
+ let vl = List.assoc name virtual_env in
+ !Data.add_virt_id_meta_found name vl; []
+ with Not_found ->
+ Iteration.parsed_virtual_identifiers :=
+ Common.union_set [name]
+ !Iteration.parsed_virtual_identifiers;
+ let name = ("virtual",name) in
+ let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
+ !Data.add_virt_id_meta_not_found name pure; tok in
+ (idfn,virtfn) )
+# 21613 "parser_cocci_menhir.ml"
+
+ in
+
+# 351 "parser_cocci_menhir.mly"
+ ( let (normal,virt) = Common.partition_either (fun x -> x) ids in
+ let (idfn,virtfn) = kindfn in
+ function cr ->
+ (P.create_metadec_with_constraints ar ispure idfn normal cr) @
+ (P.create_metadec_virt ar ispure virtfn virt cr) )
+# 21623 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in
- let x : 'tv_mzl_ctype_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_mzl_ctype__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 17898 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_eexpr__ =
-# 114 "standard.mly"
- ( [] )
-# 17915 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 504 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in
+ !Data.add_func_meta name constraints pure; tok) )
+# 21670 "parser_cocci_menhir.ml"
+
+ in
+
+# 360 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21676 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in
- let x : 'tv_mzl_eexpr_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_mzl_eexpr__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 17945 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_fun_after_dots_or__ =
-# 114 "standard.mly"
- ( [] )
-# 17962 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 508 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in
+ !Data.add_local_func_meta name constraints pure;
+ tok) )
+# 21728 "parser_cocci_menhir.ml"
+
+ in
+
+# 360 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21734 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in
- let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_mzl_fun_after_dots_or__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 17992 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_fun_start__ =
-# 114 "standard.mly"
- ( [] )
-# 18009 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 513 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in
+ !Data.add_declarer_meta name constraints pure; tok) )
+# 21781 "parser_cocci_menhir.ml"
+
+ in
+
+# 360 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21787 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in
- let x : 'tv_mzl_fun_start_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_mzl_fun_start__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 18039 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 517 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in
+ !Data.add_iterator_meta name constraints pure; tok) )
+# 21834 "parser_cocci_menhir.ml"
+
+ in
+
+# 360 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21840 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_rule_elem_statement__ =
-# 114 "standard.mly"
- ( [] )
-# 18056 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 523 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let tok = check_meta(Ast.MetaErrDecl(arity,name)) in
+ !Data.add_err_meta name constraints pure; tok) )
+# 21887 "parser_cocci_menhir.ml"
+
+ in
+
+# 365 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21893 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l0;
+ MenhirLib.EngineTypes.startp = _startpos_l0_;
+ MenhirLib.EngineTypes.endp = _endpos_l0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_mzl_rule_elem_statement__ = Obj.magic xs in
- let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_mzl_rule_elem_statement__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 18086 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+ let l = l0 in
+ let ty =
+
+# 39 "standard.mly"
+ ( None )
+# 21946 "parser_cocci_menhir.ml"
+
+ in
+
+# 527 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ match l with
+ None ->
+ !Data.add_idexp_meta ty name constraints pure;
+ check_meta(Ast.MetaIdExpDecl(arity,name,ty))
+ | Some _ ->
+ !Data.add_local_idexp_meta ty name constraints pure;
+ check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
+# 21959 "parser_cocci_menhir.ml"
+
+ in
+
+# 365 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21965 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_mzl_statement__ =
-# 114 "standard.mly"
- ( [] )
-# 18103 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x00;
+ MenhirLib.EngineTypes.startp = _startpos_x00_;
+ MenhirLib.EngineTypes.endp = _endpos_x00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l0;
+ MenhirLib.EngineTypes.startp = _startpos_l0_;
+ MenhirLib.EngineTypes.endp = _endpos_l0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let x00 : 'tv_meta_exp_type = Obj.magic x00 in
+ let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__7_ in
+ let _v : 'tv_metadec = let kindfn =
+ let x0 = x00 in
+ let l = l0 in
+ let ty =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 22026 "parser_cocci_menhir.ml"
+
+ in
+
+# 527 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ match l with
+ None ->
+ !Data.add_idexp_meta ty name constraints pure;
+ check_meta(Ast.MetaIdExpDecl(arity,name,ty))
+ | Some _ ->
+ !Data.add_local_idexp_meta ty name constraints pure;
+ check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
+# 22039 "parser_cocci_menhir.ml"
+
+ in
+
+# 365 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22045 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = m0;
+ MenhirLib.EngineTypes.startp = _startpos_m0_;
+ MenhirLib.EngineTypes.endp = _endpos_m0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l0;
+ MenhirLib.EngineTypes.startp = _startpos_l0_;
+ MenhirLib.EngineTypes.endp = _endpos_l0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_mzl_statement__ = Obj.magic xs in
- let x : 'tv_mzl_statement_ = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_mzl_statement__ =
-# 116 "standard.mly"
- ( x :: xs )
-# 18133 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
+ let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__7_ in
+ let _v : 'tv_metadec = let kindfn =
+ let m = m0 in
+ let l = l0 in
+
+# 536 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
+ match l with
+ None ->
+ !Data.add_idexp_meta ty name constraints pure;
+ check_meta(Ast.MetaIdExpDecl(arity,name,ty))
+ | Some _ ->
+ !Data.add_local_idexp_meta ty name constraints pure;
+ check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
+# 22112 "parser_cocci_menhir.ml"
+
+ in
+
+# 365 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22118 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ =
-# 114 "standard.mly"
- ( [] )
-# 18150 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty0;
+ MenhirLib.EngineTypes.startp = _startpos_ty0_;
+ MenhirLib.EngineTypes.endp = _endpos_ty0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let ty0 : 'tv_expression_type = Obj.magic ty0 in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+ let ty = ty0 in
+
+# 546 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let ty = Some [ty] in
+ let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
+ !Data.add_exp_meta ty name constraints pure; tok) )
+# 22173 "parser_cocci_menhir.ml"
+
+ in
+
+# 365 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22179 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = y0;
- MenhirLib.EngineTypes.startp = _startpos_y0_;
- MenhirLib.EngineTypes.endp = _endpos_y0_;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
} = _menhir_stack in
- let xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in
- let y0 : 'tv_dexpr = Obj.magic y0 in
- let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x =
- let y = y0 in
- let x = x0 in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+ let ty =
+
+# 39 "standard.mly"
+ ( None )
+# 22225 "parser_cocci_menhir.ml"
+
+ in
-# 70 "standard.mly"
- ( (x, y) )
-# 18189 "parser_cocci_menhir.ml"
+# 551 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
+ !Data.add_const_meta ty name constraints pure; tok) )
+# 22233 "parser_cocci_menhir.ml"
in
-# 116 "standard.mly"
- ( x :: xs )
-# 18195 "parser_cocci_menhir.ml"
+# 365 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22239 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_list_whenppdecs_ =
-# 114 "standard.mly"
- ( [] )
-# 18212 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__6_;
+ MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x00;
+ MenhirLib.EngineTypes.startp = _startpos_x00_;
+ MenhirLib.EngineTypes.endp = _endpos_x00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+ let x00 : 'tv_meta_exp_type = Obj.magic x00 in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__6_ in
+ let _v : 'tv_metadec = let kindfn =
+ let x0 = x00 in
+ let ty =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 22293 "parser_cocci_menhir.ml"
+
+ in
+
+# 551 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
+ !Data.add_const_meta ty name constraints pure; tok) )
+# 22301 "parser_cocci_menhir.ml"
+
+ in
+
+# 365 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22307 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
- let xs : 'tv_list_whenppdecs_ = Obj.magic xs in
- let x : 'tv_whenppdecs = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_list_whenppdecs_ =
-# 116 "standard.mly"
- ( x :: xs )
-# 18242 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+
+# 568 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in
+ !Data.add_exp_meta None name constraints pure; tok) )
+# 22354 "parser_cocci_menhir.ml"
+
+ in
+
+# 370 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22360 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = vl0;
+ MenhirLib.EngineTypes.startp = _startpos_vl0_;
+ MenhirLib.EngineTypes.endp = _endpos_vl0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_list_len =
-# 334 "parser_cocci_menhir.mly"
- ( Common.Left _1 )
-# 18266 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
+ let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec = let kindfn =
+ let vl = vl0 in
+
+# 572 "parser_cocci_menhir.mly"
+ ( (fun arity name pure check_meta constraints ->
+ let ty = Some vl in
+ (match constraints with
+ Ast0.NotExpCstrt constraints ->
+ List.iter
+ (function c ->
+ match Ast0.unwrap c with
+ Ast0.Constant(_) ->
+ if not
+ (List.exists
+ (function
+ Type_cocci.BaseType(Type_cocci.IntType) -> true
+ | Type_cocci.BaseType(Type_cocci.ShortType) -> true
+ | Type_cocci.BaseType(Type_cocci.LongType) -> true
+ | _ -> false)
+ vl)
+ then
+ failwith "metavariable with int constraint must be an int"
+ | _ -> ())
+ constraints
+ | _ -> ());
+ let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
+ !Data.add_exp_meta ty name constraints pure; tok)
+ )
+# 22431 "parser_cocci_menhir.ml"
+
+ in
+
+# 370 "parser_cocci_menhir.mly"
+ ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22437 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let _1 : (
-# 90 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 18287 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_list_len =
-# 335 "parser_cocci_menhir.mly"
- ( let (x,clt) = _1 in Common.Right (int_of_string x) )
-# 18294 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in
+ let a : 'tv_option_TPosAny_ = Obj.magic a in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__5_ in
+ let _v : 'tv_metadec =
+# 376 "parser_cocci_menhir.mly"
+ ( (if !Data.in_generating
+ then failwith "position variables not allowed in a generated rule file");
+ let kindfn arity name pure check_meta constraints =
+ let tok = check_meta(Ast.MetaPosDecl(arity,name)) in
+ let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in
+ !Data.add_pos_meta name constraints any; tok in
+ P.create_metadec_with_constraints ar false kindfn ids )
+# 22487 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_choose_iso_ =
-# 57 "standard.mly"
- ( [] )
-# 18311 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__9_;
+ MenhirLib.EngineTypes.endp = _endpos__9_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = len;
+ MenhirLib.EngineTypes.startp = _startpos_len_;
+ MenhirLib.EngineTypes.endp = _endpos_len_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let len : 'tv_list_len = Obj.magic len in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__9_ in
+ let _v : 'tv_metadec =
+# 386 "parser_cocci_menhir.mly"
+ ( P.create_len_metadec ar ispure
+ (fun lenname arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaParamListDecl(arity,name,lenname)) in
+ !Data.add_paramlist_meta name lenname pure; tok)
+ len ids )
+# 22553 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.startp = _startpos__9_;
+ MenhirLib.EngineTypes.endp = _endpos__9_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = len;
+ MenhirLib.EngineTypes.startp = _startpos_len_;
+ MenhirLib.EngineTypes.endp = _endpos_len_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
} = _menhir_stack in
- let x : 'tv_choose_iso = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_choose_iso_ =
-# 59 "standard.mly"
- ( x )
-# 18335 "parser_cocci_menhir.ml"
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let len : 'tv_list_len = Obj.magic len in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__9_ in
+ let _v : 'tv_metadec =
+# 394 "parser_cocci_menhir.mly"
+ ( P.create_len_metadec ar ispure
+ (fun lenname arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaExpListDecl(arity,name,lenname)) in
+ !Data.add_explist_meta name lenname pure; tok)
+ len ids )
+# 22619 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_disable_ =
-# 57 "standard.mly"
- ( [] )
-# 18352 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__9_;
+ MenhirLib.EngineTypes.endp = _endpos__9_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids;
+ MenhirLib.EngineTypes.startp = _startpos_ids_;
+ MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__7_;
+ MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = len;
+ MenhirLib.EngineTypes.startp = _startpos_len_;
+ MenhirLib.EngineTypes.endp = _endpos_len_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__5_;
+ MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ispure;
+ MenhirLib.EngineTypes.startp = _startpos_ispure_;
+ MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ar;
+ MenhirLib.EngineTypes.startp = _startpos_ar_;
+ MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+ let len : 'tv_list_len = Obj.magic len in
+ let ispure : 'tv_pure = Obj.magic ispure in
+ let ar : 'tv_arity = Obj.magic ar in
+ let _startpos = _startpos_ar_ in
+ let _endpos = _endpos__9_ in
+ let _v : 'tv_metadec =
+# 402 "parser_cocci_menhir.mly"
+ ( P.create_len_metadec ar ispure
+ (fun lenname arity name pure check_meta ->
+ let tok = check_meta(Ast.MetaFieldListDecl(arity,name,lenname)) in
+ !Data.add_field_list_meta name lenname pure; tok)
+ len ids )
+# 22685 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_disable = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_disable_ =
-# 59 "standard.mly"
- ( x )
-# 18376 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_filespec_ =
-# 57 "standard.mly"
- ( [] )
-# 18393 "parser_cocci_menhir.ml"
+ let _1 : 'tv_pure_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_mident =
+# 1883 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 22709 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_filespec = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_filespec_ =
-# 59 "standard.mly"
- ( x )
-# 18417 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_minus_start_ =
-# 57 "standard.mly"
- ( [] )
-# 18434 "parser_cocci_menhir.ml"
+ let _1 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 22730 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_mident =
+# 1884 "parser_cocci_menhir.mly"
+ ( tmeta_to_ident _1 )
+# 22737 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : 'tv_minus_start = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_minus_start_ =
-# 59 "standard.mly"
- ( x )
-# 18458 "parser_cocci_menhir.ml"
+ let _1 : (
+# 128 "parser_cocci_menhir.mly"
+ (Parse_aux.idinfo)
+# 22758 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_mident =
+# 1886 "parser_cocci_menhir.mly"
+ ( let (nm,constraints,pure,clt) = _1 in
+ Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 22766 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_not_pos_ =
-# 57 "standard.mly"
- ( [] )
-# 18475 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let b : 'tv_list_mzl_ctype__ = Obj.magic b in
+ let a : 'tv_ctype = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_ctype_ctype_ =
+# 2206 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22796 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let x : 'tv_not_pos = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_not_pos_ =
-# 59 "standard.mly"
- ( x )
-# 18499 "parser_cocci_menhir.ml"
+ let b : 'tv_list_mzl_disj_ident__ = Obj.magic b in
+ let a : 'tv_disj_ident = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_disj_ident_disj_ident_ =
+# 2206 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22826 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_loption_plus_start_ =
-# 57 "standard.mly"
- ( [] )
-# 18516 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
+ let a : 'tv_eexpr = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_eexpr_eexpr_ =
+# 2206 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22856 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let x : 'tv_plus_start = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_loption_plus_start_ =
-# 59 "standard.mly"
- ( x )
-# 18540 "parser_cocci_menhir.ml"
+ let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
+ let a : 'tv_expr = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_expr_eexpr_ =
+# 2206 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22886 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let t : 'tv_typedef_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_t_ in
- let _v : 'tv_meta_exp_type =
-# 507 "parser_cocci_menhir.mly"
- ( [Ast0_cocci.ast0_type_to_type t] )
-# 18564 "parser_cocci_menhir.ml"
+ let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in
+ let a : 'tv_fun_after_stm = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ =
+# 2206 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22916 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let t : 'tv_comma_list_ctype_ = Obj.magic t in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_meta_exp_type =
-# 509 "parser_cocci_menhir.mly"
- ( List.map
- (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
- t )
-# 18604 "parser_cocci_menhir.ml"
+ let b : 'tv_list_mzl_fun_start__ = Obj.magic b in
+ let a : 'tv_fun_start = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_fun_start_fun_start_ =
+# 2206 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22946 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : 'tv_pure_ident = Obj.magic _3 in
- let _1 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 18635 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_meta_ident =
-# 1475 "parser_cocci_menhir.mly"
- ( (Some _1,P.id2name _3) )
-# 18642 "parser_cocci_menhir.ml"
+ let b : 'tv_list_mzl_mctype__ = Obj.magic b in
+ let a : 'tv_mctype = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_mctype_mctype_ =
+# 2206 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22976 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _3;
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in
- let _1 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 18673 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__3_ in
- let _v : 'tv_meta_ident =
-# 1476 "parser_cocci_menhir.mly"
- ( (Some _1,_3) )
-# 18680 "parser_cocci_menhir.ml"
+ let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in
+ let a : 'tv_rule_elem_statement = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ =
+# 2206 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23006 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let m : 'tv_metadec = Obj.magic m in
- let _startpos = _startpos_m_ in
- let _endpos = _endpos_m_ in
- let _v : (
-# 162 "parser_cocci_menhir.mly"
- ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 18704 "parser_cocci_menhir.ml"
- ) =
-# 186 "parser_cocci_menhir.mly"
- ( m (!Ast0.rule_name) )
-# 18708 "parser_cocci_menhir.ml"
+ let b : 'tv_list_mzl_statement__ = Obj.magic b in
+ let a : 'tv_statement = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_midzero_list_statement_statement_ =
+# 2206 "parser_cocci_menhir.mly"
+ ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23036 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = f;
+ MenhirLib.EngineTypes.startp = _startpos_f_;
+ MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 346 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta ->
- let tok = check_meta(Ast.MetaParamDecl(arity,name)) in
- !Data.add_param_meta name pure; tok) )
-# 18755 "parser_cocci_menhir.ml"
-
- in
-
-# 275 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 18761 "parser_cocci_menhir.ml"
+ let b : 'tv_loption_minus_start_ = Obj.magic b in
+ let f : 'tv_loption_filespec_ = Obj.magic f in
+ let _startpos = _startpos_f_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_minus_body =
+# 802 "parser_cocci_menhir.mly"
+ ( match f@b(*@ew*) with
+ [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
+ | code -> Top_level.top_level code )
+# 23068 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = f;
+ MenhirLib.EngineTypes.startp = _startpos_f_;
+ MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 350 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta ->
- let len = Ast.AnyLen in
- let tok = check_meta(Ast.MetaParamListDecl(arity,name,len)) in
- !Data.add_paramlist_meta name len pure; tok) )
-# 18813 "parser_cocci_menhir.ml"
-
- in
-
-# 275 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 18819 "parser_cocci_menhir.ml"
+ let b : 'tv_top_eexpr = Obj.magic b in
+ let f : 'tv_loption_filespec_ = Obj.magic f in
+ let _startpos = _startpos_f_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_minus_exp_body =
+# 816 "parser_cocci_menhir.mly"
+ ( match f@[b](*@ew*) with
+ [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
+ | code -> Top_level.top_level code )
+# 23100 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
});
(fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- } = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 355 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta ->
- let len = Ast.AnyLen in
- let tok = check_meta(Ast.MetaExpListDecl(arity,name,len)) in
- !Data.add_explist_meta name len pure; tok) )
-# 18871 "parser_cocci_menhir.ml"
-
- in
-
-# 275 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 18877 "parser_cocci_menhir.ml"
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _1 : 'tv_minus_exp_body = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 207 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23128 "parser_cocci_menhir.ml"
+ ) =
+# 247 "parser_cocci_menhir.mly"
+ ( _1 )
+# 23132 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 360 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta ->
- let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in
- !Data.add_type_meta name pure; tok) )
-# 18924 "parser_cocci_menhir.ml"
-
- in
-
-# 275 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 18930 "parser_cocci_menhir.ml"
+ let m : 'tv_minus_exp_body = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 207 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23160 "parser_cocci_menhir.ml"
+ ) =
+# 247 "parser_cocci_menhir.mly"
+ ( m )
+# 23164 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 364 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta ->
- let tok = check_meta(Ast.MetaInitDecl(arity,name)) in
- !Data.add_init_meta name pure; tok) )
-# 18977 "parser_cocci_menhir.ml"
-
- in
-
-# 275 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 18983 "parser_cocci_menhir.ml"
+ let m : 'tv_minus_exp_body = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 207 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23192 "parser_cocci_menhir.ml"
+ ) =
+# 248 "parser_cocci_menhir.mly"
+ ( m )
+# 23196 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 368 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta ->
- let tok = check_meta(Ast.MetaStmDecl(arity,name)) in
- !Data.add_stm_meta name pure; tok) )
-# 19030 "parser_cocci_menhir.ml"
-
- in
-
-# 275 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 19036 "parser_cocci_menhir.ml"
+ let _1 : 'tv_minus_body = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 204 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23224 "parser_cocci_menhir.ml"
+ ) =
+# 243 "parser_cocci_menhir.mly"
+ ( _1 )
+# 23228 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 372 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta ->
- let tok = check_meta(Ast.MetaDeclDecl(arity,name)) in
- !Data.add_decl_meta name pure; tok) )
-# 19083 "parser_cocci_menhir.ml"
-
- in
-
-# 275 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 19089 "parser_cocci_menhir.ml"
+ let m : 'tv_minus_body = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 204 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23256 "parser_cocci_menhir.ml"
+ ) =
+# 243 "parser_cocci_menhir.mly"
+ ( m )
+# 23260 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 376 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta ->
- let tok = check_meta(Ast.MetaFieldDecl(arity,name)) in
- !Data.add_field_meta name pure; tok) )
-# 19136 "parser_cocci_menhir.ml"
-
- in
-
-# 275 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 19142 "parser_cocci_menhir.ml"
+ let m : 'tv_minus_body = Obj.magic m in
+ let _startpos = _startpos_m_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 204 "parser_cocci_menhir.mly"
+ (Ast0_cocci.rule)
+# 23288 "parser_cocci_menhir.ml"
+ ) =
+# 244 "parser_cocci_menhir.mly"
+ ( m )
+# 23292 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 380 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta ->
- let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in
- !Data.add_stmlist_meta name pure; tok) )
-# 19193 "parser_cocci_menhir.ml"
-
- in
-
-# 275 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 19199 "parser_cocci_menhir.ml"
+ let _1 : 'tv_fundecl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_minus_start =
+# 2031 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.DECL(_1))] )
+# 23316 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 384 "parser_cocci_menhir.mly"
- ( (fun arity (_,name) pure check_meta ->
- if arity = Ast.NONE && pure = Ast0.Impure
- then (!Data.add_type_name name; [])
- else raise (Semantic_cocci.Semantic "bad typedef")) )
-# 19247 "parser_cocci_menhir.ml"
-
- in
-
-# 275 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 19253 "parser_cocci_menhir.ml"
+ let _1 : 'tv_ctype = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_minus_start =
+# 2032 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
+# 23340 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 389 "parser_cocci_menhir.mly"
- ( (fun arity (_,name) pure check_meta ->
- if arity = Ast.NONE && pure = Ast0.Impure
- then (!Data.add_declarer_name name; [])
- else raise (Semantic_cocci.Semantic "bad declarer")) )
-# 19305 "parser_cocci_menhir.ml"
-
- in
-
-# 275 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 19311 "parser_cocci_menhir.ml"
+ let _1 : 'tv_top_init = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_minus_start =
+# 2033 "parser_cocci_menhir.mly"
+ ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
+# 23364 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 394 "parser_cocci_menhir.mly"
- ( (fun arity (_,name) pure check_meta ->
- if arity = Ast.NONE && pure = Ast0.Impure
- then (!Data.add_iterator_name name; [])
- else raise (Semantic_cocci.Semantic "bad iterator")) )
-# 19363 "parser_cocci_menhir.ml"
-
- in
-
-# 275 "parser_cocci_menhir.mly"
- ( P.create_metadec ar ispure kindfn ids )
-# 19369 "parser_cocci_menhir.ml"
+ let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_minus_start =
+# 2035 "parser_cocci_menhir.mly"
+ ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
+# 23388 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__4_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 339 "parser_cocci_menhir.mly"
- ( (fun name check_meta seed ->
- let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in
- !Data.add_fresh_id_meta name; tok) )
-# 19408 "parser_cocci_menhir.ml"
-
- in
-
-# 278 "parser_cocci_menhir.mly"
- ( P.create_fresh_metadec kindfn ids )
-# 19414 "parser_cocci_menhir.ml"
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let b : 'tv_ctype = Obj.magic b in
+ let a : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23415 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_ctype_ =
+# 2209 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 23422 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 401 "parser_cocci_menhir.mly"
- (
- let idfn arity name pure check_meta constraints =
- let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
- !Data.add_id_meta name constraints pure; tok in
- let virtfn arity name pure check_meta virtual_env =
- try
- let vl = List.assoc name virtual_env in
- !Data.add_virt_id_meta_found name vl; []
- with Not_found ->
- let name = ("virtual",name) in
- let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
- !Data.add_virt_id_meta_not_found name pure; tok in
- (idfn,virtfn) )
-# 19471 "parser_cocci_menhir.ml"
-
- in
-
-# 284 "parser_cocci_menhir.mly"
- ( let (normal,virt) = Common.partition_either (fun x -> x) ids in
- let (idfn,virtfn) = kindfn in
- function cr ->
- (P.create_metadec_with_constraints ar ispure idfn normal cr) @
- (P.create_metadec_virt ar ispure virtfn virt cr) )
-# 19481 "parser_cocci_menhir.ml"
+ let b : 'tv_disj_ident = Obj.magic b in
+ let a : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23449 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_disj_ident_ =
+# 2209 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 23456 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 417 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in
- !Data.add_func_meta name constraints pure; tok) )
-# 19528 "parser_cocci_menhir.ml"
-
- in
-
-# 293 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19534 "parser_cocci_menhir.ml"
+ let b : 'tv_eexpr = Obj.magic b in
+ let a : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23483 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_eexpr_ =
+# 2209 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 23490 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 421 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in
- !Data.add_local_func_meta name constraints pure;
- tok) )
-# 19586 "parser_cocci_menhir.ml"
-
- in
-
-# 293 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19592 "parser_cocci_menhir.ml"
+ let b : 'tv_fun_after_dots_or = Obj.magic b in
+ let a : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23517 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_fun_after_dots_or_ =
+# 2209 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 23524 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 426 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in
- !Data.add_declarer_meta name constraints pure; tok) )
-# 19639 "parser_cocci_menhir.ml"
-
- in
-
-# 293 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19645 "parser_cocci_menhir.ml"
+ let b : 'tv_fun_start = Obj.magic b in
+ let a : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23551 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_fun_start_ =
+# 2209 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 23558 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 430 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in
- !Data.add_iterator_meta name constraints pure; tok) )
-# 19692 "parser_cocci_menhir.ml"
-
- in
-
-# 293 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19698 "parser_cocci_menhir.ml"
+ let b : 'tv_mctype = Obj.magic b in
+ let a : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23585 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_mctype_ =
+# 2209 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 23592 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 436 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- let tok = check_meta(Ast.MetaErrDecl(arity,name)) in
- !Data.add_err_meta name constraints pure; tok) )
-# 19745 "parser_cocci_menhir.ml"
-
- in
-
-# 298 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19751 "parser_cocci_menhir.ml"
+ let b : 'tv_rule_elem_statement = Obj.magic b in
+ let a : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23619 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_rule_elem_statement_ =
+# 2209 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 23626 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = b;
+ MenhirLib.EngineTypes.startp = _startpos_b_;
+ MenhirLib.EngineTypes.endp = _endpos_b_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l0;
- MenhirLib.EngineTypes.startp = _startpos_l0_;
- MenhirLib.EngineTypes.endp = _endpos_l0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = a;
+ MenhirLib.EngineTypes.startp = _startpos_a_;
+ MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
- let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_metadec = let kindfn =
- let l = l0 in
- let ty =
-
-# 39 "standard.mly"
- ( None )
-# 19804 "parser_cocci_menhir.ml"
-
- in
-
-# 440 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- match l with
- None ->
- !Data.add_idexp_meta ty name constraints pure;
- check_meta(Ast.MetaIdExpDecl(arity,name,ty))
- | Some _ ->
- !Data.add_local_idexp_meta ty name constraints pure;
- check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
-# 19817 "parser_cocci_menhir.ml"
-
- in
-
-# 298 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19823 "parser_cocci_menhir.ml"
+ let b : 'tv_statement = Obj.magic b in
+ let a : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23653 "parser_cocci_menhir.ml"
+ ) = Obj.magic a in
+ let _startpos = _startpos_a_ in
+ let _endpos = _endpos_b_ in
+ let _v : 'tv_mzl_statement_ =
+# 2209 "parser_cocci_menhir.mly"
+ ( (P.clt2mcode "|" a, b) )
+# 23660 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x00;
- MenhirLib.EngineTypes.startp = _startpos_x00_;
- MenhirLib.EngineTypes.endp = _endpos_x00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l0;
- MenhirLib.EngineTypes.startp = _startpos_l0_;
- MenhirLib.EngineTypes.endp = _endpos_l0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
- let x00 : 'tv_meta_exp_type = Obj.magic x00 in
- let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__7_ in
- let _v : 'tv_metadec = let kindfn =
- let x0 = x00 in
- let l = l0 in
- let ty =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 19884 "parser_cocci_menhir.ml"
-
- in
-
-# 440 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- match l with
- None ->
- !Data.add_idexp_meta ty name constraints pure;
- check_meta(Ast.MetaIdExpDecl(arity,name,ty))
- | Some _ ->
- !Data.add_local_idexp_meta ty name constraints pure;
- check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
-# 19897 "parser_cocci_menhir.ml"
-
- in
-
-# 298 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19903 "parser_cocci_menhir.ml"
+ let _1 : 'tv_decl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_name_opt_decl =
+# 1024 "parser_cocci_menhir.mly"
+ ( _1 )
+# 23684 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.semv = rp1;
+ MenhirLib.EngineTypes.startp = _startpos_rp1_;
+ MenhirLib.EngineTypes.endp = _endpos_rp1_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = m0;
- MenhirLib.EngineTypes.startp = _startpos_m0_;
- MenhirLib.EngineTypes.endp = _endpos_m0_;
+ MenhirLib.EngineTypes.semv = lp1;
+ MenhirLib.EngineTypes.startp = _startpos_lp1_;
+ MenhirLib.EngineTypes.endp = _endpos_lp1_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l0;
- MenhirLib.EngineTypes.startp = _startpos_l0_;
- MenhirLib.EngineTypes.endp = _endpos_l0_;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
- let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
- let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__7_ in
- let _v : 'tv_metadec = let kindfn =
- let m = m0 in
- let l = l0 in
-
-# 449 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
- match l with
- None ->
- !Data.add_idexp_meta ty name constraints pure;
- check_meta(Ast.MetaIdExpDecl(arity,name,ty))
- | Some _ ->
- !Data.add_local_idexp_meta ty name constraints pure;
- check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
-# 19970 "parser_cocci_menhir.ml"
-
- in
-
-# 298 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19976 "parser_cocci_menhir.ml"
+ let rp1 : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23735 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp1 in
+ let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+ let lp1 : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23741 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp1 in
+ let rp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23746 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let s : (
+# 167 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23751 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let lp : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 23756 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let t : 'tv_ctype = Obj.magic t in
+ let _startpos = _startpos_t_ in
+ let _endpos = _endpos_rp1_ in
+ let _v : 'tv_name_opt_decl =
+# 1027 "parser_cocci_menhir.mly"
+ ( let fnptr =
+ Ast0.wrap
+ (Ast0.FunctionPointer
+ (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
+ P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
+ Ast0.wrap(Ast0.Param(fnptr, None)) )
+# 23769 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = m0;
- MenhirLib.EngineTypes.startp = _startpos_m0_;
- MenhirLib.EngineTypes.endp = _endpos_m0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
- let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_metadec = let kindfn =
- let m = m0 in
-
-# 459 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
- let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
- !Data.add_exp_meta ty name constraints pure; tok) )
-# 20031 "parser_cocci_menhir.ml"
-
- in
-
-# 298 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 20037 "parser_cocci_menhir.ml"
+ let _2 : 'tv_nest_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nest_after_dots =
+# 2151 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 23799 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = vl0;
- MenhirLib.EngineTypes.startp = _startpos_vl0_;
- MenhirLib.EngineTypes.endp = _endpos_vl0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
- let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__7_ in
- let _v : 'tv_metadec = let kindfn =
- let vl = vl0 in
-
-# 464 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- let ty = Some (List.map (function x -> Type_cocci.Array x) vl) in
- let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
- !Data.add_exp_meta ty name constraints pure; tok) )
-# 20096 "parser_cocci_menhir.ml"
-
- in
-
-# 298 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 20102 "parser_cocci_menhir.ml"
+ let _2 : 'tv_nest_after_exp = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nest_after_dots =
+# 2152 "parser_cocci_menhir.mly"
+ (_2)
+# 23827 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
- let ty =
-
-# 39 "standard.mly"
- ( None )
-# 20148 "parser_cocci_menhir.ml"
-
- in
-
-# 469 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
- !Data.add_const_meta ty name constraints pure; tok) )
-# 20156 "parser_cocci_menhir.ml"
-
- in
-
-# 298 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 20162 "parser_cocci_menhir.ml"
+ let _2 : 'tv_nest_after_exp = Obj.magic _2 in
+ let _1 : 'tv_expr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nest_after_dots =
+# 2153 "parser_cocci_menhir.mly"
+ ((Ast0.wrap(Ast0.Exp(_1)))::_2)
+# 23857 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_nest_after_exp =
+# 2161 "parser_cocci_menhir.mly"
+ ([])
+# 23874 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__6_;
- MenhirLib.EngineTypes.endp = _endpos__6_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x00;
- MenhirLib.EngineTypes.startp = _startpos_x00_;
- MenhirLib.EngineTypes.endp = _endpos_x00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
- let x00 : 'tv_meta_exp_type = Obj.magic x00 in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__6_ in
- let _v : 'tv_metadec = let kindfn =
- let x0 = x00 in
- let ty =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 20216 "parser_cocci_menhir.ml"
-
- in
-
-# 469 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
- !Data.add_const_meta ty name constraints pure; tok) )
-# 20224 "parser_cocci_menhir.ml"
-
- in
-
-# 298 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 20230 "parser_cocci_menhir.ml"
+ let _2 : 'tv_nest_after_dots = Obj.magic _2 in
+ let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nest_after_exp =
+# 2162 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 23904 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+ let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+ let _endpos = _startpos in
+ let _v : 'tv_nest_after_stm =
+# 2156 "parser_cocci_menhir.mly"
+ ([])
+# 23921 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
-
-# 475 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in
- !Data.add_exp_meta None name constraints pure; tok) )
-# 20277 "parser_cocci_menhir.ml"
-
- in
-
-# 303 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 20283 "parser_cocci_menhir.ml"
+ let _2 : 'tv_nest_after_dots = Obj.magic _2 in
+ let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nest_after_stm =
+# 2157 "parser_cocci_menhir.mly"
+ (_1::_2)
+# 23951 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = vl0;
- MenhirLib.EngineTypes.startp = _startpos_vl0_;
- MenhirLib.EngineTypes.endp = _endpos_vl0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
- let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec = let kindfn =
- let vl = vl0 in
-
-# 479 "parser_cocci_menhir.mly"
- ( (fun arity name pure check_meta constraints ->
- let ty = Some vl in
- (match constraints with
- Ast0.NotExpCstrt constraints ->
- List.iter
- (function c ->
- match Ast0.unwrap c with
- Ast0.Constant(_) ->
- if not
- (List.exists
- (function
- Type_cocci.BaseType(Type_cocci.IntType) -> true
- | Type_cocci.BaseType(Type_cocci.ShortType) -> true
- | Type_cocci.BaseType(Type_cocci.LongType) -> true
- | _ -> false)
- vl)
- then
- failwith "metavariable with int constraint must be an int"
- | _ -> ())
- constraints
- | _ -> ());
- let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
- !Data.add_exp_meta ty name constraints pure; tok)
- )
-# 20354 "parser_cocci_menhir.ml"
-
- in
-
-# 303 "parser_cocci_menhir.mly"
- ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 20360 "parser_cocci_menhir.ml"
+ let _2 : 'tv_nest_after_stm = Obj.magic _2 in
+ let _1 : 'tv_decl_statement = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nest_after_stm =
+# 2158 "parser_cocci_menhir.mly"
+ (_1@_2)
+# 23981 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
+ MenhirLib.EngineTypes.semv = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in
- let a : 'tv_option_TPosAny_ = Obj.magic a in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__5_ in
- let _v : 'tv_metadec =
-# 309 "parser_cocci_menhir.mly"
- ( (if !Data.in_generating
- then failwith "position variables not allowed in a generated rule file");
- let kindfn arity name pure check_meta constraints =
- let tok = check_meta(Ast.MetaPosDecl(arity,name)) in
- let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in
- !Data.add_pos_meta name constraints any; tok in
- P.create_metadec_with_constraints ar false kindfn ids )
-# 20410 "parser_cocci_menhir.ml"
+ let c : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24012 "parser_cocci_menhir.ml"
+ ) = Obj.magic c in
+ let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
+ let _1 : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24018 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_nest_expressions =
+# 1391 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
+ Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+ P.clt2mcode "...>" c, None, false)) )
+# 24027 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__9_;
- MenhirLib.EngineTypes.endp = _endpos__9_;
+ MenhirLib.EngineTypes.semv = c;
+ MenhirLib.EngineTypes.startp = _startpos_c_;
+ MenhirLib.EngineTypes.endp = _endpos_c_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
+ MenhirLib.EngineTypes.semv = e;
+ MenhirLib.EngineTypes.startp = _startpos_e_;
+ MenhirLib.EngineTypes.endp = _endpos_e_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = len;
- MenhirLib.EngineTypes.startp = _startpos_len_;
- MenhirLib.EngineTypes.endp = _endpos_len_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let len : 'tv_list_len = Obj.magic len in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__9_ in
- let _v : 'tv_metadec =
-# 319 "parser_cocci_menhir.mly"
- ( P.create_len_metadec ar ispure
- (fun lenname arity name pure check_meta ->
- let tok = check_meta(Ast.MetaParamListDecl(arity,name,lenname)) in
- !Data.add_paramlist_meta name lenname pure; tok)
- len ids )
-# 20476 "parser_cocci_menhir.ml"
+ let c : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24058 "parser_cocci_menhir.ml"
+ ) = Obj.magic c in
+ let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
+ let _1 : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24064 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos_c_ in
+ let _v : 'tv_nest_expressions =
+# 1395 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
+ Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+ P.clt2mcode "...+>" c, None, true)) )
+# 24073 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__9_;
- MenhirLib.EngineTypes.endp = _endpos__9_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ids;
- MenhirLib.EngineTypes.startp = _startpos_ids_;
- MenhirLib.EngineTypes.endp = _endpos_ids_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__7_;
- MenhirLib.EngineTypes.endp = _endpos__7_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = len;
- MenhirLib.EngineTypes.startp = _startpos_len_;
- MenhirLib.EngineTypes.endp = _endpos_len_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__5_;
- MenhirLib.EngineTypes.endp = _endpos__5_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ispure;
- MenhirLib.EngineTypes.startp = _startpos_ispure_;
- MenhirLib.EngineTypes.endp = _endpos_ispure_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ar;
- MenhirLib.EngineTypes.startp = _startpos_ar_;
- MenhirLib.EngineTypes.endp = _endpos_ar_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
- let len : 'tv_list_len = Obj.magic len in
- let ispure : 'tv_pure = Obj.magic ispure in
- let ar : 'tv_arity = Obj.magic ar in
- let _startpos = _startpos_ar_ in
- let _endpos = _endpos__9_ in
- let _v : 'tv_metadec =
-# 327 "parser_cocci_menhir.mly"
- ( P.create_len_metadec ar ispure
- (fun lenname arity name pure check_meta ->
- let tok = check_meta(Ast.MetaExpListDecl(arity,name,lenname)) in
- !Data.add_explist_meta name lenname pure; tok)
- len ids )
-# 20542 "parser_cocci_menhir.ml"
+ let _1 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 24094 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_nest_expressions =
+# 1398 "parser_cocci_menhir.mly"
+ ( tmeta_to_exp _1 )
+# 24101 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let b : 'tv_list_mzl_ctype__ = Obj.magic b in
- let a : 'tv_ctype = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_midzero_list_ctype_ctype_ =
-# 1993 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20572 "parser_cocci_menhir.ml"
+ let _1 : 'tv_nest_after_dots = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_nest_start =
+# 2148 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 24125 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
- let a : 'tv_eexpr = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_midzero_list_eexpr_eexpr_ =
-# 1993 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20602 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : (
+# 238 "parser_cocci_menhir.mly"
+ (unit)
+# 24147 "parser_cocci_menhir.ml"
+ ) =
+# 2276 "parser_cocci_menhir.mly"
+ ( () )
+# 24151 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
- let a : 'tv_expr = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_midzero_list_expr_eexpr_ =
-# 1993 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20632 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : (
+# 238 "parser_cocci_menhir.mly"
+ (unit)
+# 24177 "parser_cocci_menhir.ml"
+ ) =
+# 2277 "parser_cocci_menhir.mly"
+ ( () )
+# 24181 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in
- let a : 'tv_fun_after_stm = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ =
-# 1993 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20662 "parser_cocci_menhir.ml"
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : (
+# 238 "parser_cocci_menhir.mly"
+ (unit)
+# 24203 "parser_cocci_menhir.ml"
+ ) =
+# 2278 "parser_cocci_menhir.mly"
+ ( () )
+# 24207 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = dg;
+ MenhirLib.EngineTypes.startp = _startpos_dg_;
+ MenhirLib.EngineTypes.endp = _endpos_dg_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.semv = g;
+ MenhirLib.EngineTypes.startp = _startpos_g_;
+ MenhirLib.EngineTypes.endp = _endpos_g_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_list_mzl_fun_start__ = Obj.magic b in
- let a : 'tv_fun_start = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_midzero_list_fun_start_fun_start_ =
-# 1993 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20692 "parser_cocci_menhir.ml"
+ let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in
+ let g : 'tv_dexpr = Obj.magic g in
+ let _startpos = _startpos_g_ in
+ let _endpos = _endpos_dg_ in
+ let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ =
+# 1614 "parser_cocci_menhir.mly"
+ ( function dot_builder ->
+ g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
+# 24238 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in
- let a : 'tv_rule_elem_statement = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ =
-# 1993 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20722 "parser_cocci_menhir.ml"
+ let x : (
+# 167 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24259 "parser_cocci_menhir.ml"
+ ) = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_x_ in
+ let _v : 'tv_nonempty_list_TMul_ =
+# 124 "standard.mly"
+ ( [ x ] )
+# 24266 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = xs;
+ MenhirLib.EngineTypes.startp = _startpos_xs_;
+ MenhirLib.EngineTypes.endp = _endpos_xs_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.semv = x;
+ MenhirLib.EngineTypes.startp = _startpos_x_;
+ MenhirLib.EngineTypes.endp = _endpos_x_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_list_mzl_statement__ = Obj.magic b in
- let a : 'tv_statement = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_midzero_list_statement_statement_ =
-# 1993 "parser_cocci_menhir.mly"
- ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20752 "parser_cocci_menhir.ml"
+ let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
+ let x : (
+# 167 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24293 "parser_cocci_menhir.ml"
+ ) = Obj.magic x in
+ let _startpos = _startpos_x_ in
+ let _endpos = _endpos_xs_ in
+ let _v : 'tv_nonempty_list_TMul_ =
+# 126 "standard.mly"
+ ( x :: xs )
+# 24300 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_aexpr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
+# 1958 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 24324 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = f;
- MenhirLib.EngineTypes.startp = _startpos_f_;
- MenhirLib.EngineTypes.endp = _endpos_f_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_loption_minus_start_ = Obj.magic b in
- let f : 'tv_loption_filespec_ = Obj.magic f in
- let _startpos = _startpos_f_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_minus_body =
-# 652 "parser_cocci_menhir.mly"
- ( match f@b(*@ew*) with
- [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
- | code -> Top_level.top_level code )
-# 20784 "parser_cocci_menhir.ml"
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24350 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_aexpr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
+# 1960 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24359 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = f;
- MenhirLib.EngineTypes.startp = _startpos_f_;
- MenhirLib.EngineTypes.endp = _endpos_f_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let b : 'tv_top_eexpr = Obj.magic b in
- let f : 'tv_loption_filespec_ = Obj.magic f in
- let _startpos = _startpos_f_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_minus_exp_body =
-# 666 "parser_cocci_menhir.mly"
- ( match f@[b](*@ew*) with
- [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
- | code -> Top_level.top_level code )
-# 20816 "parser_cocci_menhir.ml"
+ let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24391 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_aexpr = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
+# 1963 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 24401 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _1 : 'tv_minus_exp_body = Obj.magic _1 in
+ let _2 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : (
-# 142 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 20844 "parser_cocci_menhir.ml"
- ) =
-# 182 "parser_cocci_menhir.mly"
- ( _1 )
-# 20848 "parser_cocci_menhir.ml"
+ let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
+# 1966 "parser_cocci_menhir.mly"
+ ( _2 )
+# 24429 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24450 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
+# 1967 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 24457 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_minus_exp_body = Obj.magic m in
- let _startpos = _startpos_m_ in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24483 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24488 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
let _endpos = _endpos__2_ in
- let _v : (
-# 142 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 20876 "parser_cocci_menhir.ml"
- ) =
-# 182 "parser_cocci_menhir.mly"
- ( m )
-# 20880 "parser_cocci_menhir.ml"
+ let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
+# 1969 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24496 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let m : 'tv_minus_exp_body = Obj.magic m in
- let _startpos = _startpos_m_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 142 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 20908 "parser_cocci_menhir.ml"
- ) =
-# 183 "parser_cocci_menhir.mly"
- ( m )
-# 20912 "parser_cocci_menhir.ml"
+ let r : 'tv_continue_list_aexpr_TEllipsis_ = Obj.magic r in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24528 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24533 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ =
+# 1972 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ (build_dots "..." d)::
+ (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (r build_dots build_comma) )
+# 24543 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_dparam = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
+# 1958 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 24567 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _1 : 'tv_minus_body = Obj.magic _1 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24593 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_dparam = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : (
-# 139 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 20940 "parser_cocci_menhir.ml"
- ) =
-# 178 "parser_cocci_menhir.mly"
- ( _1 )
-# 20944 "parser_cocci_menhir.ml"
+ let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
+# 1960 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24602 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let m : 'tv_minus_body = Obj.magic m in
- let _startpos = _startpos_m_ in
- let _endpos = _endpos__2_ in
- let _v : (
-# 139 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 20972 "parser_cocci_menhir.ml"
- ) =
-# 178 "parser_cocci_menhir.mly"
- ( m )
-# 20976 "parser_cocci_menhir.ml"
+ let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24634 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_dparam = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
+# 1963 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 24644 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let m : 'tv_minus_body = Obj.magic m in
- let _startpos = _startpos_m_ in
+ let _2 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : (
-# 139 "parser_cocci_menhir.mly"
- (Ast0_cocci.rule)
-# 21004 "parser_cocci_menhir.ml"
- ) =
-# 179 "parser_cocci_menhir.mly"
- ( m )
-# 21008 "parser_cocci_menhir.ml"
+ let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
+# 1966 "parser_cocci_menhir.mly"
+ ( _2 )
+# 24672 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_fundecl = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_minus_start =
-# 1801 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.DECL(_1))] )
-# 21032 "parser_cocci_menhir.ml"
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24693 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
+# 1967 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 24700 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
} = _menhir_stack in
- let _1 : 'tv_ctype = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_minus_start =
-# 1802 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
-# 21056 "parser_cocci_menhir.ml"
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24726 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24731 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
+# 1969 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24739 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
- let _1 : 'tv_top_init = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_minus_start =
-# 1803 "parser_cocci_menhir.mly"
- ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
-# 21080 "parser_cocci_menhir.ml"
+ let r : 'tv_continue_list_dparam_TEllipsis_ = Obj.magic r in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24771 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 24776 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ =
+# 1972 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ (build_dots "..." d)::
+ (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (r build_dots build_comma) )
+# 24786 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in
+ let _1 : 'tv_enum_decl_one = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_minus_start =
-# 1805 "parser_cocci_menhir.mly"
- ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
-# 21104 "parser_cocci_menhir.ml"
+ let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 1958 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 24810 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_ctype = Obj.magic b in
- let a : (
-# 80 "parser_cocci_menhir.mly"
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 21131 "parser_cocci_menhir.ml"
- ) = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_mzl_ctype_ =
-# 1996 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 21138 "parser_cocci_menhir.ml"
+# 24836 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_enum_decl_one = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 1960 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24845 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let b : 'tv_eexpr = Obj.magic b in
- let a : (
-# 80 "parser_cocci_menhir.mly"
+ let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 21165 "parser_cocci_menhir.ml"
- ) = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_mzl_eexpr_ =
-# 1996 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 21172 "parser_cocci_menhir.ml"
+# 24877 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_enum_decl_one = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 1963 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 24887 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_fun_after_dots_or = Obj.magic b in
- let a : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21199 "parser_cocci_menhir.ml"
- ) = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_mzl_fun_after_dots_or_ =
-# 1996 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 21206 "parser_cocci_menhir.ml"
+ let _2 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 1966 "parser_cocci_menhir.mly"
+ ( _2 )
+# 24915 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let b : 'tv_fun_start = Obj.magic b in
- let a : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21233 "parser_cocci_menhir.ml"
- ) = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_mzl_fun_start_ =
-# 1996 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 21240 "parser_cocci_menhir.ml"
+ let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 1967 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 24939 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let b : 'tv_rule_elem_statement = Obj.magic b in
- let a : (
-# 80 "parser_cocci_menhir.mly"
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 21267 "parser_cocci_menhir.ml"
- ) = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_mzl_rule_elem_statement_ =
-# 1996 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 21274 "parser_cocci_menhir.ml"
+# 24965 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 1969 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24974 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = b;
- MenhirLib.EngineTypes.startp = _startpos_b_;
- MenhirLib.EngineTypes.endp = _endpos_b_;
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = a;
- MenhirLib.EngineTypes.startp = _startpos_a_;
- MenhirLib.EngineTypes.endp = _endpos_a_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let b : 'tv_statement = Obj.magic b in
- let a : (
-# 80 "parser_cocci_menhir.mly"
+ let r : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic r in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 21301 "parser_cocci_menhir.ml"
- ) = Obj.magic a in
- let _startpos = _startpos_a_ in
- let _endpos = _endpos_b_ in
- let _v : 'tv_mzl_statement_ =
-# 1996 "parser_cocci_menhir.mly"
- ( (P.clt2mcode "|" a, b) )
-# 21308 "parser_cocci_menhir.ml"
+# 25006 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ =
+# 1972 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ (build_dots "..." d)::
+ (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (r build_dots build_comma) )
+# 25017 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_decl = Obj.magic _1 in
+ let _1 : 'tv_initialize2 = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_name_opt_decl =
-# 877 "parser_cocci_menhir.mly"
- ( _1 )
-# 21332 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = rp1;
- MenhirLib.EngineTypes.startp = _startpos_rp1_;
- MenhirLib.EngineTypes.endp = _endpos_rp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp1;
- MenhirLib.EngineTypes.startp = _startpos_lp1_;
- MenhirLib.EngineTypes.endp = _endpos_lp1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = rp;
- MenhirLib.EngineTypes.startp = _startpos_rp_;
- MenhirLib.EngineTypes.endp = _endpos_rp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s;
- MenhirLib.EngineTypes.startp = _startpos_s_;
- MenhirLib.EngineTypes.endp = _endpos_s_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = lp;
- MenhirLib.EngineTypes.startp = _startpos_lp_;
- MenhirLib.EngineTypes.endp = _endpos_lp_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = t;
- MenhirLib.EngineTypes.startp = _startpos_t_;
- MenhirLib.EngineTypes.endp = _endpos_t_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- };
- };
- } = _menhir_stack in
- let rp1 : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21383 "parser_cocci_menhir.ml"
- ) = Obj.magic rp1 in
- let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
- let lp1 : (
-# 79 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21389 "parser_cocci_menhir.ml"
- ) = Obj.magic lp1 in
- let rp : (
-# 80 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21394 "parser_cocci_menhir.ml"
- ) = Obj.magic rp in
- let s : (
-# 102 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21399 "parser_cocci_menhir.ml"
- ) = Obj.magic s in
- let lp : (
-# 79 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21404 "parser_cocci_menhir.ml"
- ) = Obj.magic lp in
- let t : 'tv_ctype = Obj.magic t in
- let _startpos = _startpos_t_ in
- let _endpos = _endpos_rp1_ in
- let _v : 'tv_name_opt_decl =
-# 880 "parser_cocci_menhir.mly"
- ( let fnptr =
- Ast0.wrap
- (Ast0.FunctionPointer
- (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
- P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
- Ast0.wrap(Ast0.Param(fnptr, None)) )
-# 21417 "parser_cocci_menhir.ml"
+ let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 1958 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 25041 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_nest_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25067 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_initialize2 = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_nest_after_dots =
-# 1916 "parser_cocci_menhir.mly"
- (_1@_2)
-# 21447 "parser_cocci_menhir.ml"
+ let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 1960 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25076 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
- let _2 : 'tv_nest_after_exp = Obj.magic _2 in
+ let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25108 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_initialize2 = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_nest_after_dots =
-# 1917 "parser_cocci_menhir.mly"
- (_2)
-# 21475 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 1963 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 25118 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_nest_after_exp = Obj.magic _2 in
- let _1 : 'tv_expr = Obj.magic _1 in
+ let _2 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_nest_after_dots =
-# 1918 "parser_cocci_menhir.mly"
- ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 21505 "parser_cocci_menhir.ml"
+ let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 1966 "parser_cocci_menhir.mly"
+ ( _2 )
+# 25146 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_nest_after_exp =
-# 1926 "parser_cocci_menhir.mly"
- ([])
-# 21522 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 1967 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 25170 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_nest_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
- let _startpos = _startpos__1_ in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25196 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
+ let _startpos = _startpos_d_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_nest_after_exp =
-# 1927 "parser_cocci_menhir.mly"
- (_1::_2)
-# 21552 "parser_cocci_menhir.ml"
+ let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 1969 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25205 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
});
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
- let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
- let _endpos = _startpos in
- let _v : 'tv_nest_after_stm =
-# 1921 "parser_cocci_menhir.mly"
- ([])
-# 21569 "parser_cocci_menhir.ml"
+ let {
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let r : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic r in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25237 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ =
+# 1972 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ (build_dots "..." d)::
+ (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (r build_dots build_comma) )
+# 25248 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _2 : 'tv_nest_after_dots = Obj.magic _2 in
- let _1 : 'tv_stm_dots = Obj.magic _1 in
+ let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_nest_after_stm =
-# 1922 "parser_cocci_menhir.mly"
- (_1::_2)
-# 21599 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
+# 1958 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 25272 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_nest_after_stm = Obj.magic _2 in
- let _1 : 'tv_decl_statement = Obj.magic _1 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25298 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : 'tv_nest_after_stm =
-# 1923 "parser_cocci_menhir.mly"
- (_1@_2)
-# 21629 "parser_cocci_menhir.ml"
+ let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
+# 1960 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25307 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = _1;
};
};
} = _menhir_stack in
- let c : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21660 "parser_cocci_menhir.ml"
- ) = Obj.magic c in
- let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
- let _1 : (
-# 76 "parser_cocci_menhir.mly"
+ let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 21666 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+# 25339 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_c_ in
- let _v : 'tv_nest_expressions =
-# 1272 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
- Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
- P.clt2mcode "...>" c, None, false)) )
-# 21675 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
+# 1963 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 25349 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = c;
- MenhirLib.EngineTypes.startp = _startpos_c_;
- MenhirLib.EngineTypes.endp = _endpos_c_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = e;
- MenhirLib.EngineTypes.startp = _startpos_e_;
- MenhirLib.EngineTypes.endp = _endpos_e_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let c : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21706 "parser_cocci_menhir.ml"
- ) = Obj.magic c in
- let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
- let _1 : (
-# 76 "parser_cocci_menhir.mly"
- (Data.clt)
-# 21712 "parser_cocci_menhir.ml"
- ) = Obj.magic _1 in
+ let _2 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _2 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos_c_ in
- let _v : 'tv_nest_expressions =
-# 1276 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
- Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
- P.clt2mcode "...+>" c, None, true)) )
-# 21721 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
+# 1966 "parser_cocci_menhir.mly"
+ ( _2 )
+# 25377 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let _1 : 'tv_nest_after_dots = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_nest_start =
-# 1913 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 21745 "parser_cocci_menhir.ml"
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25398 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
+# 1967 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 25405 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25431 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25436 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
+# 1969 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25444 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let r : 'tv_continue_list_one_dec_decl__TEllipsis_ = Obj.magic r in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25476 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25481 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ =
+# 1972 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ (build_dots "..." d)::
+ (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (r build_dots build_comma) )
+# 25491 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
+ let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : (
-# 173 "parser_cocci_menhir.mly"
- (unit)
-# 21767 "parser_cocci_menhir.ml"
- ) =
-# 2063 "parser_cocci_menhir.mly"
- ( () )
-# 21771 "parser_cocci_menhir.ml"
+ let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 1958 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [_1] )
+# 25515 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
+ MenhirLib.EngineTypes.semv = _2;
MenhirLib.EngineTypes.startp = _startpos__2_;
MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
MenhirLib.EngineTypes.startp = _startpos__1_;
MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25541 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
- let _v : (
-# 173 "parser_cocci_menhir.mly"
- (unit)
-# 21797 "parser_cocci_menhir.ml"
- ) =
-# 2064 "parser_cocci_menhir.mly"
- ( () )
-# 21801 "parser_cocci_menhir.ml"
+ let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 1960 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25550 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = _3;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
} = _menhir_stack in
+ let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25582 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : (
-# 173 "parser_cocci_menhir.mly"
- (unit)
-# 21823 "parser_cocci_menhir.ml"
- ) =
-# 2065 "parser_cocci_menhir.mly"
- ( () )
-# 21827 "parser_cocci_menhir.ml"
+ let _endpos = _endpos__3_ in
+ let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 1963 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (_3 build_dots build_comma) )
+# 25592 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = dg;
- MenhirLib.EngineTypes.startp = _startpos_dg_;
- MenhirLib.EngineTypes.endp = _endpos_dg_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = g;
- MenhirLib.EngineTypes.startp = _startpos_g_;
- MenhirLib.EngineTypes.endp = _endpos_g_;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in
- let g : 'tv_dexpr = Obj.magic g in
- let _startpos = _startpos_g_ in
- let _endpos = _endpos_dg_ in
- let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ =
-# 1442 "parser_cocci_menhir.mly"
- ( function dot_builder ->
- g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
-# 21858 "parser_cocci_menhir.ml"
+ let _2 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _2 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 1966 "parser_cocci_menhir.mly"
+ ( _2 )
+# 25620 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
- let x : (
-# 102 "parser_cocci_menhir.mly"
+ let d : (
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 21879 "parser_cocci_menhir.ml"
- ) = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_x_ in
- let _v : 'tv_nonempty_list_TMul_ =
-# 124 "standard.mly"
- ( [ x ] )
-# 21886 "parser_cocci_menhir.ml"
+# 25641 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_d_ in
+ let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 1967 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 25648 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
(fun _menhir_env ->
let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
let {
- MenhirLib.EngineTypes.semv = xs;
- MenhirLib.EngineTypes.startp = _startpos_xs_;
- MenhirLib.EngineTypes.endp = _endpos_xs_;
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x;
- MenhirLib.EngineTypes.startp = _startpos_x_;
- MenhirLib.EngineTypes.endp = _endpos_x_;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
- let x : (
-# 102 "parser_cocci_menhir.mly"
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 21913 "parser_cocci_menhir.ml"
- ) = Obj.magic x in
- let _startpos = _startpos_x_ in
- let _endpos = _endpos_xs_ in
- let _v : 'tv_nonempty_list_TMul_ =
-# 126 "standard.mly"
- ( x :: xs )
-# 21920 "parser_cocci_menhir.ml"
+# 25674 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25679 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 1969 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25687 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let r : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = Obj.magic r in
+ let _2 : (
+# 175 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25719 "parser_cocci_menhir.ml"
+ ) = Obj.magic _2 in
+ let d : (
+# 141 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 25724 "parser_cocci_menhir.ml"
+ ) = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ =
+# 1972 "parser_cocci_menhir.mly"
+ ( fun build_dots build_comma ->
+ (build_dots "..." d)::
+ (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+ (r build_dots build_comma) )
+# 25734 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos_i_ in
let _v : 'tv_not_ceq =
-# 1615 "parser_cocci_menhir.mly"
+# 1795 "parser_cocci_menhir.mly"
( (if !Data.in_iso
then failwith "constraints not allowed in iso file");
(if !Data.in_generating
then failwith "constraints not allowed in a generated rule file");
[i] )
-# 21952 "parser_cocci_menhir.ml"
+# 25766 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_not_ceq =
-# 1621 "parser_cocci_menhir.mly"
+# 1801 "parser_cocci_menhir.mly"
( (if !Data.in_iso
then failwith "constraints not allowed in iso file");
(if !Data.in_generating
then failwith "constraints not allowed in a generated rule file");
l )
-# 21992 "parser_cocci_menhir.ml"
+# 25806 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_ceq_ in
let _endpos = _endpos_ceq_ in
let _v : 'tv_not_ceq_or_sub =
-# 1591 "parser_cocci_menhir.mly"
+# 1771 "parser_cocci_menhir.mly"
(Ast0.NotExpCstrt ceq)
-# 22016 "parser_cocci_menhir.ml"
+# 25830 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_s_ in
let _endpos = _endpos_s_ in
let _v : 'tv_not_ceq_or_sub =
-# 1592 "parser_cocci_menhir.mly"
+# 1772 "parser_cocci_menhir.mly"
(Ast0.SubExpCstrt s)
-# 22040 "parser_cocci_menhir.ml"
+# 25854 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos_i_ in
let _v : 'tv_not_eqe =
-# 1596 "parser_cocci_menhir.mly"
+# 1776 "parser_cocci_menhir.mly"
( (if !Data.in_iso
then failwith "constraints not allowed in iso file");
(if !Data.in_generating
then failwith "constraints not allowed in a generated rule file");
[Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))]
)
-# 22073 "parser_cocci_menhir.ml"
+# 25887 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_not_eqe =
-# 1603 "parser_cocci_menhir.mly"
+# 1783 "parser_cocci_menhir.mly"
( (if !Data.in_iso
then failwith "constraints not allowed in iso file");
(if !Data.in_generating
Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))))
l
)
-# 22117 "parser_cocci_menhir.ml"
+# 25931 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos_i_ in
let _v : 'tv_not_eqid =
-# 1553 "parser_cocci_menhir.mly"
+# 1733 "parser_cocci_menhir.mly"
( (if !Data.in_iso
then failwith "constraints not allowed in iso file");
(if !Data.in_generating
(function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
Ast.IdNegIdSet([],[i])
| (None,i) -> Ast.IdNegIdSet([i],[])) )
-# 22157 "parser_cocci_menhir.ml"
+# 25971 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_not_eqid =
-# 1567 "parser_cocci_menhir.mly"
+# 1747 "parser_cocci_menhir.mly"
( (if !Data.in_iso
then failwith "constraints not allowed in iso file");
(if !Data.in_generating
([],[]) l in
Ast.IdNegIdSet(str,meta)
)
-# 22209 "parser_cocci_menhir.ml"
+# 26023 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos_i_ in
let _v : 'tv_not_pos =
-# 1659 "parser_cocci_menhir.mly"
+# 1839 "parser_cocci_menhir.mly"
( (if !Data.in_iso
then failwith "constraints not allowed in iso file");
(if !Data.in_generating
P.check_inherited_constraint i
(function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in
[i] )
-# 22244 "parser_cocci_menhir.ml"
+# 26058 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_not_pos =
-# 1668 "parser_cocci_menhir.mly"
+# 1848 "parser_cocci_menhir.mly"
( (if !Data.in_iso
then failwith "constraints not allowed in iso file");
(if !Data.in_generating
P.check_inherited_constraint i
(function mv -> Ast.MetaPosDecl(Ast.NONE,mv)))
l )
-# 22288 "parser_cocci_menhir.ml"
+# 26102 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_one_dec_decl_ =
-# 1738 "parser_cocci_menhir.mly"
+# 1933 "parser_cocci_menhir.mly"
( _1 )
-# 22312 "parser_cocci_menhir.ml"
+# 26126 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 69 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
(Parse_aux.list_info)
-# 22333 "parser_cocci_menhir.ml"
+# 26147 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_one_dec_decl_ =
-# 1740 "parser_cocci_menhir.mly"
+# 1935 "parser_cocci_menhir.mly"
( let (nm,lenname,pure,clt) = _1 in
let nm = P.clt2mcode nm clt in
let lenname =
| Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
| Ast.CstLen n -> Ast0.CstListLen n in
Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
-# 22347 "parser_cocci_menhir.ml"
+# 26161 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_one_dec_name_opt_decl_ =
-# 1738 "parser_cocci_menhir.mly"
+# 1933 "parser_cocci_menhir.mly"
( _1 )
-# 22371 "parser_cocci_menhir.ml"
+# 26185 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 69 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
(Parse_aux.list_info)
-# 22392 "parser_cocci_menhir.ml"
+# 26206 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_one_dec_name_opt_decl_ =
-# 1740 "parser_cocci_menhir.mly"
+# 1935 "parser_cocci_menhir.mly"
( let (nm,lenname,pure,clt) = _1 in
let nm = P.clt2mcode nm clt in
let lenname =
| Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
| Ast.CstLen n -> Ast0.CstListLen n in
Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
-# 22406 "parser_cocci_menhir.ml"
+# 26220 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 22432 "parser_cocci_menhir.ml"
+# 26246 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let t : 'tv_ctype = Obj.magic t in
let _startpos = _startpos_t_ in
let _endpos = _endpos_pv_ in
let _v : 'tv_one_decl_var =
-# 1056 "parser_cocci_menhir.mly"
+# 1204 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
-# 22440 "parser_cocci_menhir.ml"
+# 26254 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 68 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 22461 "parser_cocci_menhir.ml"
+# 26275 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_one_decl_var =
-# 1057 "parser_cocci_menhir.mly"
+# 1205 "parser_cocci_menhir.mly"
( P.meta_decl _1 )
-# 22468 "parser_cocci_menhir.ml"
+# 26282 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 22499 "parser_cocci_menhir.ml"
+# 26313 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let d : 'tv_d_ident = Obj.magic d in
let t : 'tv_ctype = Obj.magic t in
# 39 "standard.mly"
( None )
-# 22509 "parser_cocci_menhir.ml"
+# 26323 "parser_cocci_menhir.ml"
in
-# 1059 "parser_cocci_menhir.mly"
+# 1207 "parser_cocci_menhir.mly"
( let (id,fn) = d in
Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 22516 "parser_cocci_menhir.ml"
+# 26330 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 22552 "parser_cocci_menhir.ml"
+# 26366 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let d : 'tv_d_ident = Obj.magic d in
let t : 'tv_ctype = Obj.magic t in
# 41 "standard.mly"
( Some x )
-# 22564 "parser_cocci_menhir.ml"
+# 26378 "parser_cocci_menhir.ml"
in
-# 1059 "parser_cocci_menhir.mly"
+# 1207 "parser_cocci_menhir.mly"
( let (id,fn) = d in
Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 22571 "parser_cocci_menhir.ml"
+# 26385 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_f_ in
let _endpos = _endpos_f_ in
let _v : 'tv_one_decl_var =
-# 1061 "parser_cocci_menhir.mly"
+# 1209 "parser_cocci_menhir.mly"
( f )
-# 22595 "parser_cocci_menhir.ml"
+# 26409 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 22636 "parser_cocci_menhir.ml"
+# 26450 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let e : 'tv_initialize = Obj.magic e in
let q : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 22642 "parser_cocci_menhir.ml"
+# 26456 "parser_cocci_menhir.ml"
) = Obj.magic q in
let d : 'tv_d_ident = Obj.magic d in
let t : 'tv_ctype = Obj.magic t in
# 39 "standard.mly"
( None )
-# 22652 "parser_cocci_menhir.ml"
+# 26466 "parser_cocci_menhir.ml"
in
-# 1063 "parser_cocci_menhir.mly"
+# 1211 "parser_cocci_menhir.mly"
( let (id,fn) = d in
Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
-# 22659 "parser_cocci_menhir.ml"
+# 26473 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 22705 "parser_cocci_menhir.ml"
+# 26519 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let e : 'tv_initialize = Obj.magic e in
let q : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 22711 "parser_cocci_menhir.ml"
+# 26525 "parser_cocci_menhir.ml"
) = Obj.magic q in
let d : 'tv_d_ident = Obj.magic d in
let t : 'tv_ctype = Obj.magic t in
# 41 "standard.mly"
( Some x )
-# 22723 "parser_cocci_menhir.ml"
+# 26537 "parser_cocci_menhir.ml"
in
-# 1063 "parser_cocci_menhir.mly"
+# 1211 "parser_cocci_menhir.mly"
( let (id,fn) = d in
Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
-# 22730 "parser_cocci_menhir.ml"
+# 26544 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 22761 "parser_cocci_menhir.ml"
+# 26575 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let d : 'tv_d_ident = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
# 39 "standard.mly"
( None )
-# 22771 "parser_cocci_menhir.ml"
+# 26585 "parser_cocci_menhir.ml"
in
let s =
# 39 "standard.mly"
( None )
-# 22778 "parser_cocci_menhir.ml"
+# 26592 "parser_cocci_menhir.ml"
in
-# 1068 "parser_cocci_menhir.mly"
+# 1216 "parser_cocci_menhir.mly"
( let (id,fn) = d in
let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
-# 22786 "parser_cocci_menhir.ml"
+# 26600 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 22822 "parser_cocci_menhir.ml"
+# 26636 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let d : 'tv_d_ident = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
# 41 "standard.mly"
( Some x )
-# 22834 "parser_cocci_menhir.ml"
+# 26648 "parser_cocci_menhir.ml"
in
let s =
# 39 "standard.mly"
( None )
-# 22841 "parser_cocci_menhir.ml"
+# 26655 "parser_cocci_menhir.ml"
in
-# 1068 "parser_cocci_menhir.mly"
+# 1216 "parser_cocci_menhir.mly"
( let (id,fn) = d in
let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
-# 22849 "parser_cocci_menhir.ml"
+# 26663 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 22885 "parser_cocci_menhir.ml"
+# 26699 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let d : 'tv_d_ident = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
# 39 "standard.mly"
( None )
-# 22896 "parser_cocci_menhir.ml"
+# 26710 "parser_cocci_menhir.ml"
in
let s =
# 41 "standard.mly"
( Some x )
-# 22904 "parser_cocci_menhir.ml"
+# 26718 "parser_cocci_menhir.ml"
in
-# 1068 "parser_cocci_menhir.mly"
+# 1216 "parser_cocci_menhir.mly"
( let (id,fn) = d in
let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
-# 22912 "parser_cocci_menhir.ml"
+# 26726 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 22953 "parser_cocci_menhir.ml"
+# 26767 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let d : 'tv_d_ident = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
# 41 "standard.mly"
( Some x )
-# 22966 "parser_cocci_menhir.ml"
+# 26780 "parser_cocci_menhir.ml"
in
let s =
# 41 "standard.mly"
( Some x )
-# 22974 "parser_cocci_menhir.ml"
+# 26788 "parser_cocci_menhir.ml"
in
-# 1068 "parser_cocci_menhir.mly"
+# 1216 "parser_cocci_menhir.mly"
( let (id,fn) = d in
let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
-# 22982 "parser_cocci_menhir.ml"
+# 26796 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 23023 "parser_cocci_menhir.ml"
+# 26837 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let e : 'tv_initialize = Obj.magic e in
let q : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 23029 "parser_cocci_menhir.ml"
+# 26843 "parser_cocci_menhir.ml"
) = Obj.magic q in
let d : 'tv_d_ident = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
# 39 "standard.mly"
( None )
-# 23039 "parser_cocci_menhir.ml"
+# 26853 "parser_cocci_menhir.ml"
in
let s =
# 39 "standard.mly"
( None )
-# 23046 "parser_cocci_menhir.ml"
+# 26860 "parser_cocci_menhir.ml"
in
-# 1073 "parser_cocci_menhir.mly"
+# 1221 "parser_cocci_menhir.mly"
( let (id,fn) = d in
!Data.add_type_name (P.id2name i);
let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
P.clt2mcode ";" pv)) )
-# 23056 "parser_cocci_menhir.ml"
+# 26870 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 23102 "parser_cocci_menhir.ml"
+# 26916 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let e : 'tv_initialize = Obj.magic e in
let q : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 23108 "parser_cocci_menhir.ml"
+# 26922 "parser_cocci_menhir.ml"
) = Obj.magic q in
let d : 'tv_d_ident = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
# 41 "standard.mly"
( Some x )
-# 23120 "parser_cocci_menhir.ml"
+# 26934 "parser_cocci_menhir.ml"
in
let s =
# 39 "standard.mly"
( None )
-# 23127 "parser_cocci_menhir.ml"
+# 26941 "parser_cocci_menhir.ml"
in
-# 1073 "parser_cocci_menhir.mly"
+# 1221 "parser_cocci_menhir.mly"
( let (id,fn) = d in
!Data.add_type_name (P.id2name i);
let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
P.clt2mcode ";" pv)) )
-# 23137 "parser_cocci_menhir.ml"
+# 26951 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 23183 "parser_cocci_menhir.ml"
+# 26997 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let e : 'tv_initialize = Obj.magic e in
let q : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 23189 "parser_cocci_menhir.ml"
+# 27003 "parser_cocci_menhir.ml"
) = Obj.magic q in
let d : 'tv_d_ident = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
# 39 "standard.mly"
( None )
-# 23200 "parser_cocci_menhir.ml"
+# 27014 "parser_cocci_menhir.ml"
in
let s =
# 41 "standard.mly"
( Some x )
-# 23208 "parser_cocci_menhir.ml"
+# 27022 "parser_cocci_menhir.ml"
in
-# 1073 "parser_cocci_menhir.mly"
+# 1221 "parser_cocci_menhir.mly"
( let (id,fn) = d in
!Data.add_type_name (P.id2name i);
let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
P.clt2mcode ";" pv)) )
-# 23218 "parser_cocci_menhir.ml"
+# 27032 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 23269 "parser_cocci_menhir.ml"
+# 27083 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let e : 'tv_initialize = Obj.magic e in
let q : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 23275 "parser_cocci_menhir.ml"
+# 27089 "parser_cocci_menhir.ml"
) = Obj.magic q in
let d : 'tv_d_ident = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
# 41 "standard.mly"
( Some x )
-# 23288 "parser_cocci_menhir.ml"
+# 27102 "parser_cocci_menhir.ml"
in
let s =
# 41 "standard.mly"
( Some x )
-# 23296 "parser_cocci_menhir.ml"
+# 27110 "parser_cocci_menhir.ml"
in
-# 1073 "parser_cocci_menhir.mly"
+# 1221 "parser_cocci_menhir.mly"
( let (id,fn) = d in
!Data.add_type_name (P.id2name i);
let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
P.clt2mcode ";" pv)) )
-# 23306 "parser_cocci_menhir.ml"
+# 27120 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 23367 "parser_cocci_menhir.ml"
+# 27181 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let rp2 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 23372 "parser_cocci_menhir.ml"
+# 27186 "parser_cocci_menhir.ml"
) = Obj.magic rp2 in
let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
let lp2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 23378 "parser_cocci_menhir.ml"
+# 27192 "parser_cocci_menhir.ml"
) = Obj.magic lp2 in
let rp1 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 23383 "parser_cocci_menhir.ml"
+# 27197 "parser_cocci_menhir.ml"
) = Obj.magic rp1 in
let d : 'tv_d_ident = Obj.magic d in
let st : (
-# 102 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 23389 "parser_cocci_menhir.ml"
+# 27203 "parser_cocci_menhir.ml"
) = Obj.magic st in
let lp1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 23394 "parser_cocci_menhir.ml"
+# 27208 "parser_cocci_menhir.ml"
) = Obj.magic lp1 in
let t : 'tv_ctype = Obj.magic t in
let _startpos = _startpos_t_ in
# 39 "standard.mly"
( None )
-# 23403 "parser_cocci_menhir.ml"
+# 27217 "parser_cocci_menhir.ml"
in
-# 1083 "parser_cocci_menhir.mly"
+# 1231 "parser_cocci_menhir.mly"
( let (id,fn) = d in
let t =
Ast0.wrap
(t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 23415 "parser_cocci_menhir.ml"
+# 27229 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 23481 "parser_cocci_menhir.ml"
+# 27295 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let rp2 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 23486 "parser_cocci_menhir.ml"
+# 27300 "parser_cocci_menhir.ml"
) = Obj.magic rp2 in
let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
let lp2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 23492 "parser_cocci_menhir.ml"
+# 27306 "parser_cocci_menhir.ml"
) = Obj.magic lp2 in
let rp1 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 23497 "parser_cocci_menhir.ml"
+# 27311 "parser_cocci_menhir.ml"
) = Obj.magic rp1 in
let d : 'tv_d_ident = Obj.magic d in
let st : (
-# 102 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 23503 "parser_cocci_menhir.ml"
+# 27317 "parser_cocci_menhir.ml"
) = Obj.magic st in
let lp1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 23508 "parser_cocci_menhir.ml"
+# 27322 "parser_cocci_menhir.ml"
) = Obj.magic lp1 in
let t : 'tv_ctype = Obj.magic t in
let x0 : 'tv_storage = Obj.magic x0 in
# 41 "standard.mly"
( Some x )
-# 23519 "parser_cocci_menhir.ml"
+# 27333 "parser_cocci_menhir.ml"
in
-# 1083 "parser_cocci_menhir.mly"
+# 1231 "parser_cocci_menhir.mly"
( let (id,fn) = d in
let t =
Ast0.wrap
(t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 23531 "parser_cocci_menhir.ml"
+# 27345 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _5 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 23572 "parser_cocci_menhir.ml"
+# 27386 "parser_cocci_menhir.ml"
) = Obj.magic _5 in
let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 23577 "parser_cocci_menhir.ml"
+# 27391 "parser_cocci_menhir.ml"
) = Obj.magic _4 in
let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 23583 "parser_cocci_menhir.ml"
+# 27397 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_decl_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__5_ in
let _v : 'tv_one_decl_var =
-# 1091 "parser_cocci_menhir.mly"
+# 1239 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
-# 23592 "parser_cocci_menhir.ml"
+# 27406 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 23663 "parser_cocci_menhir.ml"
+# 27477 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let e : 'tv_initialize = Obj.magic e in
let q : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 23669 "parser_cocci_menhir.ml"
+# 27483 "parser_cocci_menhir.ml"
) = Obj.magic q in
let rp2 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 23674 "parser_cocci_menhir.ml"
+# 27488 "parser_cocci_menhir.ml"
) = Obj.magic rp2 in
let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
let lp2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 23680 "parser_cocci_menhir.ml"
+# 27494 "parser_cocci_menhir.ml"
) = Obj.magic lp2 in
let rp1 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 23685 "parser_cocci_menhir.ml"
+# 27499 "parser_cocci_menhir.ml"
) = Obj.magic rp1 in
let d : 'tv_d_ident = Obj.magic d in
let st : (
-# 102 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 23691 "parser_cocci_menhir.ml"
+# 27505 "parser_cocci_menhir.ml"
) = Obj.magic st in
let lp1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 23696 "parser_cocci_menhir.ml"
+# 27510 "parser_cocci_menhir.ml"
) = Obj.magic lp1 in
let t : 'tv_ctype = Obj.magic t in
let _startpos = _startpos_t_ in
# 39 "standard.mly"
( None )
-# 23705 "parser_cocci_menhir.ml"
+# 27519 "parser_cocci_menhir.ml"
in
-# 1097 "parser_cocci_menhir.mly"
+# 1245 "parser_cocci_menhir.mly"
( let (id,fn) = d in
let t =
Ast0.wrap
(t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
-# 23717 "parser_cocci_menhir.ml"
+# 27531 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 23793 "parser_cocci_menhir.ml"
+# 27607 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let e : 'tv_initialize = Obj.magic e in
let q : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 23799 "parser_cocci_menhir.ml"
+# 27613 "parser_cocci_menhir.ml"
) = Obj.magic q in
let rp2 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 23804 "parser_cocci_menhir.ml"
+# 27618 "parser_cocci_menhir.ml"
) = Obj.magic rp2 in
let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
let lp2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 23810 "parser_cocci_menhir.ml"
+# 27624 "parser_cocci_menhir.ml"
) = Obj.magic lp2 in
let rp1 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 23815 "parser_cocci_menhir.ml"
+# 27629 "parser_cocci_menhir.ml"
) = Obj.magic rp1 in
let d : 'tv_d_ident = Obj.magic d in
let st : (
-# 102 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 23821 "parser_cocci_menhir.ml"
+# 27635 "parser_cocci_menhir.ml"
) = Obj.magic st in
let lp1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 23826 "parser_cocci_menhir.ml"
+# 27640 "parser_cocci_menhir.ml"
) = Obj.magic lp1 in
let t : 'tv_ctype = Obj.magic t in
let x0 : 'tv_storage = Obj.magic x0 in
# 41 "standard.mly"
( Some x )
-# 23837 "parser_cocci_menhir.ml"
+# 27651 "parser_cocci_menhir.ml"
in
-# 1097 "parser_cocci_menhir.mly"
+# 1245 "parser_cocci_menhir.mly"
( let (id,fn) = d in
let t =
Ast0.wrap
(t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
-# 23849 "parser_cocci_menhir.ml"
+# 27663 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_option_TLocal_ =
# 29 "standard.mly"
( None )
-# 23866 "parser_cocci_menhir.ml"
+# 27680 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_option_TLocal_ =
# 31 "standard.mly"
( Some x )
-# 23890 "parser_cocci_menhir.ml"
+# 27704 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_option_TPosAny_ =
# 29 "standard.mly"
( None )
-# 23907 "parser_cocci_menhir.ml"
+# 27721 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_option_TPosAny_ =
# 31 "standard.mly"
( Some x )
-# 23931 "parser_cocci_menhir.ml"
+# 27745 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_option_eexpr_ =
# 29 "standard.mly"
( None )
-# 23948 "parser_cocci_menhir.ml"
+# 27762 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_option_eexpr_ =
# 31 "standard.mly"
( Some x )
-# 23972 "parser_cocci_menhir.ml"
+# 27786 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_option_not_ceq_or_sub_ =
# 29 "standard.mly"
( None )
-# 23989 "parser_cocci_menhir.ml"
+# 27803 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_option_not_ceq_or_sub_ =
# 31 "standard.mly"
( Some x )
-# 24013 "parser_cocci_menhir.ml"
+# 27827 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_option_re_or_not_eqe_or_sub_ =
# 29 "standard.mly"
( None )
-# 24030 "parser_cocci_menhir.ml"
+# 27844 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_option_re_or_not_eqe_or_sub_ =
# 31 "standard.mly"
( Some x )
-# 24054 "parser_cocci_menhir.ml"
+# 27868 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_option_re_or_not_eqid_ =
# 29 "standard.mly"
( None )
-# 24071 "parser_cocci_menhir.ml"
+# 27885 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_option_re_or_not_eqid_ =
# 31 "standard.mly"
( Some x )
-# 24095 "parser_cocci_menhir.ml"
+# 27909 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
let _v : 'tv_plus_after_dots =
-# 1863 "parser_cocci_menhir.mly"
+# 2098 "parser_cocci_menhir.mly"
([])
-# 24112 "parser_cocci_menhir.ml"
+# 27926 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_plus_after_dots =
-# 1864 "parser_cocci_menhir.mly"
+# 2099 "parser_cocci_menhir.mly"
(_2)
-# 24140 "parser_cocci_menhir.ml"
+# 27954 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_plus_after_dots =
-# 1866 "parser_cocci_menhir.mly"
+# 2101 "parser_cocci_menhir.mly"
( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
-# 24170 "parser_cocci_menhir.ml"
+# 27984 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_plus_after_dots =
-# 1867 "parser_cocci_menhir.mly"
+# 2102 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 24200 "parser_cocci_menhir.ml"
+# 28014 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_plus_after_dots =
-# 1869 "parser_cocci_menhir.mly"
+# 2104 "parser_cocci_menhir.mly"
( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 24230 "parser_cocci_menhir.ml"
+# 28044 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
let _v : 'tv_plus_after_exp =
-# 1859 "parser_cocci_menhir.mly"
+# 2094 "parser_cocci_menhir.mly"
([])
-# 24247 "parser_cocci_menhir.ml"
+# 28061 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_plus_after_exp =
-# 1860 "parser_cocci_menhir.mly"
+# 2095 "parser_cocci_menhir.mly"
( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 24277 "parser_cocci_menhir.ml"
+# 28091 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
let _v : 'tv_plus_after_stm =
-# 1872 "parser_cocci_menhir.mly"
+# 2107 "parser_cocci_menhir.mly"
([])
-# 24294 "parser_cocci_menhir.ml"
+# 28108 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_plus_after_stm =
-# 1873 "parser_cocci_menhir.mly"
+# 2108 "parser_cocci_menhir.mly"
( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 24324 "parser_cocci_menhir.ml"
+# 28138 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_plus_after_stm =
-# 1874 "parser_cocci_menhir.mly"
+# 2109 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 24354 "parser_cocci_menhir.ml"
+# 28168 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_plus_after_stm =
-# 1876 "parser_cocci_menhir.mly"
+# 2111 "parser_cocci_menhir.mly"
( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 24384 "parser_cocci_menhir.ml"
+# 28198 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_f_ in
let _endpos = _endpos_b_ in
let _v : 'tv_plus_body =
-# 660 "parser_cocci_menhir.mly"
+# 810 "parser_cocci_menhir.mly"
( Top_level.top_level (f@b(*@ew*)) )
-# 24414 "parser_cocci_menhir.ml"
+# 28228 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_f_ in
let _endpos = _endpos_b_ in
let _v : 'tv_plus_exp_body =
-# 674 "parser_cocci_menhir.mly"
+# 824 "parser_cocci_menhir.mly"
( Top_level.top_level (f@[b](*@ew*)) )
-# 24444 "parser_cocci_menhir.ml"
+# 28258 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : (
-# 148 "parser_cocci_menhir.mly"
+# 213 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 24472 "parser_cocci_menhir.ml"
+# 28286 "parser_cocci_menhir.ml"
) =
-# 184 "parser_cocci_menhir.mly"
+# 249 "parser_cocci_menhir.mly"
( _1 )
-# 24476 "parser_cocci_menhir.ml"
+# 28290 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_p_ in
let _endpos = _endpos__2_ in
let _v : (
-# 148 "parser_cocci_menhir.mly"
+# 213 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 24504 "parser_cocci_menhir.ml"
+# 28318 "parser_cocci_menhir.ml"
) =
-# 184 "parser_cocci_menhir.mly"
+# 249 "parser_cocci_menhir.mly"
( p )
-# 24508 "parser_cocci_menhir.ml"
+# 28322 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_p_ in
let _endpos = _endpos__2_ in
let _v : (
-# 148 "parser_cocci_menhir.mly"
+# 213 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 24536 "parser_cocci_menhir.ml"
+# 28350 "parser_cocci_menhir.ml"
) =
-# 185 "parser_cocci_menhir.mly"
+# 250 "parser_cocci_menhir.mly"
( p )
-# 24540 "parser_cocci_menhir.ml"
+# 28354 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : (
-# 145 "parser_cocci_menhir.mly"
+# 210 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 24568 "parser_cocci_menhir.ml"
+# 28382 "parser_cocci_menhir.ml"
) =
-# 180 "parser_cocci_menhir.mly"
+# 245 "parser_cocci_menhir.mly"
( _1 )
-# 24572 "parser_cocci_menhir.ml"
+# 28386 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_p_ in
let _endpos = _endpos__2_ in
let _v : (
-# 145 "parser_cocci_menhir.mly"
+# 210 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 24600 "parser_cocci_menhir.ml"
+# 28414 "parser_cocci_menhir.ml"
) =
-# 180 "parser_cocci_menhir.mly"
+# 245 "parser_cocci_menhir.mly"
( p )
-# 24604 "parser_cocci_menhir.ml"
+# 28418 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_p_ in
let _endpos = _endpos__2_ in
let _v : (
-# 145 "parser_cocci_menhir.mly"
+# 210 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 24632 "parser_cocci_menhir.ml"
+# 28446 "parser_cocci_menhir.ml"
) =
-# 181 "parser_cocci_menhir.mly"
+# 246 "parser_cocci_menhir.mly"
( p )
-# 24636 "parser_cocci_menhir.ml"
+# 28450 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_plus_start =
-# 1848 "parser_cocci_menhir.mly"
+# 2083 "parser_cocci_menhir.mly"
( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
-# 24660 "parser_cocci_menhir.ml"
+# 28474 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_plus_start =
-# 1849 "parser_cocci_menhir.mly"
+# 2084 "parser_cocci_menhir.mly"
( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
-# 24684 "parser_cocci_menhir.ml"
+# 28498 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_plus_start =
-# 1851 "parser_cocci_menhir.mly"
+# 2086 "parser_cocci_menhir.mly"
( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 24714 "parser_cocci_menhir.ml"
+# 28528 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_plus_start =
-# 1853 "parser_cocci_menhir.mly"
+# 2088 "parser_cocci_menhir.mly"
( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
-# 24744 "parser_cocci_menhir.ml"
+# 28558 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_plus_start =
-# 1854 "parser_cocci_menhir.mly"
+# 2089 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 24774 "parser_cocci_menhir.ml"
+# 28588 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_plus_start =
-# 1856 "parser_cocci_menhir.mly"
+# 2091 "parser_cocci_menhir.mly"
( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 24804 "parser_cocci_menhir.ml"
+# 28618 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 49 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(string)
-# 24825 "parser_cocci_menhir.ml"
+# 28639 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pnrule =
-# 235 "parser_cocci_menhir.mly"
+# 300 "parser_cocci_menhir.mly"
( Ast.Dep _1 )
-# 24832 "parser_cocci_menhir.ml"
+# 28646 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 49 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(string)
-# 24857 "parser_cocci_menhir.ml"
+# 28671 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_pnrule =
-# 236 "parser_cocci_menhir.mly"
+# 301 "parser_cocci_menhir.mly"
( Ast.AntiDep _2 )
-# 24864 "parser_cocci_menhir.ml"
+# 28678 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 49 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(string)
-# 24889 "parser_cocci_menhir.ml"
+# 28703 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_pnrule =
-# 237 "parser_cocci_menhir.mly"
+# 302 "parser_cocci_menhir.mly"
( Ast.EverDep _2 )
-# 24896 "parser_cocci_menhir.ml"
+# 28710 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 49 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(string)
-# 24921 "parser_cocci_menhir.ml"
+# 28735 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_pnrule =
-# 238 "parser_cocci_menhir.mly"
+# 303 "parser_cocci_menhir.mly"
( Ast.NeverDep _2 )
-# 24928 "parser_cocci_menhir.ml"
+# 28742 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_pnrule =
-# 239 "parser_cocci_menhir.mly"
+# 304 "parser_cocci_menhir.mly"
( _2 )
-# 24960 "parser_cocci_menhir.ml"
+# 28774 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1375 "parser_cocci_menhir.mly"
+# 1547 "parser_cocci_menhir.mly"
( _1 )
-# 24984 "parser_cocci_menhir.ml"
+# 28798 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _4 : (
-# 105 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 25020 "parser_cocci_menhir.ml"
+# 28834 "parser_cocci_menhir.ml"
) = Obj.magic _4 in
let _3 : 'tv_eexpr = Obj.magic _3 in
let _2 : (
-# 105 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 25026 "parser_cocci_menhir.ml"
+# 28840 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1377 "parser_cocci_menhir.mly"
+# 1549 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
P.clt2mcode "]" _4)) )
-# 25035 "parser_cocci_menhir.ml"
+# 28849 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
+ let _3 : 'tv_disj_ident = Obj.magic _3 in
let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 25067 "parser_cocci_menhir.ml"
+# 28881 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1380 "parser_cocci_menhir.mly"
+# 1552 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 25075 "parser_cocci_menhir.ml"
+# 28889 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
+ let _3 : 'tv_disj_ident = Obj.magic _3 in
let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 172 "parser_cocci_menhir.mly"
(Data.clt)
-# 25107 "parser_cocci_menhir.ml"
+# 28921 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1382 "parser_cocci_menhir.mly"
+# 1554 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
_3)) )
-# 25116 "parser_cocci_menhir.ml"
+# 28930 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 25142 "parser_cocci_menhir.ml"
+# 28956 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1385 "parser_cocci_menhir.mly"
+# 1557 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 25150 "parser_cocci_menhir.ml"
+# 28964 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 25176 "parser_cocci_menhir.ml"
+# 28990 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1387 "parser_cocci_menhir.mly"
+# 1559 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 25184 "parser_cocci_menhir.ml"
+# 28998 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 25220 "parser_cocci_menhir.ml"
+# 29034 "parser_cocci_menhir.ml"
) = Obj.magic _4 in
let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 25226 "parser_cocci_menhir.ml"
+# 29040 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_postfix_expr_eexpr_dot_expressions_ =
-# 1389 "parser_cocci_menhir.mly"
+# 1561 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
_3,
P.clt2mcode ")" _4)) )
-# 25236 "parser_cocci_menhir.ml"
+# 29050 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1375 "parser_cocci_menhir.mly"
+# 1547 "parser_cocci_menhir.mly"
( _1 )
-# 25260 "parser_cocci_menhir.ml"
+# 29074 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _4 : (
-# 105 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 25296 "parser_cocci_menhir.ml"
+# 29110 "parser_cocci_menhir.ml"
) = Obj.magic _4 in
let _3 : 'tv_eexpr = Obj.magic _3 in
let _2 : (
-# 105 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 25302 "parser_cocci_menhir.ml"
+# 29116 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1377 "parser_cocci_menhir.mly"
+# 1549 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
P.clt2mcode "]" _4)) )
-# 25311 "parser_cocci_menhir.ml"
+# 29125 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
+ let _3 : 'tv_disj_ident = Obj.magic _3 in
let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 25343 "parser_cocci_menhir.ml"
+# 29157 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1380 "parser_cocci_menhir.mly"
+# 1552 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 25351 "parser_cocci_menhir.ml"
+# 29165 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
+ let _3 : 'tv_disj_ident = Obj.magic _3 in
let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 172 "parser_cocci_menhir.mly"
(Data.clt)
-# 25383 "parser_cocci_menhir.ml"
+# 29197 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1382 "parser_cocci_menhir.mly"
+# 1554 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
_3)) )
-# 25392 "parser_cocci_menhir.ml"
+# 29206 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 25418 "parser_cocci_menhir.ml"
+# 29232 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1385 "parser_cocci_menhir.mly"
+# 1557 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 25426 "parser_cocci_menhir.ml"
+# 29240 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 25452 "parser_cocci_menhir.ml"
+# 29266 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1387 "parser_cocci_menhir.mly"
+# 1559 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 25460 "parser_cocci_menhir.ml"
+# 29274 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 25496 "parser_cocci_menhir.ml"
+# 29310 "parser_cocci_menhir.ml"
) = Obj.magic _4 in
let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 25502 "parser_cocci_menhir.ml"
+# 29316 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_postfix_expr_eexpr_invalid_ =
-# 1389 "parser_cocci_menhir.mly"
+# 1561 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
_3,
P.clt2mcode ")" _4)) )
-# 25512 "parser_cocci_menhir.ml"
+# 29326 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1375 "parser_cocci_menhir.mly"
+# 1547 "parser_cocci_menhir.mly"
( _1 )
-# 25536 "parser_cocci_menhir.ml"
+# 29350 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _4 : (
-# 105 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 25572 "parser_cocci_menhir.ml"
+# 29386 "parser_cocci_menhir.ml"
) = Obj.magic _4 in
let _3 : 'tv_eexpr = Obj.magic _3 in
let _2 : (
-# 105 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 25578 "parser_cocci_menhir.ml"
+# 29392 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1377 "parser_cocci_menhir.mly"
+# 1549 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
P.clt2mcode "]" _4)) )
-# 25587 "parser_cocci_menhir.ml"
+# 29401 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
+ let _3 : 'tv_disj_ident = Obj.magic _3 in
let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 25619 "parser_cocci_menhir.ml"
+# 29433 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1380 "parser_cocci_menhir.mly"
+# 1552 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 25627 "parser_cocci_menhir.ml"
+# 29441 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
+ let _3 : 'tv_disj_ident = Obj.magic _3 in
let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 172 "parser_cocci_menhir.mly"
(Data.clt)
-# 25659 "parser_cocci_menhir.ml"
+# 29473 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1382 "parser_cocci_menhir.mly"
+# 1554 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
_3)) )
-# 25668 "parser_cocci_menhir.ml"
+# 29482 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 25694 "parser_cocci_menhir.ml"
+# 29508 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1385 "parser_cocci_menhir.mly"
+# 1557 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 25702 "parser_cocci_menhir.ml"
+# 29516 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 25728 "parser_cocci_menhir.ml"
+# 29542 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1387 "parser_cocci_menhir.mly"
+# 1559 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 25736 "parser_cocci_menhir.ml"
+# 29550 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 25772 "parser_cocci_menhir.ml"
+# 29586 "parser_cocci_menhir.ml"
) = Obj.magic _4 in
let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 25778 "parser_cocci_menhir.ml"
+# 29592 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_postfix_expr_eexpr_nest_expressions_ =
-# 1389 "parser_cocci_menhir.mly"
+# 1561 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
_3,
P.clt2mcode ")" _4)) )
-# 25788 "parser_cocci_menhir.ml"
+# 29602 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_postfix_expr_expr_invalid_ =
-# 1375 "parser_cocci_menhir.mly"
+# 1547 "parser_cocci_menhir.mly"
( _1 )
-# 25812 "parser_cocci_menhir.ml"
+# 29626 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _4 : (
-# 105 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 25848 "parser_cocci_menhir.ml"
+# 29662 "parser_cocci_menhir.ml"
) = Obj.magic _4 in
let _3 : 'tv_eexpr = Obj.magic _3 in
let _2 : (
-# 105 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
(Data.clt)
-# 25854 "parser_cocci_menhir.ml"
+# 29668 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_postfix_expr_expr_invalid_ =
-# 1377 "parser_cocci_menhir.mly"
+# 1549 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
P.clt2mcode "]" _4)) )
-# 25863 "parser_cocci_menhir.ml"
+# 29677 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
+ let _3 : 'tv_disj_ident = Obj.magic _3 in
let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 25895 "parser_cocci_menhir.ml"
+# 29709 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_postfix_expr_expr_invalid_ =
-# 1380 "parser_cocci_menhir.mly"
+# 1552 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 25903 "parser_cocci_menhir.ml"
+# 29717 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
};
} = _menhir_stack in
- let _3 : 'tv_ident = Obj.magic _3 in
+ let _3 : 'tv_disj_ident = Obj.magic _3 in
let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 172 "parser_cocci_menhir.mly"
(Data.clt)
-# 25935 "parser_cocci_menhir.ml"
+# 29749 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_postfix_expr_expr_invalid_ =
-# 1382 "parser_cocci_menhir.mly"
+# 1554 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
_3)) )
-# 25944 "parser_cocci_menhir.ml"
+# 29758 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 25970 "parser_cocci_menhir.ml"
+# 29784 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_postfix_expr_expr_invalid_ =
-# 1385 "parser_cocci_menhir.mly"
+# 1557 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 25978 "parser_cocci_menhir.ml"
+# 29792 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 26004 "parser_cocci_menhir.ml"
+# 29818 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_postfix_expr_expr_invalid_ =
-# 1387 "parser_cocci_menhir.mly"
+# 1559 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 26012 "parser_cocci_menhir.ml"
+# 29826 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 26048 "parser_cocci_menhir.ml"
+# 29862 "parser_cocci_menhir.ml"
) = Obj.magic _4 in
let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 26054 "parser_cocci_menhir.ml"
+# 29868 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_postfix_expr_expr_invalid_ =
-# 1389 "parser_cocci_menhir.mly"
+# 1561 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
_3,
P.clt2mcode ")" _4)) )
-# 26064 "parser_cocci_menhir.ml"
+# 29878 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1394 "parser_cocci_menhir.mly"
+# 1566 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Ident(_1)) )
-# 26088 "parser_cocci_menhir.ml"
+# 29902 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 26109 "parser_cocci_menhir.ml"
+# 29923 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1396 "parser_cocci_menhir.mly"
+# 1568 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 26117 "parser_cocci_menhir.ml"
+# 29931 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 26138 "parser_cocci_menhir.ml"
+# 29952 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1399 "parser_cocci_menhir.mly"
+# 1571 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 26146 "parser_cocci_menhir.ml"
+# 29960 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 26167 "parser_cocci_menhir.ml"
+# 29981 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1402 "parser_cocci_menhir.mly"
+# 1574 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 26175 "parser_cocci_menhir.ml"
+# 29989 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 26196 "parser_cocci_menhir.ml"
+# 30010 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1405 "parser_cocci_menhir.mly"
+# 1577 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 26204 "parser_cocci_menhir.ml"
+# 30018 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 26225 "parser_cocci_menhir.ml"
+# 30039 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1408 "parser_cocci_menhir.mly"
+# 1580 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,ty,clt) = _1 in
Ast0.wrap
(Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
-# 26234 "parser_cocci_menhir.ml"
+# 30048 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 66 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
(Parse_aux.expinfo)
-# 26255 "parser_cocci_menhir.ml"
+# 30069 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1412 "parser_cocci_menhir.mly"
+# 1584 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,clt) = _1 in
Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 26263 "parser_cocci_menhir.ml"
+# 30077 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 26284 "parser_cocci_menhir.ml"
+# 30098 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1415 "parser_cocci_menhir.mly"
+# 1587 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,ty,clt) = _1 in
Ast0.wrap
(Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
-# 26293 "parser_cocci_menhir.ml"
+# 30107 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 26314 "parser_cocci_menhir.ml"
+# 30128 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1419 "parser_cocci_menhir.mly"
+# 1591 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,ty,clt) = _1 in
Ast0.wrap
(Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
-# 26323 "parser_cocci_menhir.ml"
+# 30137 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 26344 "parser_cocci_menhir.ml"
+# 30158 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1423 "parser_cocci_menhir.mly"
+# 1595 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,ty,clt) = _1 in
Ast0.wrap
(Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
-# 26353 "parser_cocci_menhir.ml"
+# 30167 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 26384 "parser_cocci_menhir.ml"
+# 30198 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let _2 : 'tv_eexpr = Obj.magic _2 in
let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 26390 "parser_cocci_menhir.ml"
+# 30204 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1427 "parser_cocci_menhir.mly"
+# 1599 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
P.clt2mcode ")" _3)) )
-# 26398 "parser_cocci_menhir.ml"
+# 30212 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 26429 "parser_cocci_menhir.ml"
+# 30243 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 26435 "parser_cocci_menhir.ml"
+# 30249 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1430 "parser_cocci_menhir.mly"
+# 1602 "parser_cocci_menhir.mly"
( let (mids,code) = _2 in
Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
code, mids,
P.clt2mcode ")" _3)) )
-# 26445 "parser_cocci_menhir.ml"
+# 30259 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_dot_expressions_ =
-# 1434 "parser_cocci_menhir.mly"
+# 1606 "parser_cocci_menhir.mly"
( _1 )
-# 26469 "parser_cocci_menhir.ml"
+# 30283 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1394 "parser_cocci_menhir.mly"
+# 1566 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Ident(_1)) )
-# 26493 "parser_cocci_menhir.ml"
+# 30307 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 26514 "parser_cocci_menhir.ml"
+# 30328 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1396 "parser_cocci_menhir.mly"
+# 1568 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 26522 "parser_cocci_menhir.ml"
+# 30336 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 26543 "parser_cocci_menhir.ml"
+# 30357 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1399 "parser_cocci_menhir.mly"
+# 1571 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 26551 "parser_cocci_menhir.ml"
+# 30365 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 26572 "parser_cocci_menhir.ml"
+# 30386 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1402 "parser_cocci_menhir.mly"
+# 1574 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 26580 "parser_cocci_menhir.ml"
+# 30394 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 26601 "parser_cocci_menhir.ml"
+# 30415 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1405 "parser_cocci_menhir.mly"
+# 1577 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 26609 "parser_cocci_menhir.ml"
+# 30423 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 26630 "parser_cocci_menhir.ml"
+# 30444 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1408 "parser_cocci_menhir.mly"
+# 1580 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,ty,clt) = _1 in
Ast0.wrap
(Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
-# 26639 "parser_cocci_menhir.ml"
+# 30453 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 66 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
(Parse_aux.expinfo)
-# 26660 "parser_cocci_menhir.ml"
+# 30474 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1412 "parser_cocci_menhir.mly"
+# 1584 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,clt) = _1 in
Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 26668 "parser_cocci_menhir.ml"
+# 30482 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 26689 "parser_cocci_menhir.ml"
+# 30503 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1415 "parser_cocci_menhir.mly"
+# 1587 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,ty,clt) = _1 in
Ast0.wrap
(Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
-# 26698 "parser_cocci_menhir.ml"
+# 30512 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 26719 "parser_cocci_menhir.ml"
+# 30533 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1419 "parser_cocci_menhir.mly"
+# 1591 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,ty,clt) = _1 in
Ast0.wrap
(Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
-# 26728 "parser_cocci_menhir.ml"
+# 30542 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 26749 "parser_cocci_menhir.ml"
+# 30563 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1423 "parser_cocci_menhir.mly"
+# 1595 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,ty,clt) = _1 in
Ast0.wrap
(Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
-# 26758 "parser_cocci_menhir.ml"
+# 30572 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 26789 "parser_cocci_menhir.ml"
+# 30603 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let _2 : 'tv_eexpr = Obj.magic _2 in
let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 26795 "parser_cocci_menhir.ml"
+# 30609 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1427 "parser_cocci_menhir.mly"
+# 1599 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
P.clt2mcode ")" _3)) )
-# 26803 "parser_cocci_menhir.ml"
+# 30617 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 26834 "parser_cocci_menhir.ml"
+# 30648 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 26840 "parser_cocci_menhir.ml"
+# 30654 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1430 "parser_cocci_menhir.mly"
+# 1602 "parser_cocci_menhir.mly"
( let (mids,code) = _2 in
Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
code, mids,
P.clt2mcode ")" _3)) )
-# 26850 "parser_cocci_menhir.ml"
+# 30664 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_invalid_ =
-# 1434 "parser_cocci_menhir.mly"
+# 1606 "parser_cocci_menhir.mly"
( _1 )
-# 26874 "parser_cocci_menhir.ml"
+# 30688 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1394 "parser_cocci_menhir.mly"
+# 1566 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Ident(_1)) )
-# 26898 "parser_cocci_menhir.ml"
+# 30712 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 26919 "parser_cocci_menhir.ml"
+# 30733 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1396 "parser_cocci_menhir.mly"
+# 1568 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 26927 "parser_cocci_menhir.ml"
+# 30741 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 26948 "parser_cocci_menhir.ml"
+# 30762 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1399 "parser_cocci_menhir.mly"
+# 1571 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 26956 "parser_cocci_menhir.ml"
+# 30770 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 26977 "parser_cocci_menhir.ml"
+# 30791 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1402 "parser_cocci_menhir.mly"
+# 1574 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 26985 "parser_cocci_menhir.ml"
+# 30799 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 27006 "parser_cocci_menhir.ml"
+# 30820 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1405 "parser_cocci_menhir.mly"
+# 1577 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 27014 "parser_cocci_menhir.ml"
+# 30828 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 27035 "parser_cocci_menhir.ml"
+# 30849 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1408 "parser_cocci_menhir.mly"
+# 1580 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,ty,clt) = _1 in
Ast0.wrap
(Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
-# 27044 "parser_cocci_menhir.ml"
+# 30858 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 66 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
(Parse_aux.expinfo)
-# 27065 "parser_cocci_menhir.ml"
+# 30879 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1412 "parser_cocci_menhir.mly"
+# 1584 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,clt) = _1 in
Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 27073 "parser_cocci_menhir.ml"
+# 30887 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 27094 "parser_cocci_menhir.ml"
+# 30908 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1415 "parser_cocci_menhir.mly"
+# 1587 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,ty,clt) = _1 in
Ast0.wrap
(Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
-# 27103 "parser_cocci_menhir.ml"
+# 30917 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 27124 "parser_cocci_menhir.ml"
+# 30938 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1419 "parser_cocci_menhir.mly"
+# 1591 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,ty,clt) = _1 in
Ast0.wrap
(Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
-# 27133 "parser_cocci_menhir.ml"
+# 30947 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 27154 "parser_cocci_menhir.ml"
+# 30968 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1423 "parser_cocci_menhir.mly"
+# 1595 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,ty,clt) = _1 in
Ast0.wrap
(Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
-# 27163 "parser_cocci_menhir.ml"
+# 30977 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 27194 "parser_cocci_menhir.ml"
+# 31008 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let _2 : 'tv_eexpr = Obj.magic _2 in
let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 27200 "parser_cocci_menhir.ml"
+# 31014 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1427 "parser_cocci_menhir.mly"
+# 1599 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
P.clt2mcode ")" _3)) )
-# 27208 "parser_cocci_menhir.ml"
+# 31022 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 27239 "parser_cocci_menhir.ml"
+# 31053 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 27245 "parser_cocci_menhir.ml"
+# 31059 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1430 "parser_cocci_menhir.mly"
+# 1602 "parser_cocci_menhir.mly"
( let (mids,code) = _2 in
Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
code, mids,
P.clt2mcode ")" _3)) )
-# 27255 "parser_cocci_menhir.ml"
+# 31069 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_eexpr_nest_expressions_ =
-# 1434 "parser_cocci_menhir.mly"
+# 1606 "parser_cocci_menhir.mly"
( _1 )
-# 27279 "parser_cocci_menhir.ml"
+# 31093 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_expr_invalid_ =
-# 1394 "parser_cocci_menhir.mly"
+# 1566 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Ident(_1)) )
-# 27303 "parser_cocci_menhir.ml"
+# 31117 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 27324 "parser_cocci_menhir.ml"
+# 31138 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_expr_invalid_ =
-# 1396 "parser_cocci_menhir.mly"
+# 1568 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 27332 "parser_cocci_menhir.ml"
+# 31146 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 27353 "parser_cocci_menhir.ml"
+# 31167 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_expr_invalid_ =
-# 1399 "parser_cocci_menhir.mly"
+# 1571 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 27361 "parser_cocci_menhir.ml"
+# 31175 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 27382 "parser_cocci_menhir.ml"
+# 31196 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_expr_invalid_ =
-# 1402 "parser_cocci_menhir.mly"
+# 1574 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 27390 "parser_cocci_menhir.ml"
+# 31204 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 27411 "parser_cocci_menhir.ml"
+# 31225 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_expr_invalid_ =
-# 1405 "parser_cocci_menhir.mly"
+# 1577 "parser_cocci_menhir.mly"
( let (x,clt) = _1 in
Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 27419 "parser_cocci_menhir.ml"
+# 31233 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 27440 "parser_cocci_menhir.ml"
+# 31254 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_expr_invalid_ =
-# 1408 "parser_cocci_menhir.mly"
+# 1580 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,ty,clt) = _1 in
Ast0.wrap
(Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
-# 27449 "parser_cocci_menhir.ml"
+# 31263 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 66 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
(Parse_aux.expinfo)
-# 27470 "parser_cocci_menhir.ml"
+# 31284 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_expr_invalid_ =
-# 1412 "parser_cocci_menhir.mly"
+# 1584 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,clt) = _1 in
Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 27478 "parser_cocci_menhir.ml"
+# 31292 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 27499 "parser_cocci_menhir.ml"
+# 31313 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_expr_invalid_ =
-# 1415 "parser_cocci_menhir.mly"
+# 1587 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,ty,clt) = _1 in
Ast0.wrap
(Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
-# 27508 "parser_cocci_menhir.ml"
+# 31322 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 27529 "parser_cocci_menhir.ml"
+# 31343 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_expr_invalid_ =
-# 1419 "parser_cocci_menhir.mly"
+# 1591 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,ty,clt) = _1 in
Ast0.wrap
(Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
-# 27538 "parser_cocci_menhir.ml"
+# 31352 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
(Parse_aux.typed_expinfo)
-# 27559 "parser_cocci_menhir.ml"
+# 31373 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_expr_invalid_ =
-# 1423 "parser_cocci_menhir.mly"
+# 1595 "parser_cocci_menhir.mly"
( let (nm,constraints,pure,ty,clt) = _1 in
Ast0.wrap
(Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
-# 27568 "parser_cocci_menhir.ml"
+# 31382 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 27599 "parser_cocci_menhir.ml"
+# 31413 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let _2 : 'tv_eexpr = Obj.magic _2 in
let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 27605 "parser_cocci_menhir.ml"
+# 31419 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_primary_expr_expr_invalid_ =
-# 1427 "parser_cocci_menhir.mly"
+# 1599 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
P.clt2mcode ")" _3)) )
-# 27613 "parser_cocci_menhir.ml"
+# 31427 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 27644 "parser_cocci_menhir.ml"
+# 31458 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 27650 "parser_cocci_menhir.ml"
+# 31464 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_primary_expr_expr_invalid_ =
-# 1430 "parser_cocci_menhir.mly"
+# 1602 "parser_cocci_menhir.mly"
( let (mids,code) = _2 in
Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
code, mids,
P.clt2mcode ")" _3)) )
-# 27660 "parser_cocci_menhir.ml"
+# 31474 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_primary_expr_expr_invalid_ =
-# 1434 "parser_cocci_menhir.mly"
+# 1606 "parser_cocci_menhir.mly"
( _1 )
-# 27684 "parser_cocci_menhir.ml"
+# 31498 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure =
-# 195 "parser_cocci_menhir.mly"
+# 260 "parser_cocci_menhir.mly"
( Ast0.Pure )
-# 27706 "parser_cocci_menhir.ml"
+# 31520 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure =
-# 196 "parser_cocci_menhir.mly"
+# 261 "parser_cocci_menhir.mly"
( Ast0.Context )
-# 27728 "parser_cocci_menhir.ml"
+# 31542 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_pure =
-# 197 "parser_cocci_menhir.mly"
+# 262 "parser_cocci_menhir.mly"
( Ast0.PureContext )
-# 27754 "parser_cocci_menhir.ml"
+# 31568 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_pure =
-# 198 "parser_cocci_menhir.mly"
+# 263 "parser_cocci_menhir.mly"
( Ast0.PureContext )
-# 27780 "parser_cocci_menhir.ml"
+# 31594 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
let _v : 'tv_pure =
-# 199 "parser_cocci_menhir.mly"
+# 264 "parser_cocci_menhir.mly"
( Ast0.Impure )
-# 27797 "parser_cocci_menhir.ml"
+# 31611 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 61 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 27818 "parser_cocci_menhir.ml"
+# 31632 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident =
-# 1448 "parser_cocci_menhir.mly"
+# 1620 "parser_cocci_menhir.mly"
( _1 )
-# 27825 "parser_cocci_menhir.ml"
+# 31639 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1451 "parser_cocci_menhir.mly"
+# 1623 "parser_cocci_menhir.mly"
( "identifier" )
-# 27847 "parser_cocci_menhir.ml"
+# 31661 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1452 "parser_cocci_menhir.mly"
+# 1624 "parser_cocci_menhir.mly"
( "expression" )
-# 27869 "parser_cocci_menhir.ml"
+# 31683 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1453 "parser_cocci_menhir.mly"
+# 1625 "parser_cocci_menhir.mly"
( "statement" )
-# 27891 "parser_cocci_menhir.ml"
+# 31705 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1454 "parser_cocci_menhir.mly"
+# 1626 "parser_cocci_menhir.mly"
( "function" )
-# 27913 "parser_cocci_menhir.ml"
+# 31727 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1455 "parser_cocci_menhir.mly"
+# 1627 "parser_cocci_menhir.mly"
( "local" )
-# 27935 "parser_cocci_menhir.ml"
+# 31749 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1456 "parser_cocci_menhir.mly"
+# 1628 "parser_cocci_menhir.mly"
( "type" )
-# 27957 "parser_cocci_menhir.ml"
+# 31771 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1457 "parser_cocci_menhir.mly"
+# 1629 "parser_cocci_menhir.mly"
( "parameter" )
-# 27979 "parser_cocci_menhir.ml"
+# 31793 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1458 "parser_cocci_menhir.mly"
+# 1630 "parser_cocci_menhir.mly"
( "idexpression" )
-# 28001 "parser_cocci_menhir.ml"
+# 31815 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1459 "parser_cocci_menhir.mly"
+# 1631 "parser_cocci_menhir.mly"
( "initialiser" )
-# 28023 "parser_cocci_menhir.ml"
+# 31837 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1460 "parser_cocci_menhir.mly"
+# 1632 "parser_cocci_menhir.mly"
( "list" )
-# 28045 "parser_cocci_menhir.ml"
+# 31859 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1461 "parser_cocci_menhir.mly"
+# 1633 "parser_cocci_menhir.mly"
( "fresh" )
-# 28067 "parser_cocci_menhir.ml"
+# 31881 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1462 "parser_cocci_menhir.mly"
+# 1634 "parser_cocci_menhir.mly"
( "constant" )
-# 28089 "parser_cocci_menhir.ml"
+# 31903 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1463 "parser_cocci_menhir.mly"
+# 1635 "parser_cocci_menhir.mly"
( "error" )
-# 28111 "parser_cocci_menhir.ml"
+# 31925 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1464 "parser_cocci_menhir.mly"
+# 1636 "parser_cocci_menhir.mly"
( "words" )
-# 28133 "parser_cocci_menhir.ml"
+# 31947 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1465 "parser_cocci_menhir.mly"
+# 1637 "parser_cocci_menhir.mly"
( "pure" )
-# 28155 "parser_cocci_menhir.ml"
+# 31969 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1466 "parser_cocci_menhir.mly"
+# 1638 "parser_cocci_menhir.mly"
( "context" )
-# 28177 "parser_cocci_menhir.ml"
+# 31991 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1467 "parser_cocci_menhir.mly"
+# 1639 "parser_cocci_menhir.mly"
( "generated" )
-# 28199 "parser_cocci_menhir.ml"
+# 32013 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1468 "parser_cocci_menhir.mly"
+# 1640 "parser_cocci_menhir.mly"
( "typedef" )
-# 28221 "parser_cocci_menhir.ml"
+# 32035 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1469 "parser_cocci_menhir.mly"
+# 1641 "parser_cocci_menhir.mly"
( "declarer" )
-# 28243 "parser_cocci_menhir.ml"
+# 32057 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1470 "parser_cocci_menhir.mly"
+# 1642 "parser_cocci_menhir.mly"
( "iterator" )
-# 28265 "parser_cocci_menhir.ml"
+# 32079 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1471 "parser_cocci_menhir.mly"
+# 1643 "parser_cocci_menhir.mly"
( "name" )
-# 28287 "parser_cocci_menhir.ml"
+# 32101 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_kwd =
-# 1472 "parser_cocci_menhir.mly"
+# 1644 "parser_cocci_menhir.mly"
( "position" )
-# 28309 "parser_cocci_menhir.ml"
+# 32123 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_or_meta_ident =
-# 1479 "parser_cocci_menhir.mly"
+# 1651 "parser_cocci_menhir.mly"
( (None,P.id2name _1) )
-# 28333 "parser_cocci_menhir.ml"
+# 32147 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_or_meta_ident =
-# 1480 "parser_cocci_menhir.mly"
+# 1652 "parser_cocci_menhir.mly"
( (None,_1) )
-# 28357 "parser_cocci_menhir.ml"
+# 32171 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_or_meta_ident =
-# 1481 "parser_cocci_menhir.mly"
+# 1653 "parser_cocci_menhir.mly"
( _1 )
-# 28381 "parser_cocci_menhir.ml"
+# 32195 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_i_ in
let _endpos = _endpos_optc_ in
let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ =
-# 1507 "parser_cocci_menhir.mly"
+# 1680 "parser_cocci_menhir.mly"
(
match optc with
None -> (i, Ast0.NoConstraint)
| Some c -> (i, c)
)
-# 28415 "parser_cocci_menhir.ml"
+# 32229 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_i_ in
let _endpos = _endpos_optc_ in
let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ =
-# 1507 "parser_cocci_menhir.mly"
+# 1680 "parser_cocci_menhir.mly"
(
match optc with
None -> (i, Ast0.NoConstraint)
| Some c -> (i, c)
)
-# 28449 "parser_cocci_menhir.ml"
+# 32263 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_i_ in
let _endpos = _endpos_c_ in
let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ =
-# 1525 "parser_cocci_menhir.mly"
+# 1705 "parser_cocci_menhir.mly"
(
match c with
None -> (i, Ast.IdNoConstraint)
| Some constraint_ -> (i,constraint_)
)
-# 28483 "parser_cocci_menhir.ml"
+# 32297 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_i_ in
let _endpos = _endpos_c_ in
let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ =
-# 1515 "parser_cocci_menhir.mly"
+# 1688 "parser_cocci_menhir.mly"
(
Common.Left
(match c with
None -> (i, Ast.IdNoConstraint)
| Some constraint_ -> (i,constraint_))
)
-# 28518 "parser_cocci_menhir.ml"
+# 32332 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ =
-# 1521 "parser_cocci_menhir.mly"
- ( Common.Right (P.id2name _3) )
-# 28550 "parser_cocci_menhir.ml"
+# 1695 "parser_cocci_menhir.mly"
+ (
+ let nm = P.id2name _3 in
+ Iteration.parsed_virtual_identifiers :=
+ Common.union_set [nm]
+ !Iteration.parsed_virtual_identifiers;
+ Common.Right nm
+ )
+# 32370 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_pure_ident_or_meta_ident_with_seed =
-# 1484 "parser_cocci_menhir.mly"
+# 1656 "parser_cocci_menhir.mly"
( (_1,Ast.NoVal) )
-# 28574 "parser_cocci_menhir.ml"
+# 32394 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_pure_ident_or_meta_ident_with_seed =
-# 1487 "parser_cocci_menhir.mly"
+# 1659 "parser_cocci_menhir.mly"
( match _3 with
[Ast.SeedString s] -> (_1,Ast.StringSeed s)
| _ -> (_1,Ast.ListSeed _3) )
-# 28610 "parser_cocci_menhir.ml"
+# 32430 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_i_ in
let _endpos = _endpos_l_ in
let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ =
-# 1501 "parser_cocci_menhir.mly"
+# 1674 "parser_cocci_menhir.mly"
(
(i, l)
)
-# 28642 "parser_cocci_menhir.ml"
+# 32462 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_re_ in
let _endpos = _endpos_re_ in
let _v : 'tv_re_or_not_eqe_or_sub =
-# 1586 "parser_cocci_menhir.mly"
+# 1766 "parser_cocci_menhir.mly"
(Ast0.NotIdCstrt re)
-# 28666 "parser_cocci_menhir.ml"
+# 32486 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_ne_ in
let _endpos = _endpos_ne_ in
let _v : 'tv_re_or_not_eqe_or_sub =
-# 1587 "parser_cocci_menhir.mly"
+# 1767 "parser_cocci_menhir.mly"
(Ast0.NotExpCstrt ne)
-# 28690 "parser_cocci_menhir.ml"
+# 32510 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_s_ in
let _endpos = _endpos_s_ in
let _v : 'tv_re_or_not_eqe_or_sub =
-# 1588 "parser_cocci_menhir.mly"
+# 1768 "parser_cocci_menhir.mly"
(Ast0.SubExpCstrt s)
-# 28714 "parser_cocci_menhir.ml"
+# 32534 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_re_ in
let _endpos = _endpos_re_ in
let _v : 'tv_re_or_not_eqid =
-# 1532 "parser_cocci_menhir.mly"
+# 1712 "parser_cocci_menhir.mly"
(Ast.IdRegExpConstraint re)
-# 28738 "parser_cocci_menhir.ml"
+# 32558 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_ne_ in
let _endpos = _endpos_ne_ in
let _v : 'tv_re_or_not_eqid =
-# 1533 "parser_cocci_menhir.mly"
+# 1713 "parser_cocci_menhir.mly"
(ne)
-# 28762 "parser_cocci_menhir.ml"
+# 32582 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let re : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 28787 "parser_cocci_menhir.ml"
+# 32607 "parser_cocci_menhir.ml"
) = Obj.magic re in
let _startpos = _startpos__1_ in
let _endpos = _endpos_re_ in
let _v : 'tv_regexp_eqid =
-# 1537 "parser_cocci_menhir.mly"
+# 1717 "parser_cocci_menhir.mly"
( (if !Data.in_iso
then failwith "constraints not allowed in iso file");
(if !Data.in_generating
then failwith "constraints not allowed in a generated rule file");
let (s,_) = re in Ast.IdRegExp (s,Str.regexp s)
)
-# 28799 "parser_cocci_menhir.ml"
+# 32619 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let re : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 28824 "parser_cocci_menhir.ml"
+# 32644 "parser_cocci_menhir.ml"
) = Obj.magic re in
let _startpos = _startpos__1_ in
let _endpos = _endpos_re_ in
let _v : 'tv_regexp_eqid =
-# 1544 "parser_cocci_menhir.mly"
+# 1724 "parser_cocci_menhir.mly"
( (if !Data.in_iso
then failwith "constraints not allowed in iso file");
(if !Data.in_generating
then failwith "constraints not allowed in a generated rule file");
let (s,_) = re in Ast.IdNotRegExp (s,Str.regexp s)
)
-# 28836 "parser_cocci_menhir.ml"
+# 32656 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
let _v : (
-# 136 "parser_cocci_menhir.mly"
+# 201 "parser_cocci_menhir.mly"
(unit)
-# 28853 "parser_cocci_menhir.ml"
+# 32673 "parser_cocci_menhir.ml"
) =
-# 177 "parser_cocci_menhir.mly"
+# 242 "parser_cocci_menhir.mly"
( )
-# 28857 "parser_cocci_menhir.ml"
+# 32677 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_rule_elem_statement =
-# 952 "parser_cocci_menhir.mly"
+# 1100 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
-# 28881 "parser_cocci_menhir.ml"
+# 32701 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 28907 "parser_cocci_menhir.ml"
+# 32727 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_expr = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_rule_elem_statement =
-# 953 "parser_cocci_menhir.mly"
+# 1101 "parser_cocci_menhir.mly"
( P.exp_stm _1 _2 )
-# 28915 "parser_cocci_menhir.ml"
+# 32735 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 28946 "parser_cocci_menhir.ml"
+# 32766 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let _2 : 'tv_eexpr = Obj.magic _2 in
let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 28952 "parser_cocci_menhir.ml"
+# 32772 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_rule_elem_statement =
-# 954 "parser_cocci_menhir.mly"
+# 1102 "parser_cocci_menhir.mly"
( P.ret_exp _1 _2 _3 )
-# 28959 "parser_cocci_menhir.ml"
+# 32779 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 28985 "parser_cocci_menhir.ml"
+# 32805 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 28990 "parser_cocci_menhir.ml"
+# 32810 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_rule_elem_statement =
-# 955 "parser_cocci_menhir.mly"
+# 1103 "parser_cocci_menhir.mly"
( P.ret _1 _2 )
-# 28997 "parser_cocci_menhir.ml"
+# 32817 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 29023 "parser_cocci_menhir.ml"
+# 32843 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 29028 "parser_cocci_menhir.ml"
+# 32848 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_rule_elem_statement =
-# 956 "parser_cocci_menhir.mly"
+# 1104 "parser_cocci_menhir.mly"
( P.break _1 _2 )
-# 29035 "parser_cocci_menhir.ml"
+# 32855 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 29061 "parser_cocci_menhir.ml"
+# 32881 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 29066 "parser_cocci_menhir.ml"
+# 32886 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_rule_elem_statement =
-# 957 "parser_cocci_menhir.mly"
+# 1105 "parser_cocci_menhir.mly"
( P.cont _1 _2 )
-# 29073 "parser_cocci_menhir.ml"
+# 32893 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 29104 "parser_cocci_menhir.ml"
+# 32924 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let _2 : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in
let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 29110 "parser_cocci_menhir.ml"
+# 32930 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_rule_elem_statement =
-# 959 "parser_cocci_menhir.mly"
+# 1107 "parser_cocci_menhir.mly"
( let (mids,code) = _2 in
Ast0.wrap
(Ast0.Disj(P.clt2mcode "(" _1,
List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
mids, P.clt2mcode ")" _3)) )
-# 29121 "parser_cocci_menhir.ml"
+# 32941 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__7_ in
let _v : (
-# 158 "parser_cocci_menhir.mly"
+# 223 "parser_cocci_menhir.mly"
(Ast_cocci.rulename)
-# 29177 "parser_cocci_menhir.ml"
+# 32997 "parser_cocci_menhir.ml"
) = let nm =
# 39 "standard.mly"
( None )
-# 29182 "parser_cocci_menhir.ml"
+# 33002 "parser_cocci_menhir.ml"
in
-# 207 "parser_cocci_menhir.mly"
+# 272 "parser_cocci_menhir.mly"
( P.make_cocci_rule_name_result nm d i a e ee )
-# 29188 "parser_cocci_menhir.ml"
+# 33008 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_x0_ in
let _endpos = _endpos__8_ in
let _v : (
-# 158 "parser_cocci_menhir.mly"
+# 223 "parser_cocci_menhir.mly"
(Ast_cocci.rulename)
-# 29250 "parser_cocci_menhir.ml"
+# 33070 "parser_cocci_menhir.ml"
) = let nm =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 29256 "parser_cocci_menhir.ml"
+# 33076 "parser_cocci_menhir.ml"
in
-# 207 "parser_cocci_menhir.mly"
+# 272 "parser_cocci_menhir.mly"
( P.make_cocci_rule_name_result nm d i a e ee )
-# 29262 "parser_cocci_menhir.ml"
+# 33082 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__8_ in
let _v : (
-# 158 "parser_cocci_menhir.mly"
+# 223 "parser_cocci_menhir.mly"
(Ast_cocci.rulename)
-# 29322 "parser_cocci_menhir.ml"
+# 33142 "parser_cocci_menhir.ml"
) =
-# 212 "parser_cocci_menhir.mly"
+# 277 "parser_cocci_menhir.mly"
( P.make_generated_rule_name_result None d i a e ee )
-# 29326 "parser_cocci_menhir.ml"
+# 33146 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__5_ in
let _v : (
-# 158 "parser_cocci_menhir.mly"
+# 223 "parser_cocci_menhir.mly"
(Ast_cocci.rulename)
-# 29368 "parser_cocci_menhir.ml"
+# 33188 "parser_cocci_menhir.ml"
) = let nm =
# 39 "standard.mly"
( None )
-# 29373 "parser_cocci_menhir.ml"
+# 33193 "parser_cocci_menhir.ml"
in
-# 214 "parser_cocci_menhir.mly"
+# 279 "parser_cocci_menhir.mly"
( P.make_script_rule_name_result lang nm d )
-# 29379 "parser_cocci_menhir.ml"
+# 33199 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__6_ in
let _v : (
-# 158 "parser_cocci_menhir.mly"
+# 223 "parser_cocci_menhir.mly"
(Ast_cocci.rulename)
-# 29427 "parser_cocci_menhir.ml"
+# 33247 "parser_cocci_menhir.ml"
) = let nm =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 29433 "parser_cocci_menhir.ml"
+# 33253 "parser_cocci_menhir.ml"
in
-# 214 "parser_cocci_menhir.mly"
+# 279 "parser_cocci_menhir.mly"
( P.make_script_rule_name_result lang nm d )
-# 29439 "parser_cocci_menhir.ml"
+# 33259 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__5_ in
let _v : (
-# 158 "parser_cocci_menhir.mly"
+# 223 "parser_cocci_menhir.mly"
(Ast_cocci.rulename)
-# 29481 "parser_cocci_menhir.ml"
+# 33301 "parser_cocci_menhir.ml"
) =
-# 216 "parser_cocci_menhir.mly"
+# 281 "parser_cocci_menhir.mly"
( P.make_initial_script_rule_name_result lang d )
-# 29485 "parser_cocci_menhir.ml"
+# 33305 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__5_ in
let _v : (
-# 158 "parser_cocci_menhir.mly"
+# 223 "parser_cocci_menhir.mly"
(Ast_cocci.rulename)
-# 29527 "parser_cocci_menhir.ml"
+# 33347 "parser_cocci_menhir.ml"
) =
-# 218 "parser_cocci_menhir.mly"
+# 283 "parser_cocci_menhir.mly"
( P.make_final_script_rule_name_result lang d )
-# 29531 "parser_cocci_menhir.ml"
+# 33351 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_py_ in
let _endpos = _endpos__2_ in
let _v : (
-# 164 "parser_cocci_menhir.mly"
+# 229 "parser_cocci_menhir.mly"
((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
-# 29559 "parser_cocci_menhir.ml"
+# 33379 "parser_cocci_menhir.ml"
) =
-# 2069 "parser_cocci_menhir.mly"
+# 2282 "parser_cocci_menhir.mly"
( ((Some (P.id2name py), None), None) )
-# 29563 "parser_cocci_menhir.ml"
+# 33383 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_py_ in
let _endpos = _endpos__3_ in
let _v : (
-# 164 "parser_cocci_menhir.mly"
+# 229 "parser_cocci_menhir.mly"
((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
-# 29597 "parser_cocci_menhir.ml"
+# 33417 "parser_cocci_menhir.ml"
) =
-# 2071 "parser_cocci_menhir.mly"
+# 2284 "parser_cocci_menhir.mly"
( ((Some (P.id2name py), None), Some _2) )
-# 29601 "parser_cocci_menhir.ml"
+# 33421 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__7_ in
let _v : (
-# 164 "parser_cocci_menhir.mly"
+# 229 "parser_cocci_menhir.mly"
((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
-# 29651 "parser_cocci_menhir.ml"
+# 33471 "parser_cocci_menhir.ml"
) =
-# 2073 "parser_cocci_menhir.mly"
+# 2286 "parser_cocci_menhir.mly"
( ((None, Some (P.id2name ast)), Some _6) )
-# 29655 "parser_cocci_menhir.ml"
+# 33475 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__7_ in
let _v : (
-# 164 "parser_cocci_menhir.mly"
+# 229 "parser_cocci_menhir.mly"
((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
-# 29705 "parser_cocci_menhir.ml"
+# 33525 "parser_cocci_menhir.ml"
) =
-# 2075 "parser_cocci_menhir.mly"
+# 2288 "parser_cocci_menhir.mly"
( ((Some (P.id2name str), None), Some _6) )
-# 29709 "parser_cocci_menhir.ml"
+# 33529 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__7_ in
let _v : (
-# 164 "parser_cocci_menhir.mly"
+# 229 "parser_cocci_menhir.mly"
((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
-# 29761 "parser_cocci_menhir.ml"
+# 33581 "parser_cocci_menhir.ml"
) =
-# 2077 "parser_cocci_menhir.mly"
+# 2290 "parser_cocci_menhir.mly"
( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) )
-# 29765 "parser_cocci_menhir.ml"
+# 33585 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let cocci : 'tv_pure_ident = Obj.magic cocci in
let _2 : (
-# 49 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(string)
-# 29800 "parser_cocci_menhir.ml"
+# 33620 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _startpos = _startpos__1_ in
let _endpos = _endpos_cocci_ in
let _v : 'tv_script_name_decl =
-# 2081 "parser_cocci_menhir.mly"
+# 2294 "parser_cocci_menhir.mly"
( let nm = P.id2name cocci in
let mv = Parse_aux.lookup _2 nm in
((_2, nm), mv) )
-# 29809 "parser_cocci_menhir.ml"
+# 33629 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos_cocci_ in
let _v : 'tv_script_name_decl =
-# 2085 "parser_cocci_menhir.mly"
+# 2298 "parser_cocci_menhir.mly"
( let nm = P.id2name cocci in
+ Iteration.parsed_virtual_identifiers :=
+ Common.union_set [nm]
+ !Iteration.parsed_virtual_identifiers;
let name = ("virtual", nm) in
let mv = Ast.MetaIdDecl(Ast.NONE,name) in
(name,mv) )
-# 29848 "parser_cocci_menhir.ml"
+# 33671 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 29869 "parser_cocci_menhir.ml"
+# 33692 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_seed_elem =
-# 1492 "parser_cocci_menhir.mly"
+# 1664 "parser_cocci_menhir.mly"
( let (x,_) = _1 in Ast.SeedString x )
-# 29876 "parser_cocci_menhir.ml"
+# 33699 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 64 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
(Parse_aux.idinfo)
-# 29897 "parser_cocci_menhir.ml"
+# 33720 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_seed_elem =
-# 1493 "parser_cocci_menhir.mly"
+# 1665 "parser_cocci_menhir.mly"
( let (x,_,_,_) = _1 in Ast.SeedId x )
-# 29904 "parser_cocci_menhir.ml"
+# 33727 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_seed_elem =
+# 1666 "parser_cocci_menhir.mly"
+ (failwith "tmeta")
+# 33749 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _3 : 'tv_pure_ident = Obj.magic _3 in
let _1 : (
-# 49 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(string)
-# 29935 "parser_cocci_menhir.ml"
+# 33780 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_seed_elem =
-# 1495 "parser_cocci_menhir.mly"
+# 1668 "parser_cocci_menhir.mly"
( let nm = (_1,P.id2name _3) in
P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
Ast.SeedId nm )
-# 29944 "parser_cocci_menhir.ml"
+# 33789 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let x : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 29965 "parser_cocci_menhir.ml"
+# 33810 "parser_cocci_menhir.ml"
) = Obj.magic x in
let _startpos = _startpos_x_ in
let _endpos = _endpos_x_ in
let _v : 'tv_separated_nonempty_list_TComma_TString_ =
# 144 "standard.mly"
( [ x ] )
-# 29972 "parser_cocci_menhir.ml"
+# 33817 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
let x : (
-# 90 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 30003 "parser_cocci_menhir.ml"
+# 33848 "parser_cocci_menhir.ml"
) = Obj.magic x in
let _startpos = _startpos_x_ in
let _endpos = _endpos_xs_ in
let _v : 'tv_separated_nonempty_list_TComma_TString_ =
# 146 "standard.mly"
( x :: xs )
-# 30010 "parser_cocci_menhir.ml"
+# 33855 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
# 144 "standard.mly"
( [ x ] )
-# 30034 "parser_cocci_menhir.ml"
+# 33879 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_any_strict_ =
# 146 "standard.mly"
( x :: xs )
-# 30068 "parser_cocci_menhir.ml"
+# 33913 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
# 144 "standard.mly"
( [ x ] )
-# 30092 "parser_cocci_menhir.ml"
+# 33937 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_ctype_ =
# 146 "standard.mly"
( x :: xs )
-# 30126 "parser_cocci_menhir.ml"
+# 33971 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
# 144 "standard.mly"
( [ x ] )
-# 30150 "parser_cocci_menhir.ml"
+# 33995 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_d_ident_ =
# 146 "standard.mly"
( x :: xs )
-# 30184 "parser_cocci_menhir.ml"
+# 34029 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
# 144 "standard.mly"
( [ x ] )
-# 30208 "parser_cocci_menhir.ml"
+# 34053 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ =
# 146 "standard.mly"
( x :: xs )
-# 30242 "parser_cocci_menhir.ml"
+# 34087 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
# 144 "standard.mly"
( [ x ] )
-# 30266 "parser_cocci_menhir.ml"
+# 34111 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ =
# 146 "standard.mly"
( x :: xs )
-# 30300 "parser_cocci_menhir.ml"
+# 34145 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
# 144 "standard.mly"
( [ x ] )
-# 30324 "parser_cocci_menhir.ml"
+# 34169 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ =
# 146 "standard.mly"
( x :: xs )
-# 30358 "parser_cocci_menhir.ml"
+# 34203 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
# 144 "standard.mly"
( [ x ] )
-# 30382 "parser_cocci_menhir.ml"
+# 34227 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ =
# 146 "standard.mly"
( x :: xs )
-# 30416 "parser_cocci_menhir.ml"
+# 34261 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
# 144 "standard.mly"
( [ x ] )
-# 30440 "parser_cocci_menhir.ml"
+# 34285 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ =
# 146 "standard.mly"
( x :: xs )
-# 30474 "parser_cocci_menhir.ml"
+# 34319 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
# 144 "standard.mly"
( [ x ] )
-# 30498 "parser_cocci_menhir.ml"
+# 34343 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ =
# 146 "standard.mly"
( x :: xs )
-# 30532 "parser_cocci_menhir.ml"
+# 34377 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
# 144 "standard.mly"
( [ x ] )
-# 30556 "parser_cocci_menhir.ml"
+# 34401 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ =
# 146 "standard.mly"
( x :: xs )
-# 30590 "parser_cocci_menhir.ml"
+# 34435 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
# 144 "standard.mly"
( [ x ] )
-# 30614 "parser_cocci_menhir.ml"
+# 34459 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ =
# 146 "standard.mly"
( x :: xs )
-# 30648 "parser_cocci_menhir.ml"
+# 34493 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
# 144 "standard.mly"
( [ x ] )
-# 30672 "parser_cocci_menhir.ml"
+# 34517 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ =
# 146 "standard.mly"
( x :: xs )
-# 30706 "parser_cocci_menhir.ml"
+# 34551 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
# 144 "standard.mly"
( [ x ] )
-# 30730 "parser_cocci_menhir.ml"
+# 34575 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ =
# 146 "standard.mly"
( x :: xs )
-# 30764 "parser_cocci_menhir.ml"
+# 34609 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
# 144 "standard.mly"
( [ x ] )
-# 30788 "parser_cocci_menhir.ml"
+# 34633 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ =
# 146 "standard.mly"
( x :: xs )
-# 30822 "parser_cocci_menhir.ml"
+# 34667 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
# 144 "standard.mly"
( [ x ] )
-# 30846 "parser_cocci_menhir.ml"
+# 34691 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ =
# 146 "standard.mly"
( x :: xs )
-# 30880 "parser_cocci_menhir.ml"
+# 34725 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_single_statement =
-# 967 "parser_cocci_menhir.mly"
+# 1115 "parser_cocci_menhir.mly"
( _1 )
-# 30904 "parser_cocci_menhir.ml"
+# 34749 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 30935 "parser_cocci_menhir.ml"
+# 34780 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 30941 "parser_cocci_menhir.ml"
+# 34786 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_single_statement =
-# 971 "parser_cocci_menhir.mly"
+# 1119 "parser_cocci_menhir.mly"
( let (mids,code) = _2 in
Ast0.wrap
(Ast0.Disj(P.clt2mcode "(" _1,
List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
mids, P.clt2mcode ")" _3)) )
-# 30952 "parser_cocci_menhir.ml"
+# 34797 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_statement =
-# 894 "parser_cocci_menhir.mly"
+# 1041 "parser_cocci_menhir.mly"
( _1 )
-# 30976 "parser_cocci_menhir.ml"
+# 34821 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 34842 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_statement =
+# 1042 "parser_cocci_menhir.mly"
+ ( tmeta_to_statement _1)
+# 34849 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 30997 "parser_cocci_menhir.ml"
+# 34870 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_statement =
-# 896 "parser_cocci_menhir.mly"
+# 1044 "parser_cocci_menhir.mly"
( P.meta_stm _1 )
-# 31004 "parser_cocci_menhir.ml"
+# 34877 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 31030 "parser_cocci_menhir.ml"
+# 34903 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_expr = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_statement =
-# 898 "parser_cocci_menhir.mly"
+# 1046 "parser_cocci_menhir.mly"
( P.exp_stm _1 _2 )
-# 31038 "parser_cocci_menhir.ml"
+# 34911 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _5 : 'tv_single_statement = Obj.magic _5 in
let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 31080 "parser_cocci_menhir.ml"
+# 34953 "parser_cocci_menhir.ml"
) = Obj.magic _4 in
let _3 : 'tv_eexpr = Obj.magic _3 in
let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 31086 "parser_cocci_menhir.ml"
+# 34959 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 31091 "parser_cocci_menhir.ml"
+# 34964 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__5_ in
let _v : 'tv_statement =
-# 900 "parser_cocci_menhir.mly"
+# 1048 "parser_cocci_menhir.mly"
( P.ifthen _1 _2 _3 _4 _5 )
-# 31098 "parser_cocci_menhir.ml"
+# 34971 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _7 : 'tv_single_statement = Obj.magic _7 in
let _6 : (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 31150 "parser_cocci_menhir.ml"
+# 35023 "parser_cocci_menhir.ml"
) = Obj.magic _6 in
let _5 : 'tv_single_statement = Obj.magic _5 in
let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 31156 "parser_cocci_menhir.ml"
+# 35029 "parser_cocci_menhir.ml"
) = Obj.magic _4 in
let _3 : 'tv_eexpr = Obj.magic _3 in
let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 31162 "parser_cocci_menhir.ml"
+# 35035 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 31167 "parser_cocci_menhir.ml"
+# 35040 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__7_ in
let _v : 'tv_statement =
-# 902 "parser_cocci_menhir.mly"
+# 1050 "parser_cocci_menhir.mly"
( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
-# 31174 "parser_cocci_menhir.ml"
+# 35047 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _9 : 'tv_single_statement = Obj.magic _9 in
let _8 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 31236 "parser_cocci_menhir.ml"
+# 35109 "parser_cocci_menhir.ml"
) = Obj.magic _8 in
let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
let _6 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 31242 "parser_cocci_menhir.ml"
+# 35115 "parser_cocci_menhir.ml"
) = Obj.magic _6 in
let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
let _4 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 31248 "parser_cocci_menhir.ml"
+# 35121 "parser_cocci_menhir.ml"
) = Obj.magic _4 in
let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 31254 "parser_cocci_menhir.ml"
+# 35127 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 31259 "parser_cocci_menhir.ml"
+# 35132 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__9_ in
let _v : 'tv_statement =
-# 905 "parser_cocci_menhir.mly"
+# 1053 "parser_cocci_menhir.mly"
( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
-# 31266 "parser_cocci_menhir.ml"
+# 35139 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _5 : 'tv_single_statement = Obj.magic _5 in
let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 31308 "parser_cocci_menhir.ml"
+# 35181 "parser_cocci_menhir.ml"
) = Obj.magic _4 in
let _3 : 'tv_eexpr = Obj.magic _3 in
let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 31314 "parser_cocci_menhir.ml"
+# 35187 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 31319 "parser_cocci_menhir.ml"
+# 35192 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__5_ in
let _v : 'tv_statement =
-# 907 "parser_cocci_menhir.mly"
+# 1055 "parser_cocci_menhir.mly"
( P.whileloop _1 _2 _3 _4 _5 )
-# 31326 "parser_cocci_menhir.ml"
+# 35199 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _7 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 31377 "parser_cocci_menhir.ml"
+# 35250 "parser_cocci_menhir.ml"
) = Obj.magic _7 in
let _6 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 31382 "parser_cocci_menhir.ml"
+# 35255 "parser_cocci_menhir.ml"
) = Obj.magic _6 in
let _5 : 'tv_eexpr = Obj.magic _5 in
let _4 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 31388 "parser_cocci_menhir.ml"
+# 35261 "parser_cocci_menhir.ml"
) = Obj.magic _4 in
let _3 : (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 31393 "parser_cocci_menhir.ml"
+# 35266 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let _2 : 'tv_single_statement = Obj.magic _2 in
let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 31399 "parser_cocci_menhir.ml"
+# 35272 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__7_ in
let _v : 'tv_statement =
-# 909 "parser_cocci_menhir.mly"
+# 1057 "parser_cocci_menhir.mly"
( P.doloop _1 _2 _3 _4 _5 _6 _7 )
-# 31406 "parser_cocci_menhir.ml"
+# 35279 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let _5 : 'tv_single_statement = Obj.magic _5 in
let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 31448 "parser_cocci_menhir.ml"
+# 35321 "parser_cocci_menhir.ml"
) = Obj.magic _4 in
let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 31454 "parser_cocci_menhir.ml"
+# 35327 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : 'tv_iter_ident = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__5_ in
let _v : 'tv_statement =
-# 911 "parser_cocci_menhir.mly"
+# 1059 "parser_cocci_menhir.mly"
( P.iterator _1 _2 _3 _4 _5 )
-# 31462 "parser_cocci_menhir.ml"
+# 35335 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _8 : (
-# 104 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 31518 "parser_cocci_menhir.ml"
+# 35391 "parser_cocci_menhir.ml"
) = Obj.magic _8 in
let _7 : 'tv_list_case_line_ = Obj.magic _7 in
let _6 : 'tv_list_decl_var_ = Obj.magic _6 in
let _5 : (
-# 104 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 31525 "parser_cocci_menhir.ml"
+# 35398 "parser_cocci_menhir.ml"
) = Obj.magic _5 in
let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 31530 "parser_cocci_menhir.ml"
+# 35403 "parser_cocci_menhir.ml"
) = Obj.magic _4 in
let _3 : 'tv_eexpr = Obj.magic _3 in
let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 31536 "parser_cocci_menhir.ml"
+# 35409 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 31541 "parser_cocci_menhir.ml"
+# 35414 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__8_ in
let _v : 'tv_statement =
-# 913 "parser_cocci_menhir.mly"
+# 1061 "parser_cocci_menhir.mly"
( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 )
-# 31548 "parser_cocci_menhir.ml"
+# 35421 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 31579 "parser_cocci_menhir.ml"
+# 35452 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let _2 : 'tv_eexpr = Obj.magic _2 in
let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 31585 "parser_cocci_menhir.ml"
+# 35458 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_statement =
-# 914 "parser_cocci_menhir.mly"
+# 1062 "parser_cocci_menhir.mly"
( P.ret_exp _1 _2 _3 )
-# 31592 "parser_cocci_menhir.ml"
+# 35465 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 31618 "parser_cocci_menhir.ml"
+# 35491 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
(Data.clt)
-# 31623 "parser_cocci_menhir.ml"
+# 35496 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_statement =
-# 915 "parser_cocci_menhir.mly"
+# 1063 "parser_cocci_menhir.mly"
( P.ret _1 _2 )
-# 31630 "parser_cocci_menhir.ml"
+# 35503 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 31656 "parser_cocci_menhir.ml"
+# 35529 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 31661 "parser_cocci_menhir.ml"
+# 35534 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_statement =
-# 916 "parser_cocci_menhir.mly"
+# 1064 "parser_cocci_menhir.mly"
( P.break _1 _2 )
-# 31668 "parser_cocci_menhir.ml"
+# 35541 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 31694 "parser_cocci_menhir.ml"
+# 35567 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 31699 "parser_cocci_menhir.ml"
+# 35572 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_statement =
-# 917 "parser_cocci_menhir.mly"
+# 1065 "parser_cocci_menhir.mly"
( P.cont _1 _2 )
-# 31706 "parser_cocci_menhir.ml"
+# 35579 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 31732 "parser_cocci_menhir.ml"
+# 35605 "parser_cocci_menhir.ml"
) = Obj.magic _2 in
- let _1 : 'tv_ident = Obj.magic _1 in
+ let _1 : 'tv_mident = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_statement =
-# 918 "parser_cocci_menhir.mly"
- ( P.label _1 _2 )
-# 31740 "parser_cocci_menhir.ml"
+# 1066 "parser_cocci_menhir.mly"
+ ( P.label _1 _2 )
+# 35613 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 31771 "parser_cocci_menhir.ml"
+# 35644 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
- let _2 : 'tv_ident = Obj.magic _2 in
+ let _2 : 'tv_disj_ident = Obj.magic _2 in
let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 31777 "parser_cocci_menhir.ml"
+# 35650 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_statement =
-# 919 "parser_cocci_menhir.mly"
- ( P.goto _1 _2 _3 )
-# 31784 "parser_cocci_menhir.ml"
+# 1067 "parser_cocci_menhir.mly"
+ ( P.goto _1 _2 _3 )
+# 35657 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 104 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 31815 "parser_cocci_menhir.ml"
+# 35688 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let _2 : 'tv_fun_start = Obj.magic _2 in
let _1 : (
-# 104 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 31821 "parser_cocci_menhir.ml"
+# 35694 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_statement =
-# 921 "parser_cocci_menhir.mly"
+# 1069 "parser_cocci_menhir.mly"
( P.seq _1 _2 _3 )
-# 31828 "parser_cocci_menhir.ml"
+# 35701 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let w : 'tv_list_whenppdecs_ = Obj.magic w in
let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 31855 "parser_cocci_menhir.ml"
+# 35728 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos_w_ in
let _v : 'tv_stm_dots =
-# 925 "parser_cocci_menhir.mly"
+# 1073 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
-# 31862 "parser_cocci_menhir.ml"
+# 35735 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let c : (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 31898 "parser_cocci_menhir.ml"
+# 35771 "parser_cocci_menhir.ml"
) = Obj.magic c in
let b : 'tv_nest_start = Obj.magic b in
let w : 'tv_list_whenppdecs_ = Obj.magic w in
let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 31905 "parser_cocci_menhir.ml"
+# 35778 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos_c_ in
let _v : 'tv_stm_dots =
-# 927 "parser_cocci_menhir.mly"
+# 1075 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
P.clt2mcode "...>" c, List.concat w, false)) )
-# 31913 "parser_cocci_menhir.ml"
+# 35786 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let c : (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 31949 "parser_cocci_menhir.ml"
+# 35822 "parser_cocci_menhir.ml"
) = Obj.magic c in
let b : 'tv_nest_start = Obj.magic b in
let w : 'tv_list_whenppdecs_ = Obj.magic w in
let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 31956 "parser_cocci_menhir.ml"
+# 35829 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos_c_ in
let _v : 'tv_stm_dots =
-# 930 "parser_cocci_menhir.mly"
+# 1078 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
P.clt2mcode "...+>" c, List.concat w, true)) )
-# 31964 "parser_cocci_menhir.ml"
+# 35837 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let s : (
-# 55 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 31985 "parser_cocci_menhir.ml"
+# 35858 "parser_cocci_menhir.ml"
) = Obj.magic s in
let _startpos = _startpos_s_ in
let _endpos = _endpos_s_ in
let _v : 'tv_storage =
-# 856 "parser_cocci_menhir.mly"
+# 1002 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.Static s )
-# 31992 "parser_cocci_menhir.ml"
+# 35865 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let s : (
-# 55 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 32013 "parser_cocci_menhir.ml"
+# 35886 "parser_cocci_menhir.ml"
) = Obj.magic s in
let _startpos = _startpos_s_ in
let _endpos = _endpos_s_ in
let _v : 'tv_storage =
-# 857 "parser_cocci_menhir.mly"
+# 1003 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.Auto s )
-# 32020 "parser_cocci_menhir.ml"
+# 35893 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let s : (
-# 55 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 32041 "parser_cocci_menhir.ml"
+# 35914 "parser_cocci_menhir.ml"
) = Obj.magic s in
let _startpos = _startpos_s_ in
let _endpos = _endpos_s_ in
let _v : 'tv_storage =
-# 858 "parser_cocci_menhir.mly"
+# 1004 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.Register s )
-# 32048 "parser_cocci_menhir.ml"
+# 35921 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let s : (
-# 55 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
(Data.clt)
-# 32069 "parser_cocci_menhir.ml"
+# 35942 "parser_cocci_menhir.ml"
) = Obj.magic s in
let _startpos = _startpos_s_ in
let _endpos = _endpos_s_ in
let _v : 'tv_storage =
-# 859 "parser_cocci_menhir.mly"
+# 1005 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.Extern s )
-# 32076 "parser_cocci_menhir.ml"
+# 35949 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_struct_decl =
-# 609 "parser_cocci_menhir.mly"
- ( [] )
-# 32098 "parser_cocci_menhir.ml"
+# 719 "parser_cocci_menhir.mly"
+ ( [] )
+# 35971 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_struct_decl_one = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_struct_decl =
+# 720 "parser_cocci_menhir.mly"
+ ( [_1] )
+# 35995 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_struct_decl_list_start = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_struct_decl_list =
+# 744 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 36019 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_struct_decl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_struct_decl_list_start =
+# 747 "parser_cocci_menhir.mly"
+ ( _1 )
+# 36043 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
+ let _1 : 'tv_struct_decl = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_struct_decl_list_start =
+# 748 "parser_cocci_menhir.mly"
+ ( _1@_2 )
+# 36073 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = r;
+ MenhirLib.EngineTypes.startp = _startpos_r_;
+ MenhirLib.EngineTypes.endp = _endpos_r_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = d;
+ MenhirLib.EngineTypes.startp = _startpos_d_;
+ MenhirLib.EngineTypes.endp = _endpos_d_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let r : 'tv_continue_struct_decl_list = Obj.magic r in
+ let d : 'tv_edots_when_TEllipsis_struct_decl_one_ = Obj.magic d in
+ let _startpos = _startpos_d_ in
+ let _endpos = _endpos_r_ in
+ let _v : 'tv_struct_decl_list_start =
+# 750 "parser_cocci_menhir.mly"
+ ( (P.mkddots_one "..." d)::r )
+# 36103 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 68 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 32119 "parser_cocci_menhir.ml"
+# 36124 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
- let _v : 'tv_struct_decl =
-# 610 "parser_cocci_menhir.mly"
- ( [P.meta_field _1] )
-# 32126 "parser_cocci_menhir.ml"
+ let _v : 'tv_struct_decl_one =
+# 723 "parser_cocci_menhir.mly"
+ ( P.meta_field _1 )
+# 36131 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 134 "parser_cocci_menhir.mly"
+ (Parse_aux.list_info)
+# 36152 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_struct_decl_one =
+# 724 "parser_cocci_menhir.mly"
+ ( P.meta_field_list _1 )
+# 36159 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 36180 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_struct_decl_one =
+# 725 "parser_cocci_menhir.mly"
+ ( tmeta_to_field _1 )
+# 36187 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 32157 "parser_cocci_menhir.ml"
+# 36218 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let d : 'tv_d_ident = Obj.magic d in
let t : 'tv_ctype = Obj.magic t in
let _startpos = _startpos_t_ in
let _endpos = _endpos_pv_ in
- let _v : 'tv_struct_decl =
-# 612 "parser_cocci_menhir.mly"
+ let _v : 'tv_struct_decl_one =
+# 727 "parser_cocci_menhir.mly"
( let (id,fn) = d in
- [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
-# 32167 "parser_cocci_menhir.ml"
+ Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
+# 36228 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 32228 "parser_cocci_menhir.ml"
+# 36289 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let rp2 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 32233 "parser_cocci_menhir.ml"
+# 36294 "parser_cocci_menhir.ml"
) = Obj.magic rp2 in
let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
let lp2 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 32239 "parser_cocci_menhir.ml"
+# 36300 "parser_cocci_menhir.ml"
) = Obj.magic lp2 in
let rp1 : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 32244 "parser_cocci_menhir.ml"
+# 36305 "parser_cocci_menhir.ml"
) = Obj.magic rp1 in
let d : 'tv_d_ident = Obj.magic d in
let st : (
-# 102 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 32250 "parser_cocci_menhir.ml"
+# 36311 "parser_cocci_menhir.ml"
) = Obj.magic st in
let lp1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 32255 "parser_cocci_menhir.ml"
+# 36316 "parser_cocci_menhir.ml"
) = Obj.magic lp1 in
let t : 'tv_ctype = Obj.magic t in
let _startpos = _startpos_t_ in
let _endpos = _endpos_pv_ in
- let _v : 'tv_struct_decl =
-# 616 "parser_cocci_menhir.mly"
+ let _v : 'tv_struct_decl_one =
+# 731 "parser_cocci_menhir.mly"
( let (id,fn) = d in
let t =
Ast0.wrap
(Ast0.FunctionPointer
(t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
- [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
-# 32269 "parser_cocci_menhir.ml"
+ Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
+# 36330 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 32300 "parser_cocci_menhir.ml"
+# 36361 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let d : 'tv_d_ident = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
let _startpos = _startpos_i_ in
let _endpos = _endpos_pv_ in
- let _v : 'tv_struct_decl = let cv =
+ let _v : 'tv_struct_decl_one = let cv =
# 39 "standard.mly"
( None )
-# 32310 "parser_cocci_menhir.ml"
+# 36371 "parser_cocci_menhir.ml"
in
-# 624 "parser_cocci_menhir.mly"
+# 739 "parser_cocci_menhir.mly"
( let (id,fn) = d in
let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
- [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] )
-# 32318 "parser_cocci_menhir.ml"
+ Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) )
+# 36379 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
(Data.clt)
-# 32354 "parser_cocci_menhir.ml"
+# 36415 "parser_cocci_menhir.ml"
) = Obj.magic pv in
let d : 'tv_d_ident = Obj.magic d in
let i : 'tv_pure_ident = Obj.magic i in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_pv_ in
- let _v : 'tv_struct_decl = let cv =
+ let _v : 'tv_struct_decl_one = let cv =
let x = x0 in
# 41 "standard.mly"
( Some x )
-# 32366 "parser_cocci_menhir.ml"
+# 36427 "parser_cocci_menhir.ml"
- in
-
-# 624 "parser_cocci_menhir.mly"
- ( let (id,fn) = d in
- let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
- [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] )
-# 32374 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_struct_decl_list_start = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_struct_decl_list =
-# 629 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 32398 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- } = _menhir_stack in
- let _1 : 'tv_struct_decl = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__1_ in
- let _v : 'tv_struct_decl_list_start =
-# 632 "parser_cocci_menhir.mly"
- ( _1 )
-# 32422 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = _2;
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = _1;
- MenhirLib.EngineTypes.startp = _startpos__1_;
- MenhirLib.EngineTypes.endp = _endpos__1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
- let _1 : 'tv_struct_decl = Obj.magic _1 in
- let _startpos = _startpos__1_ in
- let _endpos = _endpos__2_ in
- let _v : 'tv_struct_decl_list_start =
-# 633 "parser_cocci_menhir.mly"
- ( _1@_2 )
-# 32452 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = r;
- MenhirLib.EngineTypes.startp = _startpos_r_;
- MenhirLib.EngineTypes.endp = _endpos_r_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = d;
- MenhirLib.EngineTypes.startp = _startpos_d_;
- MenhirLib.EngineTypes.endp = _endpos_d_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- } = _menhir_stack in
- let r : 'tv_continue_struct_decl_list = Obj.magic r in
- let d : 'tv_edots_when_TEllipsis_struct_decl_ = Obj.magic d in
- let _startpos = _startpos_d_ in
- let _endpos = _endpos_r_ in
- let _v : 'tv_struct_decl_list_start =
-# 635 "parser_cocci_menhir.mly"
- ( (P.mkddots "..." d)::r )
-# 32482 "parser_cocci_menhir.ml"
+ in
+
+# 739 "parser_cocci_menhir.mly"
+ ( let (id,fn) = d in
+ let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
+ Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) )
+# 36435 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let s : (
-# 52 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
-# 32503 "parser_cocci_menhir.ml"
+# 36456 "parser_cocci_menhir.ml"
) = Obj.magic s in
let _startpos = _startpos_s_ in
let _endpos = _endpos_s_ in
let _v : 'tv_struct_or_union =
-# 605 "parser_cocci_menhir.mly"
+# 715 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.Struct s )
-# 32510 "parser_cocci_menhir.ml"
+# 36463 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let u : (
-# 52 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
-# 32531 "parser_cocci_menhir.ml"
+# 36484 "parser_cocci_menhir.ml"
) = Obj.magic u in
let _startpos = _startpos_u_ in
let _endpos = _endpos_u_ in
let _v : 'tv_struct_or_union =
-# 606 "parser_cocci_menhir.mly"
+# 716 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.Union u )
-# 32538 "parser_cocci_menhir.ml"
+# 36491 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos_i_ in
let _v : 'tv_sub =
-# 1632 "parser_cocci_menhir.mly"
+# 1812 "parser_cocci_menhir.mly"
( (if !Data.in_iso
then failwith "constraints not allowed in iso file");
(if !Data.in_generating
P.check_inherited_constraint i
(function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in
[i] )
-# 32573 "parser_cocci_menhir.ml"
+# 36526 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_sub =
-# 1641 "parser_cocci_menhir.mly"
+# 1821 "parser_cocci_menhir.mly"
( (if !Data.in_iso
then failwith "constraints not allowed in iso file");
(if !Data.in_generating
P.check_inherited_constraint i
(function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)))
l)
-# 32617 "parser_cocci_menhir.ml"
+# 36570 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_top_eexpr =
-# 1260 "parser_cocci_menhir.mly"
+# 1379 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
-# 32641 "parser_cocci_menhir.ml"
+# 36594 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let _3 : (
-# 104 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 32672 "parser_cocci_menhir.ml"
+# 36625 "parser_cocci_menhir.ml"
) = Obj.magic _3 in
let _2 : 'tv_initialize_list = Obj.magic _2 in
let _1 : (
-# 104 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 32678 "parser_cocci_menhir.ml"
+# 36631 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_top_init =
-# 1841 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 32685 "parser_cocci_menhir.ml"
+# 2071 "parser_cocci_menhir.mly"
+ ( if P.struct_initializer _2
+ then
+ let il = P.drop_dot_commas _2 in
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
+ else
+ Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
+# 36643 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
let _v : 'tv_toplevel_after_dots =
-# 1829 "parser_cocci_menhir.mly"
+# 2059 "parser_cocci_menhir.mly"
([])
-# 32702 "parser_cocci_menhir.ml"
+# 36660 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_toplevel_after_dots =
-# 1830 "parser_cocci_menhir.mly"
+# 2060 "parser_cocci_menhir.mly"
(_2)
-# 32730 "parser_cocci_menhir.ml"
+# 36688 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_toplevel_after_dots =
-# 1831 "parser_cocci_menhir.mly"
+# 2061 "parser_cocci_menhir.mly"
((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 32760 "parser_cocci_menhir.ml"
+# 36718 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_toplevel_after_dots =
-# 1832 "parser_cocci_menhir.mly"
+# 2062 "parser_cocci_menhir.mly"
(_1@_2)
-# 32790 "parser_cocci_menhir.ml"
+# 36748 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_toplevel_after_dots_init =
-# 1820 "parser_cocci_menhir.mly"
+# 2050 "parser_cocci_menhir.mly"
(_2)
-# 32818 "parser_cocci_menhir.ml"
+# 36776 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_toplevel_after_dots_init =
-# 1821 "parser_cocci_menhir.mly"
+# 2051 "parser_cocci_menhir.mly"
((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 32848 "parser_cocci_menhir.ml"
+# 36806 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_toplevel_after_dots_init =
-# 1822 "parser_cocci_menhir.mly"
+# 2052 "parser_cocci_menhir.mly"
(_1@_2)
-# 32878 "parser_cocci_menhir.ml"
+# 36836 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
let _v : 'tv_toplevel_after_exp =
-# 1825 "parser_cocci_menhir.mly"
+# 2055 "parser_cocci_menhir.mly"
([])
-# 32895 "parser_cocci_menhir.ml"
+# 36853 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_toplevel_after_exp =
-# 1826 "parser_cocci_menhir.mly"
+# 2056 "parser_cocci_menhir.mly"
(_1::_2)
-# 32925 "parser_cocci_menhir.ml"
+# 36883 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
let _endpos = _startpos in
let _v : 'tv_toplevel_after_stm =
-# 1835 "parser_cocci_menhir.mly"
+# 2065 "parser_cocci_menhir.mly"
([])
-# 32942 "parser_cocci_menhir.ml"
+# 36900 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_toplevel_after_stm =
-# 1836 "parser_cocci_menhir.mly"
+# 2066 "parser_cocci_menhir.mly"
(_1::_2)
-# 32972 "parser_cocci_menhir.ml"
+# 36930 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_toplevel_after_stm =
-# 1837 "parser_cocci_menhir.mly"
+# 2067 "parser_cocci_menhir.mly"
(_1@_2)
-# 33002 "parser_cocci_menhir.ml"
+# 36960 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
-# 1815 "parser_cocci_menhir.mly"
+# 2045 "parser_cocci_menhir.mly"
( _1::_2 )
-# 33032 "parser_cocci_menhir.ml"
+# 36990 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
-# 1816 "parser_cocci_menhir.mly"
+# 2046 "parser_cocci_menhir.mly"
( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
-# 33062 "parser_cocci_menhir.ml"
+# 37020 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ =
-# 1817 "parser_cocci_menhir.mly"
+# 2047 "parser_cocci_menhir.mly"
( _1@_2 )
-# 33092 "parser_cocci_menhir.ml"
+# 37050 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let b : 'tv_toplevel_after_dots_init = Obj.magic b in
let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
let a0 : (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 33125 "parser_cocci_menhir.ml"
+# 37083 "parser_cocci_menhir.ml"
) = Obj.magic a0 in
let _startpos = _startpos_a0_ in
let _endpos = _endpos_b_ in
let w = w0 in
let a = a0 in
-# 935 "parser_cocci_menhir.mly"
+# 1083 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
-# 33135 "parser_cocci_menhir.ml"
+# 37093 "parser_cocci_menhir.ml"
in
-# 1808 "parser_cocci_menhir.mly"
+# 2038 "parser_cocci_menhir.mly"
( a::b )
-# 33141 "parser_cocci_menhir.ml"
+# 37099 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let b : 'tv_toplevel_after_dots_init = Obj.magic b in
let c0 : (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 33183 "parser_cocci_menhir.ml"
+# 37141 "parser_cocci_menhir.ml"
) = Obj.magic c0 in
let b0 : 'tv_nest_start = Obj.magic b0 in
let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
let a0 : (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 33190 "parser_cocci_menhir.ml"
+# 37148 "parser_cocci_menhir.ml"
) = Obj.magic a0 in
let _startpos = _startpos_a0_ in
let _endpos = _endpos_b_ in
let w = w0 in
let a = a0 in
-# 939 "parser_cocci_menhir.mly"
+# 1087 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
P.clt2mcode "...>" c, List.concat w, false)) )
-# 33203 "parser_cocci_menhir.ml"
+# 37161 "parser_cocci_menhir.ml"
in
-# 1809 "parser_cocci_menhir.mly"
+# 2039 "parser_cocci_menhir.mly"
( a::b )
-# 33209 "parser_cocci_menhir.ml"
+# 37167 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let b : 'tv_toplevel_after_dots_init = Obj.magic b in
let c0 : (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 33251 "parser_cocci_menhir.ml"
+# 37209 "parser_cocci_menhir.ml"
) = Obj.magic c0 in
let b0 : 'tv_nest_start = Obj.magic b0 in
let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
let a0 : (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 33258 "parser_cocci_menhir.ml"
+# 37216 "parser_cocci_menhir.ml"
) = Obj.magic a0 in
let _startpos = _startpos_a0_ in
let _endpos = _endpos_b_ in
let w = w0 in
let a = a0 in
-# 942 "parser_cocci_menhir.mly"
+# 1090 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
P.clt2mcode "...+>" c, List.concat w, true)) )
-# 33271 "parser_cocci_menhir.ml"
+# 37229 "parser_cocci_menhir.ml"
in
-# 1809 "parser_cocci_menhir.mly"
+# 2039 "parser_cocci_menhir.mly"
( a::b )
-# 33277 "parser_cocci_menhir.ml"
+# 37235 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let c0 : (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 33313 "parser_cocci_menhir.ml"
+# 37271 "parser_cocci_menhir.ml"
) = Obj.magic c0 in
let b0 : 'tv_nest_start = Obj.magic b0 in
let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
let a0 : (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 33320 "parser_cocci_menhir.ml"
+# 37278 "parser_cocci_menhir.ml"
) = Obj.magic a0 in
let _startpos = _startpos_a0_ in
let _endpos = _endpos_c0_ in
let w = w0 in
let a = a0 in
-# 939 "parser_cocci_menhir.mly"
+# 1087 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
P.clt2mcode "...>" c, List.concat w, false)) )
-# 33333 "parser_cocci_menhir.ml"
+# 37291 "parser_cocci_menhir.ml"
in
-# 1810 "parser_cocci_menhir.mly"
+# 2040 "parser_cocci_menhir.mly"
( [a] )
-# 33339 "parser_cocci_menhir.ml"
+# 37297 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let c0 : (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 33375 "parser_cocci_menhir.ml"
+# 37333 "parser_cocci_menhir.ml"
) = Obj.magic c0 in
let b0 : 'tv_nest_start = Obj.magic b0 in
let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
let a0 : (
-# 76 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
(Data.clt)
-# 33382 "parser_cocci_menhir.ml"
+# 37340 "parser_cocci_menhir.ml"
) = Obj.magic a0 in
let _startpos = _startpos_a0_ in
let _endpos = _endpos_c0_ in
let w = w0 in
let a = a0 in
-# 942 "parser_cocci_menhir.mly"
+# 1090 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
P.clt2mcode "...+>" c, List.concat w, true)) )
-# 33395 "parser_cocci_menhir.ml"
+# 37353 "parser_cocci_menhir.ml"
in
-# 1810 "parser_cocci_menhir.mly"
+# 2040 "parser_cocci_menhir.mly"
( [a] )
-# 33401 "parser_cocci_menhir.ml"
+# 37359 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
-# 1811 "parser_cocci_menhir.mly"
+# 2041 "parser_cocci_menhir.mly"
( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
-# 33431 "parser_cocci_menhir.ml"
+# 37389 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ =
-# 1812 "parser_cocci_menhir.mly"
+# 2042 "parser_cocci_menhir.mly"
( _1@_2 )
-# 33461 "parser_cocci_menhir.ml"
+# 37419 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_disj_ident = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_type_ident =
+# 1896 "parser_cocci_menhir.mly"
+ ( _1 )
+# 37443 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 37464 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_type_ident =
+# 1898 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 37471 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 33493 "parser_cocci_menhir.ml"
+# 37503 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 33498 "parser_cocci_menhir.ml"
+# 37508 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
let ty =
let ty = ty0 in
-# 523 "parser_cocci_menhir.mly"
+# 617 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 33510 "parser_cocci_menhir.ml"
+# 37520 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
+# 680 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 33516 "parser_cocci_menhir.ml"
+# 37526 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 33523 "parser_cocci_menhir.ml"
+# 37533 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 33529 "parser_cocci_menhir.ml"
+# 37539 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37571 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37576 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_typedef_ctype = let ty =
+ let ty0 = ty00 in
+ let r = r0 in
+ let ty =
+ let ty = ty0 in
+
+# 619 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 37588 "parser_cocci_menhir.ml"
+
+ in
+
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37594 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 37601 "parser_cocci_menhir.ml"
+
+ in
+
+# 705 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 37607 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37639 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37644 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_typedef_ctype = let ty =
+ let ty0 = ty00 in
+ let r = r0 in
+ let ty =
+ let ty = ty0 in
+
+# 621 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 37656 "parser_cocci_menhir.ml"
+
+ in
+
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37662 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 37669 "parser_cocci_menhir.ml"
+
+ in
+
+# 705 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 37675 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 131 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 37707 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37712 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_typedef_ctype = let ty =
+ let p0 = p00 in
+ let r = r0 in
+ let ty =
+ let p = p0 in
+
+# 623 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 37725 "parser_cocci_menhir.ml"
+
+ in
+
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37731 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 37738 "parser_cocci_menhir.ml"
+
+ in
+
+# 705 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 37744 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r1;
+ MenhirLib.EngineTypes.startp = _startpos_r1_;
+ MenhirLib.EngineTypes.endp = _endpos_r1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 37785 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r00 : (
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 37790 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let r1 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37795 "parser_cocci_menhir.ml"
+ ) = Obj.magic r1 in
+ let _startpos = _startpos_r1_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_typedef_ctype = let ty =
+ let p0 = p00 in
+ let r0 = r00 in
+ let r = r1 in
+ let ty =
+ let p = p0 in
+ let r = r0 in
+
+# 626 "parser_cocci_menhir.mly"
+ ( let nm = (r,P.id2name p) in
+ (* this is only possible when we are in a metavar decl. Otherwise,
+ it will be represented already as a MetaType *)
+ let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
+ Ast0.Impure (*will be ignored*))) )
+# 37814 "parser_cocci_menhir.ml"
+
+ in
+
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37820 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 37827 "parser_cocci_menhir.ml"
+
+ in
+
+# 705 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 37833 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37865 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37870 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_typedef_ctype = let ty =
+ let ty0 = ty00 in
+ let r = r0 in
+ let ty =
+ let ty = ty0 in
+
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 37882 "parser_cocci_menhir.ml"
+
+ in
+
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37888 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 37895 "parser_cocci_menhir.ml"
+
+ in
+
+# 705 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 37901 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty200;
+ MenhirLib.EngineTypes.startp = _startpos_ty200_;
+ MenhirLib.EngineTypes.endp = _endpos_ty200_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty100;
+ MenhirLib.EngineTypes.startp = _startpos_ty100_;
+ MenhirLib.EngineTypes.endp = _endpos_ty100_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37938 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37943 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 37948 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_typedef_ctype = let ty =
+ let ty20 = ty200 in
+ let ty10 = ty100 in
+ let r = r0 in
+ let ty =
+ let ty2 = ty20 in
+ let ty1 = ty10 in
+
+# 635 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 37965 "parser_cocci_menhir.ml"
+
+ in
+
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37971 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 37978 "parser_cocci_menhir.ml"
+
+ in
+
+# 705 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 37984 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38016 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38021 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let _startpos = _startpos_r0_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_typedef_ctype = let ty =
+ let ty0 = ty00 in
+ let r = r0 in
+ let ty =
+ let ty = ty0 in
+
+# 617 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 38033 "parser_cocci_menhir.ml"
+
+ in
+
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38039 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38046 "parser_cocci_menhir.ml"
+
+ in
+
+# 705 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38052 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 33561 "parser_cocci_menhir.ml"
+# 38084 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 33566 "parser_cocci_menhir.ml"
+# 38089 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
let ty =
let ty = ty0 in
-# 525 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 33578 "parser_cocci_menhir.ml"
+# 38101 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 33584 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38107 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 33591 "parser_cocci_menhir.ml"
+# 38114 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 33597 "parser_cocci_menhir.ml"
+# 38120 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 33629 "parser_cocci_menhir.ml"
+# 38152 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 33634 "parser_cocci_menhir.ml"
+# 38157 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
let ty =
let ty = ty0 in
-# 527 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 33646 "parser_cocci_menhir.ml"
+# 38169 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 33652 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38175 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 33659 "parser_cocci_menhir.ml"
+# 38182 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 33665 "parser_cocci_menhir.ml"
+# 38188 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let p00 : (
-# 67 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 33697 "parser_cocci_menhir.ml"
+# 38220 "parser_cocci_menhir.ml"
) = Obj.magic p00 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 33702 "parser_cocci_menhir.ml"
+# 38225 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
let ty =
let p = p0 in
-# 529 "parser_cocci_menhir.mly"
+# 623 "parser_cocci_menhir.mly"
( let (nm,pure,clt) = p in
Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 33715 "parser_cocci_menhir.ml"
+# 38238 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 33721 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38244 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 33728 "parser_cocci_menhir.ml"
+# 38251 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 33734 "parser_cocci_menhir.ml"
+# 38257 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let p00 : (
-# 61 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 33775 "parser_cocci_menhir.ml"
+# 38298 "parser_cocci_menhir.ml"
) = Obj.magic p00 in
let r00 : (
-# 49 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(string)
-# 33780 "parser_cocci_menhir.ml"
+# 38303 "parser_cocci_menhir.ml"
) = Obj.magic r00 in
let r1 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 33785 "parser_cocci_menhir.ml"
+# 38308 "parser_cocci_menhir.ml"
) = Obj.magic r1 in
let _startpos = _startpos_r1_ in
let _endpos = _endpos_m_ in
let p = p0 in
let r = r0 in
-# 532 "parser_cocci_menhir.mly"
+# 626 "parser_cocci_menhir.mly"
( let nm = (r,P.id2name p) in
(* this is only possible when we are in a metavar decl. Otherwise,
it will be represented already as a MetaType *)
let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
Ast0.Impure (*will be ignored*))) )
-# 33804 "parser_cocci_menhir.ml"
+# 38327 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 33810 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38333 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 33817 "parser_cocci_menhir.ml"
+# 38340 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 33823 "parser_cocci_menhir.ml"
+# 38346 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 33855 "parser_cocci_menhir.ml"
+# 38378 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 33860 "parser_cocci_menhir.ml"
+# 38383 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
let ty =
let ty = ty0 in
-# 539 "parser_cocci_menhir.mly"
+# 633 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 33872 "parser_cocci_menhir.ml"
+# 38395 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 33878 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38401 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 33885 "parser_cocci_menhir.ml"
+# 38408 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 33891 "parser_cocci_menhir.ml"
+# 38414 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty200 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 33928 "parser_cocci_menhir.ml"
+# 38451 "parser_cocci_menhir.ml"
) = Obj.magic ty200 in
let ty100 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 33933 "parser_cocci_menhir.ml"
+# 38456 "parser_cocci_menhir.ml"
) = Obj.magic ty100 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 33938 "parser_cocci_menhir.ml"
+# 38461 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let _startpos = _startpos_r0_ in
let _endpos = _endpos_m_ in
let ty2 = ty20 in
let ty1 = ty10 in
-# 541 "parser_cocci_menhir.mly"
+# 635 "parser_cocci_menhir.mly"
( Ast0.wrap
(Ast0.BaseType
(Ast.LongLongType,
[P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 33955 "parser_cocci_menhir.ml"
+# 38478 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 33961 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38484 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 33968 "parser_cocci_menhir.ml"
+# 38491 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 33974 "parser_cocci_menhir.ml"
+# 38497 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = ty00;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 34006 "parser_cocci_menhir.ml"
+# 38524 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34011 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
+ let _startpos = _startpos_ty00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
let ty0 = ty00 in
- let r = r0 in
let ty =
let ty = ty0 in
-# 523 "parser_cocci_menhir.mly"
+# 617 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 34023 "parser_cocci_menhir.ml"
+# 38535 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 34029 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 38541 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 34036 "parser_cocci_menhir.ml"
+# 38548 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 34042 "parser_cocci_menhir.ml"
+# 38554 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = ty00;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 34074 "parser_cocci_menhir.ml"
+# 38581 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34079 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
+ let _startpos = _startpos_ty00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
let ty0 = ty00 in
- let r = r0 in
let ty =
let ty = ty0 in
-# 525 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 34091 "parser_cocci_menhir.ml"
+# 38592 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 34097 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 38598 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 34104 "parser_cocci_menhir.ml"
+# 38605 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 34110 "parser_cocci_menhir.ml"
+# 38611 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = ty00;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 34142 "parser_cocci_menhir.ml"
+# 38638 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34147 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
+ let _startpos = _startpos_ty00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
let ty0 = ty00 in
- let r = r0 in
let ty =
let ty = ty0 in
-# 527 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 34159 "parser_cocci_menhir.ml"
+# 38649 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 34165 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 38655 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 34172 "parser_cocci_menhir.ml"
+# 38662 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 34178 "parser_cocci_menhir.ml"
+# 38668 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = p00;
MenhirLib.EngineTypes.startp = _startpos_p00_;
MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let p00 : (
-# 67 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 34210 "parser_cocci_menhir.ml"
+# 38695 "parser_cocci_menhir.ml"
) = Obj.magic p00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34215 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
+ let _startpos = _startpos_p00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
let p0 = p00 in
- let r = r0 in
let ty =
let p = p0 in
-# 529 "parser_cocci_menhir.mly"
+# 623 "parser_cocci_menhir.mly"
( let (nm,pure,clt) = p in
Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 34228 "parser_cocci_menhir.ml"
+# 38707 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 34234 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 38713 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 34241 "parser_cocci_menhir.ml"
+# 38720 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 34247 "parser_cocci_menhir.ml"
+# 38726 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_p00_;
MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = r00;
MenhirLib.EngineTypes.startp = _startpos_r00_;
MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r1;
- MenhirLib.EngineTypes.startp = _startpos_r1_;
- MenhirLib.EngineTypes.endp = _endpos_r1_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let p00 : (
-# 61 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 34288 "parser_cocci_menhir.ml"
+# 38762 "parser_cocci_menhir.ml"
) = Obj.magic p00 in
let r00 : (
-# 49 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(string)
-# 34293 "parser_cocci_menhir.ml"
+# 38767 "parser_cocci_menhir.ml"
) = Obj.magic r00 in
- let r1 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34298 "parser_cocci_menhir.ml"
- ) = Obj.magic r1 in
- let _startpos = _startpos_r1_ in
+ let _startpos = _startpos_r00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
let p0 = p00 in
let r0 = r00 in
- let r = r1 in
let ty =
let p = p0 in
let r = r0 in
-# 532 "parser_cocci_menhir.mly"
+# 626 "parser_cocci_menhir.mly"
( let nm = (r,P.id2name p) in
(* this is only possible when we are in a metavar decl. Otherwise,
it will be represented already as a MetaType *)
let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
Ast0.Impure (*will be ignored*))) )
-# 34317 "parser_cocci_menhir.ml"
+# 38785 "parser_cocci_menhir.ml"
+
+ in
+
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 38791 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38798 "parser_cocci_menhir.ml"
+
+ in
+
+# 705 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38804 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38831 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let _startpos = _startpos_ty00_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_typedef_ctype = let ty =
+ let ty0 = ty00 in
+ let ty =
+ let ty = ty0 in
+
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 38842 "parser_cocci_menhir.ml"
+
+ in
+
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 38848 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38855 "parser_cocci_menhir.ml"
+
+ in
+
+# 705 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38861 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty200;
+ MenhirLib.EngineTypes.startp = _startpos_ty200_;
+ MenhirLib.EngineTypes.endp = _endpos_ty200_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty100;
+ MenhirLib.EngineTypes.startp = _startpos_ty100_;
+ MenhirLib.EngineTypes.endp = _endpos_ty100_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38893 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38898 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let _startpos = _startpos_ty100_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_typedef_ctype = let ty =
+ let ty20 = ty200 in
+ let ty10 = ty100 in
+ let ty =
+ let ty2 = ty20 in
+ let ty1 = ty10 in
+
+# 635 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 38914 "parser_cocci_menhir.ml"
+
+ in
+
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 38920 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38927 "parser_cocci_menhir.ml"
+
+ in
+
+# 705 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38933 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 38960 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let _startpos = _startpos_ty00_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_typedef_ctype = let ty =
+ let ty0 = ty00 in
+ let ty =
+ let ty = ty0 in
+
+# 643 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 38971 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 38977 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 38984 "parser_cocci_menhir.ml"
+
+ in
+
+# 705 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 38990 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39017 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let _startpos = _startpos_ty00_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_typedef_ctype = let ty =
+ let ty0 = ty00 in
+ let ty =
+ let ty = ty0 in
+
+# 645 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 39028 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 34323 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 39034 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 34330 "parser_cocci_menhir.ml"
+# 39041 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 34336 "parser_cocci_menhir.ml"
+# 39047 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = ty00;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 34368 "parser_cocci_menhir.ml"
+# 39074 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34373 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
+ let _startpos = _startpos_ty00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
let ty0 = ty00 in
- let r = r0 in
let ty =
let ty = ty0 in
-# 539 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 34385 "parser_cocci_menhir.ml"
+# 647 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 39085 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 34391 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 39091 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 34398 "parser_cocci_menhir.ml"
+# 39098 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 34404 "parser_cocci_menhir.ml"
+# 39104 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty100;
- MenhirLib.EngineTypes.startp = _startpos_ty100_;
- MenhirLib.EngineTypes.endp = _endpos_ty100_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let ty200 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34441 "parser_cocci_menhir.ml"
- ) = Obj.magic ty200 in
- let ty100 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34446 "parser_cocci_menhir.ml"
- ) = Obj.magic ty100 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
(Data.clt)
-# 34451 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
- let _startpos = _startpos_r0_ in
+# 39131 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let _startpos = _startpos_ty00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
- let ty20 = ty200 in
- let ty10 = ty100 in
- let r = r0 in
+ let ty0 = ty00 in
let ty =
- let ty2 = ty20 in
- let ty1 = ty10 in
+ let ty = ty0 in
-# 541 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 34468 "parser_cocci_menhir.ml"
+# 649 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 39142 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 34474 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 39148 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 34481 "parser_cocci_menhir.ml"
+# 39155 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 34487 "parser_cocci_menhir.ml"
+# 39161 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 115 "parser_cocci_menhir.mly"
(Data.clt)
-# 34514 "parser_cocci_menhir.ml"
+# 39188 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let _startpos = _startpos_ty00_ in
let _endpos = _endpos_m_ in
let ty =
let ty = ty0 in
-# 523 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 34525 "parser_cocci_menhir.ml"
+# 651 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 39199 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 34531 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 39205 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 34538 "parser_cocci_menhir.ml"
+# 39212 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 34544 "parser_cocci_menhir.ml"
+# 39218 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 115 "parser_cocci_menhir.mly"
(Data.clt)
-# 34571 "parser_cocci_menhir.ml"
+# 39245 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let _startpos = _startpos_ty00_ in
let _endpos = _endpos_m_ in
let ty =
let ty = ty0 in
-# 525 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 34582 "parser_cocci_menhir.ml"
+# 653 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 39256 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 34588 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 39262 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 34595 "parser_cocci_menhir.ml"
+# 39269 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 34601 "parser_cocci_menhir.ml"
+# 39275 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = i00;
+ MenhirLib.EngineTypes.startp = _startpos_i00_;
+ MenhirLib.EngineTypes.endp = _endpos_i00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+ let i00 : 'tv_ident = Obj.magic i00 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
-# 34628 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
+# 39308 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
+ let i0 = i00 in
+ let s0 = s00 in
let ty =
- let ty = ty0 in
+ let i = i0 in
+ let s = s0 in
-# 527 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 34639 "parser_cocci_menhir.ml"
+# 655 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 39321 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 34645 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 39327 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 34652 "parser_cocci_menhir.ml"
+# 39334 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 34658 "parser_cocci_menhir.ml"
+# 39340 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ids00;
+ MenhirLib.EngineTypes.startp = _startpos_ids00_;
+ MenhirLib.EngineTypes.endp = _endpos_ids00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 34685 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let _startpos = _startpos_p00_ in
+ let r00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39382 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+ let l00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39388 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39393 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
+ let r0 = r00 in
+ let ids0 = ids00 in
+ let l0 = l00 in
+ let s0 = s00 in
let ty =
- let p = p0 in
+ let r = r0 in
+ let ids = ids0 in
+ let l = l0 in
+ let s = s0 in
+ let i =
+
+# 39 "standard.mly"
+ ( None )
+# 39411 "parser_cocci_menhir.ml"
+
+ in
-# 529 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = p in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 34697 "parser_cocci_menhir.ml"
+# 657 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "enums must be named in the iso file");
+ Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 39420 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 34703 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 39426 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 34710 "parser_cocci_menhir.ml"
+# 39433 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 34716 "parser_cocci_menhir.ml"
+# 39439 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__2_;
- MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.semv = ids00;
+ MenhirLib.EngineTypes.startp = _startpos_ids00_;
+ MenhirLib.EngineTypes.endp = _endpos_ids00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x000;
+ MenhirLib.EngineTypes.startp = _startpos_x000_;
+ MenhirLib.EngineTypes.endp = _endpos_x000_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 61 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 34752 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
let r00 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 34757 "parser_cocci_menhir.ml"
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39486 "parser_cocci_menhir.ml"
) = Obj.magic r00 in
- let _startpos = _startpos_r00_ in
+ let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+ let l00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39492 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let x000 : 'tv_ident = Obj.magic x000 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39498 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
let r0 = r00 in
+ let ids0 = ids00 in
+ let l0 = l00 in
+ let x00 = x000 in
+ let s0 = s00 in
let ty =
- let p = p0 in
let r = r0 in
+ let ids = ids0 in
+ let l = l0 in
+ let x0 = x00 in
+ let s = s0 in
+ let i =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 39519 "parser_cocci_menhir.ml"
+
+ in
-# 532 "parser_cocci_menhir.mly"
- ( let nm = (r,P.id2name p) in
- (* this is only possible when we are in a metavar decl. Otherwise,
- it will be represented already as a MetaType *)
- let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
- Ast0.Impure (*will be ignored*))) )
-# 34775 "parser_cocci_menhir.ml"
+# 657 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "enums must be named in the iso file");
+ Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 39528 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 34781 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 39534 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 34788 "parser_cocci_menhir.ml"
+# 39541 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 34794 "parser_cocci_menhir.ml"
+# 39547 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = i00;
+ MenhirLib.EngineTypes.startp = _startpos_i00_;
+ MenhirLib.EngineTypes.endp = _endpos_i00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34821 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
+ let i00 : 'tv_type_ident = Obj.magic i00 in
+ let s00 : 'tv_struct_or_union = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
+ let i0 = i00 in
+ let s0 = s00 in
let ty =
- let ty = ty0 in
+ let i = i0 in
+ let s = s0 in
-# 539 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 34832 "parser_cocci_menhir.ml"
+# 662 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 39589 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 34838 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 39595 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 34845 "parser_cocci_menhir.ml"
+# 39602 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 34851 "parser_cocci_menhir.ml"
+# 39608 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty100;
- MenhirLib.EngineTypes.startp = _startpos_ty100_;
- MenhirLib.EngineTypes.endp = _endpos_ty100_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = d00;
+ MenhirLib.EngineTypes.startp = _startpos_d00_;
+ MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let ty200 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34883 "parser_cocci_menhir.ml"
- ) = Obj.magic ty200 in
- let ty100 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34888 "parser_cocci_menhir.ml"
- ) = Obj.magic ty100 in
- let _startpos = _startpos_ty100_ in
+ let r00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39650 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39656 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : 'tv_struct_or_union = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
- let ty20 = ty200 in
- let ty10 = ty100 in
+ let r0 = r00 in
+ let d0 = d00 in
+ let l0 = l00 in
+ let s0 = s00 in
let ty =
- let ty2 = ty20 in
- let ty1 = ty10 in
+ let r = r0 in
+ let d = d0 in
+ let l = l0 in
+ let s = s0 in
+ let i =
+
+# 39 "standard.mly"
+ ( None )
+# 39675 "parser_cocci_menhir.ml"
+
+ in
-# 541 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 34904 "parser_cocci_menhir.ml"
+# 665 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "structures must be named in the iso file");
+ Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
+ P.clt2mcode "{" l,
+ d, P.clt2mcode "}" r)) )
+# 39685 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 34910 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 39691 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 34917 "parser_cocci_menhir.ml"
+# 39698 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 34923 "parser_cocci_menhir.ml"
+# 39704 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d00;
+ MenhirLib.EngineTypes.startp = _startpos_d00_;
+ MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x000;
+ MenhirLib.EngineTypes.startp = _startpos_x000_;
+ MenhirLib.EngineTypes.endp = _endpos_x000_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 52 "parser_cocci_menhir.mly"
- (Data.clt)
-# 34950 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
+ let r00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39751 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39757 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let x000 : 'tv_type_ident = Obj.magic x000 in
+ let s00 : 'tv_struct_or_union = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
+ let r0 = r00 in
+ let d0 = d00 in
+ let l0 = l00 in
+ let x00 = x000 in
+ let s0 = s00 in
let ty =
- let ty = ty0 in
+ let r = r0 in
+ let d = d0 in
+ let l = l0 in
+ let x0 = x00 in
+ let s = s0 in
+ let i =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 39780 "parser_cocci_menhir.ml"
+
+ in
-# 549 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 34961 "parser_cocci_menhir.ml"
+# 665 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "structures must be named in the iso file");
+ Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
+ P.clt2mcode "{" l,
+ d, P.clt2mcode "}" r)) )
+# 39790 "parser_cocci_menhir.ml"
+
+ in
+
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 39796 "parser_cocci_menhir.ml"
+
+ in
+ let cv =
+
+# 39 "standard.mly"
+ ( None )
+# 39803 "parser_cocci_menhir.ml"
+
+ in
+
+# 705 "parser_cocci_menhir.mly"
+ ( P.pointerify (P.make_cv cv ty) m )
+# 39809 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = m;
+ MenhirLib.EngineTypes.startp = _startpos_m_;
+ MenhirLib.EngineTypes.endp = _endpos_m_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = d00;
+ MenhirLib.EngineTypes.startp = _startpos_d00_;
+ MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ };
+ } = _menhir_stack in
+ let m : 'tv_list_TMul_ = Obj.magic m in
+ let r00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39851 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+ let l00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39857 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 131 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 39862 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
+ let _startpos = _startpos_s00_ in
+ let _endpos = _endpos_m_ in
+ let _v : 'tv_typedef_ctype = let ty =
+ let r0 = r00 in
+ let d0 = d00 in
+ let l0 = l00 in
+ let s0 = s00 in
+ let ty =
+ let r = r0 in
+ let d = d0 in
+ let l = l0 in
+ let s = s0 in
+
+# 671 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = s in
+ let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
+ Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
+# 39881 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
( ty )
-# 34967 "parser_cocci_menhir.ml"
+# 39887 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 34974 "parser_cocci_menhir.ml"
+# 39894 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 34980 "parser_cocci_menhir.ml"
+# 39900 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 35007 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 39927 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let _startpos = _startpos_p00_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
+ let p0 = p00 in
let ty =
- let ty = ty0 in
+ let p = p0 in
-# 551 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 35018 "parser_cocci_menhir.ml"
+# 675 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 39938 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
( ty )
-# 35024 "parser_cocci_menhir.ml"
+# 39944 "parser_cocci_menhir.ml"
in
let cv =
# 39 "standard.mly"
( None )
-# 35031 "parser_cocci_menhir.ml"
+# 39951 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 35037 "parser_cocci_menhir.ml"
+# 39957 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = ty00;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 35064 "parser_cocci_menhir.ml"
+# 39994 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
- let _startpos = _startpos_ty00_ in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 39999 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
let ty0 = ty00 in
+ let r = r0 in
let ty =
let ty = ty0 in
-# 553 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 35075 "parser_cocci_menhir.ml"
+# 617 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 40012 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 35081 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40018 "parser_cocci_menhir.ml"
in
let cv =
+ let x = x0 in
-# 39 "standard.mly"
- ( None )
-# 35088 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 40026 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 35094 "parser_cocci_menhir.ml"
+# 40032 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i00;
- MenhirLib.EngineTypes.startp = _startpos_i00_;
- MenhirLib.EngineTypes.endp = _endpos_i00_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let i00 : 'tv_ident = Obj.magic i00 in
- let s00 : (
-# 52 "parser_cocci_menhir.mly"
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 35127 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
+# 40069 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40074 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
- let i0 = i00 in
- let s0 = s00 in
+ let ty0 = ty00 in
+ let r = r0 in
let ty =
- let i = i0 in
- let s = s0 in
+ let ty = ty0 in
-# 555 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 35140 "parser_cocci_menhir.ml"
+# 619 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 40087 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 35146 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40093 "parser_cocci_menhir.ml"
in
let cv =
+ let x = x0 in
-# 39 "standard.mly"
- ( None )
-# 35153 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 40101 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 35159 "parser_cocci_menhir.ml"
+# 40107 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i00;
- MenhirLib.EngineTypes.startp = _startpos_i00_;
- MenhirLib.EngineTypes.endp = _endpos_i00_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let i00 : 'tv_ident = Obj.magic i00 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40144 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40149 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
- let i0 = i00 in
- let s0 = s00 in
+ let ty0 = ty00 in
+ let r = r0 in
let ty =
- let i = i0 in
- let s = s0 in
+ let ty = ty0 in
-# 557 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 35201 "parser_cocci_menhir.ml"
+# 621 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 40162 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 35207 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40168 "parser_cocci_menhir.ml"
in
let cv =
+ let x = x0 in
-# 39 "standard.mly"
- ( None )
-# 35214 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 40176 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 35220 "parser_cocci_menhir.ml"
+# 40182 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 35262 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let d00 : 'tv_struct_decl_list = Obj.magic d00 in
- let l00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 35268 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
+ let p00 : (
+# 131 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 40219 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40224 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let s0 = s00 in
+ let p0 = p00 in
+ let r = r0 in
let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let s = s0 in
- let i =
-
-# 39 "standard.mly"
- ( None )
-# 35287 "parser_cocci_menhir.ml"
-
- in
+ let p = p0 in
-# 560 "parser_cocci_menhir.mly"
- ( (if i = None && !Data.in_iso
- then failwith "structures must be named in the iso file");
- Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
- P.clt2mcode "{" l,
- d, P.clt2mcode "}" r)) )
-# 35297 "parser_cocci_menhir.ml"
+# 623 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = p in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 40238 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 35303 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40244 "parser_cocci_menhir.ml"
in
let cv =
+ let x = x0 in
-# 39 "standard.mly"
- ( None )
-# 35310 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 40252 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 35316 "parser_cocci_menhir.ml"
+# 40258 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = p00;
+ MenhirLib.EngineTypes.startp = _startpos_p00_;
+ MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.startp = _startpos__4_;
+ MenhirLib.EngineTypes.endp = _endpos__4_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = x000;
- MenhirLib.EngineTypes.startp = _startpos_x000_;
- MenhirLib.EngineTypes.endp = _endpos_x000_;
+ MenhirLib.EngineTypes.semv = r1;
+ MenhirLib.EngineTypes.startp = _startpos_r1_;
+ MenhirLib.EngineTypes.endp = _endpos_r1_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
+ let p00 : (
+# 125 "parser_cocci_menhir.mly"
+ (string * Data.clt)
+# 40304 "parser_cocci_menhir.ml"
+ ) = Obj.magic p00 in
let r00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 35363 "parser_cocci_menhir.ml"
+# 112 "parser_cocci_menhir.mly"
+ (string)
+# 40309 "parser_cocci_menhir.ml"
) = Obj.magic r00 in
- let d00 : 'tv_struct_decl_list = Obj.magic d00 in
- let l00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 35369 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let x000 : 'tv_ident = Obj.magic x000 in
- let s00 : 'tv_struct_or_union = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
+ let r1 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40314 "parser_cocci_menhir.ml"
+ ) = Obj.magic r1 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
+ let p0 = p00 in
let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let x00 = x000 in
- let s0 = s00 in
+ let r = r1 in
let ty =
+ let p = p0 in
let r = r0 in
- let d = d0 in
- let l = l0 in
- let x0 = x00 in
- let s = s0 in
- let i =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 35392 "parser_cocci_menhir.ml"
-
- in
-# 560 "parser_cocci_menhir.mly"
- ( (if i = None && !Data.in_iso
- then failwith "structures must be named in the iso file");
- Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
- P.clt2mcode "{" l,
- d, P.clt2mcode "}" r)) )
-# 35402 "parser_cocci_menhir.ml"
+# 626 "parser_cocci_menhir.mly"
+ ( let nm = (r,P.id2name p) in
+ (* this is only possible when we are in a metavar decl. Otherwise,
+ it will be represented already as a MetaType *)
+ let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
+ Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
+ Ast0.Impure (*will be ignored*))) )
+# 40334 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 35408 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40340 "parser_cocci_menhir.ml"
in
let cv =
+ let x = x0 in
-# 39 "standard.mly"
- ( None )
-# 35415 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 40348 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 35421 "parser_cocci_menhir.ml"
+# 40354 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = d00;
- MenhirLib.EngineTypes.startp = _startpos_d00_;
- MenhirLib.EngineTypes.endp = _endpos_d00_;
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = l00;
- MenhirLib.EngineTypes.startp = _startpos_l00_;
- MenhirLib.EngineTypes.endp = _endpos_l00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let r00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 35463 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
- let d00 : 'tv_struct_decl_list = Obj.magic d00 in
- let l00 : (
-# 104 "parser_cocci_menhir.mly"
- (Data.clt)
-# 35469 "parser_cocci_menhir.ml"
- ) = Obj.magic l00 in
- let s00 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 35474 "parser_cocci_menhir.ml"
- ) = Obj.magic s00 in
- let _startpos = _startpos_s00_ in
+ let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40391 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40396 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
- let r0 = r00 in
- let d0 = d00 in
- let l0 = l00 in
- let s0 = s00 in
+ let ty0 = ty00 in
+ let r = r0 in
let ty =
- let r = r0 in
- let d = d0 in
- let l = l0 in
- let s = s0 in
+ let ty = ty0 in
-# 566 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = s in
- let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
- Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
-# 35493 "parser_cocci_menhir.ml"
+# 633 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 40409 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 35499 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40415 "parser_cocci_menhir.ml"
in
let cv =
+ let x = x0 in
-# 39 "standard.mly"
- ( None )
-# 35506 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 40423 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 35512 "parser_cocci_menhir.ml"
+# 40429 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ty200;
+ MenhirLib.EngineTypes.startp = _startpos_ty200_;
+ MenhirLib.EngineTypes.endp = _endpos_ty200_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = ty100;
+ MenhirLib.EngineTypes.startp = _startpos_ty100_;
+ MenhirLib.EngineTypes.endp = _endpos_ty100_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = r0;
+ MenhirLib.EngineTypes.startp = _startpos_r0_;
+ MenhirLib.EngineTypes.endp = _endpos_r0_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 61 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 35539 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let _startpos = _startpos_p00_ in
+ let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40471 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty200 in
+ let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40476 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty100 in
+ let r0 : (
+# 117 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 40481 "parser_cocci_menhir.ml"
+ ) = Obj.magic r0 in
+ let x0 : 'tv_const_vol = Obj.magic x0 in
+ let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
+ let ty20 = ty200 in
+ let ty10 = ty100 in
+ let r = r0 in
let ty =
- let p = p0 in
+ let ty2 = ty20 in
+ let ty1 = ty10 in
-# 570 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 35550 "parser_cocci_menhir.ml"
+# 635 "parser_cocci_menhir.mly"
+ ( Ast0.wrap
+ (Ast0.BaseType
+ (Ast.LongLongType,
+ [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 40499 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
- ( ty )
-# 35556 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40505 "parser_cocci_menhir.ml"
in
let cv =
+ let x = x0 in
-# 39 "standard.mly"
- ( None )
-# 35563 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+ ( Some x )
+# 40513 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 35569 "parser_cocci_menhir.ml"
+# 40519 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 35606 "parser_cocci_menhir.ml"
+# 40556 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 35611 "parser_cocci_menhir.ml"
+# 40561 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let ty = ty0 in
-# 523 "parser_cocci_menhir.mly"
+# 617 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 35624 "parser_cocci_menhir.ml"
+# 40574 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35630 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40580 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 35638 "parser_cocci_menhir.ml"
+# 40588 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 35644 "parser_cocci_menhir.ml"
+# 40594 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 35681 "parser_cocci_menhir.ml"
+# 40631 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 35686 "parser_cocci_menhir.ml"
+# 40636 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let ty = ty0 in
-# 525 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 35699 "parser_cocci_menhir.ml"
+# 40649 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35705 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40655 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 35713 "parser_cocci_menhir.ml"
+# 40663 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 35719 "parser_cocci_menhir.ml"
+# 40669 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 35756 "parser_cocci_menhir.ml"
+# 40706 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 35761 "parser_cocci_menhir.ml"
+# 40711 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let ty = ty0 in
-# 527 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 35774 "parser_cocci_menhir.ml"
+# 40724 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35780 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40730 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 35788 "parser_cocci_menhir.ml"
+# 40738 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 35794 "parser_cocci_menhir.ml"
+# 40744 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let p00 : (
-# 67 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 35831 "parser_cocci_menhir.ml"
+# 40781 "parser_cocci_menhir.ml"
) = Obj.magic p00 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 35836 "parser_cocci_menhir.ml"
+# 40786 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let p = p0 in
-# 529 "parser_cocci_menhir.mly"
+# 623 "parser_cocci_menhir.mly"
( let (nm,pure,clt) = p in
Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 35850 "parser_cocci_menhir.ml"
+# 40800 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35856 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40806 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 35864 "parser_cocci_menhir.ml"
+# 40814 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 35870 "parser_cocci_menhir.ml"
+# 40820 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let p00 : (
-# 61 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 35916 "parser_cocci_menhir.ml"
+# 40866 "parser_cocci_menhir.ml"
) = Obj.magic p00 in
let r00 : (
-# 49 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(string)
-# 35921 "parser_cocci_menhir.ml"
+# 40871 "parser_cocci_menhir.ml"
) = Obj.magic r00 in
let r1 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 35926 "parser_cocci_menhir.ml"
+# 40876 "parser_cocci_menhir.ml"
) = Obj.magic r1 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let p = p0 in
let r = r0 in
-# 532 "parser_cocci_menhir.mly"
+# 626 "parser_cocci_menhir.mly"
( let nm = (r,P.id2name p) in
(* this is only possible when we are in a metavar decl. Otherwise,
it will be represented already as a MetaType *)
let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
Ast0.Impure (*will be ignored*))) )
-# 35946 "parser_cocci_menhir.ml"
+# 40896 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35952 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40902 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 35960 "parser_cocci_menhir.ml"
+# 40910 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 35966 "parser_cocci_menhir.ml"
+# 40916 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 36003 "parser_cocci_menhir.ml"
+# 40953 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 36008 "parser_cocci_menhir.ml"
+# 40958 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let ty = ty0 in
-# 539 "parser_cocci_menhir.mly"
+# 633 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 36021 "parser_cocci_menhir.ml"
+# 40971 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 36027 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40977 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 36035 "parser_cocci_menhir.ml"
+# 40985 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 36041 "parser_cocci_menhir.ml"
+# 40991 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty200 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 36083 "parser_cocci_menhir.ml"
+# 41033 "parser_cocci_menhir.ml"
) = Obj.magic ty200 in
let ty100 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 36088 "parser_cocci_menhir.ml"
+# 41038 "parser_cocci_menhir.ml"
) = Obj.magic ty100 in
let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
(Data.clt)
-# 36093 "parser_cocci_menhir.ml"
+# 41043 "parser_cocci_menhir.ml"
) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty2 = ty20 in
let ty1 = ty10 in
-# 541 "parser_cocci_menhir.mly"
+# 635 "parser_cocci_menhir.mly"
( Ast0.wrap
(Ast0.BaseType
(Ast.LongLongType,
[P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 36111 "parser_cocci_menhir.ml"
+# 41061 "parser_cocci_menhir.ml"
in
-# 575 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 36117 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 41067 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 36125 "parser_cocci_menhir.ml"
+# 41075 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 36131 "parser_cocci_menhir.ml"
+# 41081 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 36168 "parser_cocci_menhir.ml"
+# 41113 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36173 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
let ty0 = ty00 in
- let r = r0 in
let ty =
let ty = ty0 in
-# 523 "parser_cocci_menhir.mly"
+# 617 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 36186 "parser_cocci_menhir.ml"
+# 41125 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 36192 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 41131 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 36200 "parser_cocci_menhir.ml"
+# 41139 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 36206 "parser_cocci_menhir.ml"
+# 41145 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 36243 "parser_cocci_menhir.ml"
+# 41177 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36248 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
let ty0 = ty00 in
- let r = r0 in
let ty =
let ty = ty0 in
-# 525 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 36261 "parser_cocci_menhir.ml"
+# 41189 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 36267 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 41195 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 36275 "parser_cocci_menhir.ml"
+# 41203 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 36281 "parser_cocci_menhir.ml"
+# 41209 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 36318 "parser_cocci_menhir.ml"
+# 41241 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36323 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
let ty0 = ty00 in
- let r = r0 in
let ty =
let ty = ty0 in
-# 527 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 36336 "parser_cocci_menhir.ml"
+# 41253 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 36342 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 41259 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 36350 "parser_cocci_menhir.ml"
+# 41267 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 36356 "parser_cocci_menhir.ml"
+# 41273 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_p00_;
MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let p00 : (
-# 67 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 36393 "parser_cocci_menhir.ml"
+# 41305 "parser_cocci_menhir.ml"
) = Obj.magic p00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36398 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
let p0 = p00 in
- let r = r0 in
let ty =
let p = p0 in
-# 529 "parser_cocci_menhir.mly"
+# 623 "parser_cocci_menhir.mly"
( let (nm,pure,clt) = p in
Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 36412 "parser_cocci_menhir.ml"
+# 41318 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 36418 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 41324 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 36426 "parser_cocci_menhir.ml"
+# 41332 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 36432 "parser_cocci_menhir.ml"
+# 41338 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_p00_;
MenhirLib.EngineTypes.endp = _endpos_p00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__4_;
- MenhirLib.EngineTypes.endp = _endpos__4_;
+ MenhirLib.EngineTypes.startp = _startpos__3_;
+ MenhirLib.EngineTypes.endp = _endpos__3_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.semv = r00;
MenhirLib.EngineTypes.startp = _startpos_r00_;
MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r1;
- MenhirLib.EngineTypes.startp = _startpos_r1_;
- MenhirLib.EngineTypes.endp = _endpos_r1_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let p00 : (
-# 61 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 36478 "parser_cocci_menhir.ml"
+# 41379 "parser_cocci_menhir.ml"
) = Obj.magic p00 in
let r00 : (
-# 49 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
(string)
-# 36483 "parser_cocci_menhir.ml"
+# 41384 "parser_cocci_menhir.ml"
) = Obj.magic r00 in
- let r1 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36488 "parser_cocci_menhir.ml"
- ) = Obj.magic r1 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
let p0 = p00 in
let r0 = r00 in
- let r = r1 in
let ty =
let p = p0 in
let r = r0 in
-# 532 "parser_cocci_menhir.mly"
+# 626 "parser_cocci_menhir.mly"
( let nm = (r,P.id2name p) in
(* this is only possible when we are in a metavar decl. Otherwise,
it will be represented already as a MetaType *)
let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
Ast0.Impure (*will be ignored*))) )
-# 36508 "parser_cocci_menhir.ml"
+# 41403 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 36514 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 41409 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 36522 "parser_cocci_menhir.ml"
+# 41417 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 36528 "parser_cocci_menhir.ml"
+# 41423 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_ty00_;
MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 36565 "parser_cocci_menhir.ml"
+# 41455 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36570 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
let ty0 = ty00 in
- let r = r0 in
let ty =
let ty = ty0 in
-# 539 "parser_cocci_menhir.mly"
+# 633 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 36583 "parser_cocci_menhir.ml"
+# 41467 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 36589 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 41473 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 36597 "parser_cocci_menhir.ml"
+# 41481 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 36603 "parser_cocci_menhir.ml"
+# 41487 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_ty100_;
MenhirLib.EngineTypes.endp = _endpos_ty100_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r0;
- MenhirLib.EngineTypes.startp = _startpos_r0_;
- MenhirLib.EngineTypes.endp = _endpos_r0_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
};
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty200 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 36645 "parser_cocci_menhir.ml"
+# 41524 "parser_cocci_menhir.ml"
) = Obj.magic ty200 in
let ty100 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 36650 "parser_cocci_menhir.ml"
+# 41529 "parser_cocci_menhir.ml"
) = Obj.magic ty100 in
- let r0 : (
-# 53 "parser_cocci_menhir.mly"
- (Data.clt)
-# 36655 "parser_cocci_menhir.ml"
- ) = Obj.magic r0 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
let ty20 = ty200 in
let ty10 = ty100 in
- let r = r0 in
let ty =
let ty2 = ty20 in
let ty1 = ty10 in
-# 541 "parser_cocci_menhir.mly"
+# 635 "parser_cocci_menhir.mly"
( Ast0.wrap
(Ast0.BaseType
(Ast.LongLongType,
[P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 36673 "parser_cocci_menhir.ml"
+# 41546 "parser_cocci_menhir.ml"
in
-# 577 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 36679 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+ ( ty )
+# 41552 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 36687 "parser_cocci_menhir.ml"
+# 41560 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 36693 "parser_cocci_menhir.ml"
+# 41566 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
-# 36725 "parser_cocci_menhir.ml"
+# 41598 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let ty = ty0 in
-# 523 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 36737 "parser_cocci_menhir.ml"
+# 643 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 41610 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 36743 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 41616 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 36751 "parser_cocci_menhir.ml"
+# 41624 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 36757 "parser_cocci_menhir.ml"
+# 41630 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 36789 "parser_cocci_menhir.ml"
+# 41662 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let ty = ty0 in
-# 525 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 36801 "parser_cocci_menhir.ml"
+# 645 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 41674 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 36807 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 41680 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 36815 "parser_cocci_menhir.ml"
+# 41688 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 36821 "parser_cocci_menhir.ml"
+# 41694 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
(Data.clt)
-# 36853 "parser_cocci_menhir.ml"
+# 41726 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let ty = ty0 in
-# 527 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 36865 "parser_cocci_menhir.ml"
+# 647 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 41738 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 36871 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 41744 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 36879 "parser_cocci_menhir.ml"
+# 41752 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 36885 "parser_cocci_menhir.ml"
+# 41758 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
+ MenhirLib.EngineTypes.semv = ty00;
+ MenhirLib.EngineTypes.startp = _startpos_ty00_;
+ MenhirLib.EngineTypes.endp = _endpos_ty00_;
MenhirLib.EngineTypes.next = {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.semv = x0;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 67 "parser_cocci_menhir.mly"
- (Parse_aux.info)
-# 36917 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
- let ty =
- let p = p0 in
-
-# 529 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = p in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 36930 "parser_cocci_menhir.ml"
-
- in
-
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 36936 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 36944 "parser_cocci_menhir.ml"
-
- in
-
-# 596 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 36950 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = p00;
- MenhirLib.EngineTypes.startp = _startpos_p00_;
- MenhirLib.EngineTypes.endp = _endpos_p00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.startp = _startpos__3_;
- MenhirLib.EngineTypes.endp = _endpos__3_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = r00;
- MenhirLib.EngineTypes.startp = _startpos_r00_;
- MenhirLib.EngineTypes.endp = _endpos_r00_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- };
- } = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let p00 : (
-# 61 "parser_cocci_menhir.mly"
- (string * Data.clt)
-# 36991 "parser_cocci_menhir.ml"
- ) = Obj.magic p00 in
- let r00 : (
-# 49 "parser_cocci_menhir.mly"
- (string)
-# 36996 "parser_cocci_menhir.ml"
- ) = Obj.magic r00 in
+ let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 41790 "parser_cocci_menhir.ml"
+ ) = Obj.magic ty00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
- let p0 = p00 in
- let r0 = r00 in
+ let ty0 = ty00 in
let ty =
- let p = p0 in
- let r = r0 in
+ let ty = ty0 in
-# 532 "parser_cocci_menhir.mly"
- ( let nm = (r,P.id2name p) in
- (* this is only possible when we are in a metavar decl. Otherwise,
- it will be represented already as a MetaType *)
- let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
- Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
- Ast0.Impure (*will be ignored*))) )
-# 37015 "parser_cocci_menhir.ml"
+# 649 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 41802 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 37021 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 41808 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 37029 "parser_cocci_menhir.ml"
+# 41816 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 37035 "parser_cocci_menhir.ml"
+# 41822 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 115 "parser_cocci_menhir.mly"
(Data.clt)
-# 37067 "parser_cocci_menhir.ml"
+# 41854 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let ty = ty0 in
-# 539 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 37079 "parser_cocci_menhir.ml"
+# 651 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 41866 "parser_cocci_menhir.ml"
in
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 37085 "parser_cocci_menhir.ml"
-
- in
- let cv =
- let x = x0 in
-
-# 41 "standard.mly"
- ( Some x )
-# 37093 "parser_cocci_menhir.ml"
-
- in
-
-# 596 "parser_cocci_menhir.mly"
- ( P.pointerify (P.make_cv cv ty) m )
-# 37099 "parser_cocci_menhir.ml"
- in
- _menhir_env.MenhirLib.EngineTypes.stack <- {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = Obj.repr _v;
- MenhirLib.EngineTypes.startp = _startpos;
- MenhirLib.EngineTypes.endp = _endpos;
- MenhirLib.EngineTypes.next = _menhir_stack;
- });
- (fun _menhir_env ->
- let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
- let {
- MenhirLib.EngineTypes.semv = m;
- MenhirLib.EngineTypes.startp = _startpos_m_;
- MenhirLib.EngineTypes.endp = _endpos_m_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty200;
- MenhirLib.EngineTypes.startp = _startpos_ty200_;
- MenhirLib.EngineTypes.endp = _endpos_ty200_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty100;
- MenhirLib.EngineTypes.startp = _startpos_ty100_;
- MenhirLib.EngineTypes.endp = _endpos_ty100_;
- MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
- };
- };
- };
- } = _menhir_stack in
- let m : 'tv_list_TMul_ = Obj.magic m in
- let ty200 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 37136 "parser_cocci_menhir.ml"
- ) = Obj.magic ty200 in
- let ty100 : (
-# 51 "parser_cocci_menhir.mly"
- (Data.clt)
-# 37141 "parser_cocci_menhir.ml"
- ) = Obj.magic ty100 in
- let x0 : 'tv_const_vol = Obj.magic x0 in
- let _startpos = _startpos_x0_ in
- let _endpos = _endpos_m_ in
- let _v : 'tv_typedef_ctype = let ty =
- let ty20 = ty200 in
- let ty10 = ty100 in
- let ty =
- let ty2 = ty20 in
- let ty1 = ty10 in
-
-# 541 "parser_cocci_menhir.mly"
- ( Ast0.wrap
- (Ast0.BaseType
- (Ast.LongLongType,
- [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 37158 "parser_cocci_menhir.ml"
-
- in
-
-# 578 "parser_cocci_menhir.mly"
- ( ty )
-# 37164 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+ ( ty )
+# 41872 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 37172 "parser_cocci_menhir.ml"
+# 41880 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 37178 "parser_cocci_menhir.ml"
+# 41886 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let ty00 : (
-# 52 "parser_cocci_menhir.mly"
+# 115 "parser_cocci_menhir.mly"
(Data.clt)
-# 37210 "parser_cocci_menhir.ml"
+# 41918 "parser_cocci_menhir.ml"
) = Obj.magic ty00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let ty = ty0 in
-# 549 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 37222 "parser_cocci_menhir.ml"
+# 653 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 41930 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
( ty )
-# 37228 "parser_cocci_menhir.ml"
+# 41936 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 37236 "parser_cocci_menhir.ml"
+# 41944 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 37242 "parser_cocci_menhir.ml"
+# 41950 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = i00;
+ MenhirLib.EngineTypes.startp = _startpos_i00_;
+ MenhirLib.EngineTypes.endp = _endpos_i00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+ let i00 : 'tv_ident = Obj.magic i00 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
-# 37274 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
+# 41988 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
+ let i0 = i00 in
+ let s0 = s00 in
let ty =
- let ty = ty0 in
+ let i = i0 in
+ let s = s0 in
-# 551 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 37286 "parser_cocci_menhir.ml"
+# 655 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 42002 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
( ty )
-# 37292 "parser_cocci_menhir.ml"
+# 42008 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 37300 "parser_cocci_menhir.ml"
+# 42016 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 37306 "parser_cocci_menhir.ml"
+# 42022 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = ty00;
- MenhirLib.EngineTypes.startp = _startpos_ty00_;
- MenhirLib.EngineTypes.endp = _endpos_ty00_;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = ids00;
+ MenhirLib.EngineTypes.startp = _startpos_ids00_;
+ MenhirLib.EngineTypes.endp = _endpos_ids00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+ let r00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42069 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+ let l00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42075 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let s00 : (
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
-# 37338 "parser_cocci_menhir.ml"
- ) = Obj.magic ty00 in
+# 42080 "parser_cocci_menhir.ml"
+ ) = Obj.magic s00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
- let ty0 = ty00 in
+ let r0 = r00 in
+ let ids0 = ids00 in
+ let l0 = l00 in
+ let s0 = s00 in
let ty =
- let ty = ty0 in
+ let r = r0 in
+ let ids = ids0 in
+ let l = l0 in
+ let s = s0 in
+ let i =
+
+# 39 "standard.mly"
+ ( None )
+# 42099 "parser_cocci_menhir.ml"
+
+ in
-# 553 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 37350 "parser_cocci_menhir.ml"
+# 657 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "enums must be named in the iso file");
+ Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 42108 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
( ty )
-# 37356 "parser_cocci_menhir.ml"
+# 42114 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 37364 "parser_cocci_menhir.ml"
+# 42122 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 37370 "parser_cocci_menhir.ml"
+# 42128 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.startp = _startpos_m_;
MenhirLib.EngineTypes.endp = _endpos_m_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = i00;
- MenhirLib.EngineTypes.startp = _startpos_i00_;
- MenhirLib.EngineTypes.endp = _endpos_i00_;
+ MenhirLib.EngineTypes.semv = r00;
+ MenhirLib.EngineTypes.startp = _startpos_r00_;
+ MenhirLib.EngineTypes.endp = _endpos_r00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.semv = s00;
- MenhirLib.EngineTypes.startp = _startpos_s00_;
- MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.semv = ids00;
+ MenhirLib.EngineTypes.startp = _startpos_ids00_;
+ MenhirLib.EngineTypes.endp = _endpos_ids00_;
MenhirLib.EngineTypes.next = {
- MenhirLib.EngineTypes.state = _menhir_s;
- MenhirLib.EngineTypes.semv = x0;
- MenhirLib.EngineTypes.startp = _startpos_x0_;
- MenhirLib.EngineTypes.endp = _endpos_x0_;
- MenhirLib.EngineTypes.next = _menhir_stack;
+ MenhirLib.EngineTypes.semv = l00;
+ MenhirLib.EngineTypes.startp = _startpos_l00_;
+ MenhirLib.EngineTypes.endp = _endpos_l00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = x000;
+ MenhirLib.EngineTypes.startp = _startpos_x000_;
+ MenhirLib.EngineTypes.endp = _endpos_x000_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = s00;
+ MenhirLib.EngineTypes.startp = _startpos_s00_;
+ MenhirLib.EngineTypes.endp = _endpos_s00_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = x0;
+ MenhirLib.EngineTypes.startp = _startpos_x0_;
+ MenhirLib.EngineTypes.endp = _endpos_x0_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
};
};
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let i00 : 'tv_ident = Obj.magic i00 in
+ let r00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42180 "parser_cocci_menhir.ml"
+ ) = Obj.magic r00 in
+ let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+ let l00 : (
+# 169 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 42186 "parser_cocci_menhir.ml"
+ ) = Obj.magic l00 in
+ let x000 : 'tv_ident = Obj.magic x000 in
let s00 : (
-# 52 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
(Data.clt)
-# 37408 "parser_cocci_menhir.ml"
+# 42192 "parser_cocci_menhir.ml"
) = Obj.magic s00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let _endpos = _endpos_m_ in
let _v : 'tv_typedef_ctype = let ty =
- let i0 = i00 in
+ let r0 = r00 in
+ let ids0 = ids00 in
+ let l0 = l00 in
+ let x00 = x000 in
let s0 = s00 in
let ty =
- let i = i0 in
+ let r = r0 in
+ let ids = ids0 in
+ let l = l0 in
+ let x0 = x00 in
let s = s0 in
+ let i =
+ let x = x0 in
+
+# 41 "standard.mly"
+ ( Some x )
+# 42214 "parser_cocci_menhir.ml"
+
+ in
-# 555 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 37422 "parser_cocci_menhir.ml"
+# 657 "parser_cocci_menhir.mly"
+ ( (if i = None && !Data.in_iso
+ then failwith "enums must be named in the iso file");
+ Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+ P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 42223 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
( ty )
-# 37428 "parser_cocci_menhir.ml"
+# 42229 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 37436 "parser_cocci_menhir.ml"
+# 42237 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 37442 "parser_cocci_menhir.ml"
+# 42243 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
- let i00 : 'tv_ident = Obj.magic i00 in
+ let i00 : 'tv_type_ident = Obj.magic i00 in
let s00 : 'tv_struct_or_union = Obj.magic s00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let i = i0 in
let s = s0 in
-# 557 "parser_cocci_menhir.mly"
+# 662 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 37490 "parser_cocci_menhir.ml"
+# 42291 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
( ty )
-# 37496 "parser_cocci_menhir.ml"
+# 42297 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 37504 "parser_cocci_menhir.ml"
+# 42305 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 37510 "parser_cocci_menhir.ml"
+# 42311 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let r00 : (
-# 104 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 37557 "parser_cocci_menhir.ml"
+# 42358 "parser_cocci_menhir.ml"
) = Obj.magic r00 in
let d00 : 'tv_struct_decl_list = Obj.magic d00 in
let l00 : (
-# 104 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 37563 "parser_cocci_menhir.ml"
+# 42364 "parser_cocci_menhir.ml"
) = Obj.magic l00 in
let s00 : 'tv_struct_or_union = Obj.magic s00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
# 39 "standard.mly"
( None )
-# 37583 "parser_cocci_menhir.ml"
+# 42384 "parser_cocci_menhir.ml"
in
-# 560 "parser_cocci_menhir.mly"
+# 665 "parser_cocci_menhir.mly"
( (if i = None && !Data.in_iso
then failwith "structures must be named in the iso file");
Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
P.clt2mcode "{" l,
d, P.clt2mcode "}" r)) )
-# 37593 "parser_cocci_menhir.ml"
+# 42394 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
( ty )
-# 37599 "parser_cocci_menhir.ml"
+# 42400 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 37607 "parser_cocci_menhir.ml"
+# 42408 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 37613 "parser_cocci_menhir.ml"
+# 42414 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let r00 : (
-# 104 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 37665 "parser_cocci_menhir.ml"
+# 42466 "parser_cocci_menhir.ml"
) = Obj.magic r00 in
let d00 : 'tv_struct_decl_list = Obj.magic d00 in
let l00 : (
-# 104 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 37671 "parser_cocci_menhir.ml"
+# 42472 "parser_cocci_menhir.ml"
) = Obj.magic l00 in
- let x000 : 'tv_ident = Obj.magic x000 in
+ let x000 : 'tv_type_ident = Obj.magic x000 in
let s00 : 'tv_struct_or_union = Obj.magic s00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
# 41 "standard.mly"
( Some x )
-# 37695 "parser_cocci_menhir.ml"
+# 42496 "parser_cocci_menhir.ml"
in
-# 560 "parser_cocci_menhir.mly"
+# 665 "parser_cocci_menhir.mly"
( (if i = None && !Data.in_iso
then failwith "structures must be named in the iso file");
Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
P.clt2mcode "{" l,
d, P.clt2mcode "}" r)) )
-# 37705 "parser_cocci_menhir.ml"
+# 42506 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
( ty )
-# 37711 "parser_cocci_menhir.ml"
+# 42512 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 37719 "parser_cocci_menhir.ml"
+# 42520 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 37725 "parser_cocci_menhir.ml"
+# 42526 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let r00 : (
-# 104 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 37772 "parser_cocci_menhir.ml"
+# 42573 "parser_cocci_menhir.ml"
) = Obj.magic r00 in
let d00 : 'tv_struct_decl_list = Obj.magic d00 in
let l00 : (
-# 104 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
(Data.clt)
-# 37778 "parser_cocci_menhir.ml"
+# 42579 "parser_cocci_menhir.ml"
) = Obj.magic l00 in
let s00 : (
-# 67 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 37783 "parser_cocci_menhir.ml"
+# 42584 "parser_cocci_menhir.ml"
) = Obj.magic s00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let l = l0 in
let s = s0 in
-# 566 "parser_cocci_menhir.mly"
+# 671 "parser_cocci_menhir.mly"
( let (nm,pure,clt) = s in
let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
-# 37803 "parser_cocci_menhir.ml"
+# 42604 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
( ty )
-# 37809 "parser_cocci_menhir.ml"
+# 42610 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 37817 "parser_cocci_menhir.ml"
+# 42618 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 37823 "parser_cocci_menhir.ml"
+# 42624 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
} = _menhir_stack in
let m : 'tv_list_TMul_ = Obj.magic m in
let p00 : (
-# 61 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
(string * Data.clt)
-# 37855 "parser_cocci_menhir.ml"
+# 42656 "parser_cocci_menhir.ml"
) = Obj.magic p00 in
let x0 : 'tv_const_vol = Obj.magic x0 in
let _startpos = _startpos_x0_ in
let ty =
let p = p0 in
-# 570 "parser_cocci_menhir.mly"
+# 675 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 37867 "parser_cocci_menhir.ml"
+# 42668 "parser_cocci_menhir.ml"
in
-# 579 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
( ty )
-# 37873 "parser_cocci_menhir.ml"
+# 42674 "parser_cocci_menhir.ml"
in
let cv =
# 41 "standard.mly"
( Some x )
-# 37881 "parser_cocci_menhir.ml"
+# 42682 "parser_cocci_menhir.ml"
in
-# 596 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
( P.pointerify (P.make_cv cv ty) m )
-# 37887 "parser_cocci_menhir.ml"
+# 42688 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let rp : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 37918 "parser_cocci_menhir.ml"
+# 42719 "parser_cocci_menhir.ml"
) = Obj.magic rp in
- let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
+ let t : 'tv_midzero_list_mctype_mctype_ = Obj.magic t in
let lp : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 37924 "parser_cocci_menhir.ml"
+# 42725 "parser_cocci_menhir.ml"
) = Obj.magic lp in
let _startpos = _startpos_lp_ in
let _endpos = _endpos_rp_ in
let _v : 'tv_typedef_ctype =
-# 598 "parser_cocci_menhir.mly"
+# 707 "parser_cocci_menhir.mly"
( let (mids,code) = t in
Ast0.wrap
(Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
-# 37933 "parser_cocci_menhir.ml"
+# 42734 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 132 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 42755 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_typedef_ctype =
+# 710 "parser_cocci_menhir.mly"
+ ( tmeta_to_type _1 )
+# 42762 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_typedef_ident =
-# 1713 "parser_cocci_menhir.mly"
+# 1916 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
-# 37957 "parser_cocci_menhir.ml"
+# 42786 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
(Parse_aux.info)
-# 37978 "parser_cocci_menhir.ml"
+# 42807 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_typedef_ident =
+# 1917 "parser_cocci_menhir.mly"
+ ( tmeta_to_type _1 )
+# 42814 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : (
+# 131 "parser_cocci_menhir.mly"
+ (Parse_aux.info)
+# 42835 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_typedef_ident =
-# 1715 "parser_cocci_menhir.mly"
+# 1919 "parser_cocci_menhir.mly"
( let (nm,pure,clt) = _1 in
Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 37986 "parser_cocci_menhir.ml"
+# 42843 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
-# 1351 "parser_cocci_menhir.mly"
+# 1504 "parser_cocci_menhir.mly"
( _1 )
-# 38010 "parser_cocci_menhir.ml"
+# 42867 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 38037 "parser_cocci_menhir.ml"
+# 42894 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
-# 1353 "parser_cocci_menhir.mly"
+# 1506 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 38044 "parser_cocci_menhir.ml"
+# 42901 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 38071 "parser_cocci_menhir.ml"
+# 42928 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
-# 1355 "parser_cocci_menhir.mly"
+# 1508 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 38078 "parser_cocci_menhir.ml"
+# 42935 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
-# 1357 "parser_cocci_menhir.mly"
+# 1510 "parser_cocci_menhir.mly"
( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 38108 "parser_cocci_menhir.ml"
+# 42965 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 38135 "parser_cocci_menhir.ml"
+# 42992 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
-# 1359 "parser_cocci_menhir.mly"
+# 1512 "parser_cocci_menhir.mly"
( let mcode = P.clt2mcode Ast.Not _1 in
Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 38143 "parser_cocci_menhir.ml"
+# 43000 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 38170 "parser_cocci_menhir.ml"
+# 43027 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
-# 1362 "parser_cocci_menhir.mly"
+# 1515 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 38177 "parser_cocci_menhir.ml"
+# 43034 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let rp : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 38213 "parser_cocci_menhir.ml"
+# 43070 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 38219 "parser_cocci_menhir.ml"
+# 43076 "parser_cocci_menhir.ml"
) = Obj.magic lp in
let s : (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 38224 "parser_cocci_menhir.ml"
+# 43081 "parser_cocci_menhir.ml"
) = Obj.magic s in
let _startpos = _startpos_s_ in
let _endpos = _endpos_rp_ in
let _v : 'tv_unary_expr_eexpr_dot_expressions_ =
-# 1364 "parser_cocci_menhir.mly"
+# 1517 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
P.clt2mcode "(" lp,t,
P.clt2mcode ")" rp)) )
-# 38233 "parser_cocci_menhir.ml"
+# 43090 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_expr_eexpr_invalid_ =
-# 1351 "parser_cocci_menhir.mly"
+# 1504 "parser_cocci_menhir.mly"
( _1 )
-# 38257 "parser_cocci_menhir.ml"
+# 43114 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 38284 "parser_cocci_menhir.ml"
+# 43141 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_invalid_ =
-# 1353 "parser_cocci_menhir.mly"
+# 1506 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 38291 "parser_cocci_menhir.ml"
+# 43148 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 38318 "parser_cocci_menhir.ml"
+# 43175 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_invalid_ =
-# 1355 "parser_cocci_menhir.mly"
+# 1508 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 38325 "parser_cocci_menhir.ml"
+# 43182 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_invalid_ =
-# 1357 "parser_cocci_menhir.mly"
+# 1510 "parser_cocci_menhir.mly"
( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 38355 "parser_cocci_menhir.ml"
+# 43212 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 38382 "parser_cocci_menhir.ml"
+# 43239 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_invalid_ =
-# 1359 "parser_cocci_menhir.mly"
+# 1512 "parser_cocci_menhir.mly"
( let mcode = P.clt2mcode Ast.Not _1 in
Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 38390 "parser_cocci_menhir.ml"
+# 43247 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 38417 "parser_cocci_menhir.ml"
+# 43274 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_invalid_ =
-# 1362 "parser_cocci_menhir.mly"
+# 1515 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 38424 "parser_cocci_menhir.ml"
+# 43281 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let rp : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 38460 "parser_cocci_menhir.ml"
+# 43317 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 38466 "parser_cocci_menhir.ml"
+# 43323 "parser_cocci_menhir.ml"
) = Obj.magic lp in
let s : (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 38471 "parser_cocci_menhir.ml"
+# 43328 "parser_cocci_menhir.ml"
) = Obj.magic s in
let _startpos = _startpos_s_ in
let _endpos = _endpos_rp_ in
let _v : 'tv_unary_expr_eexpr_invalid_ =
-# 1364 "parser_cocci_menhir.mly"
+# 1517 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
P.clt2mcode "(" lp,t,
P.clt2mcode ")" rp)) )
-# 38480 "parser_cocci_menhir.ml"
+# 43337 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
-# 1351 "parser_cocci_menhir.mly"
+# 1504 "parser_cocci_menhir.mly"
( _1 )
-# 38504 "parser_cocci_menhir.ml"
+# 43361 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 38531 "parser_cocci_menhir.ml"
+# 43388 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
-# 1353 "parser_cocci_menhir.mly"
+# 1506 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 38538 "parser_cocci_menhir.ml"
+# 43395 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 38565 "parser_cocci_menhir.ml"
+# 43422 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
-# 1355 "parser_cocci_menhir.mly"
+# 1508 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 38572 "parser_cocci_menhir.ml"
+# 43429 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
-# 1357 "parser_cocci_menhir.mly"
+# 1510 "parser_cocci_menhir.mly"
( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 38602 "parser_cocci_menhir.ml"
+# 43459 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 38629 "parser_cocci_menhir.ml"
+# 43486 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
-# 1359 "parser_cocci_menhir.mly"
+# 1512 "parser_cocci_menhir.mly"
( let mcode = P.clt2mcode Ast.Not _1 in
Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 38637 "parser_cocci_menhir.ml"
+# 43494 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 38664 "parser_cocci_menhir.ml"
+# 43521 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
-# 1362 "parser_cocci_menhir.mly"
+# 1515 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 38671 "parser_cocci_menhir.ml"
+# 43528 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let rp : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 38707 "parser_cocci_menhir.ml"
+# 43564 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 38713 "parser_cocci_menhir.ml"
+# 43570 "parser_cocci_menhir.ml"
) = Obj.magic lp in
let s : (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 38718 "parser_cocci_menhir.ml"
+# 43575 "parser_cocci_menhir.ml"
) = Obj.magic s in
let _startpos = _startpos_s_ in
let _endpos = _endpos_rp_ in
let _v : 'tv_unary_expr_eexpr_nest_expressions_ =
-# 1364 "parser_cocci_menhir.mly"
+# 1517 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
P.clt2mcode "(" lp,t,
P.clt2mcode ")" rp)) )
-# 38727 "parser_cocci_menhir.ml"
+# 43584 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_expr_expr_invalid_ =
-# 1351 "parser_cocci_menhir.mly"
+# 1504 "parser_cocci_menhir.mly"
( _1 )
-# 38751 "parser_cocci_menhir.ml"
+# 43608 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 38778 "parser_cocci_menhir.ml"
+# 43635 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_expr_invalid_ =
-# 1353 "parser_cocci_menhir.mly"
+# 1506 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 38785 "parser_cocci_menhir.ml"
+# 43642 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 88 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
(Data.clt)
-# 38812 "parser_cocci_menhir.ml"
+# 43669 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_expr_invalid_ =
-# 1355 "parser_cocci_menhir.mly"
+# 1508 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 38819 "parser_cocci_menhir.ml"
+# 43676 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_expr_invalid_ =
-# 1357 "parser_cocci_menhir.mly"
+# 1510 "parser_cocci_menhir.mly"
( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 38849 "parser_cocci_menhir.ml"
+# 43706 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 38876 "parser_cocci_menhir.ml"
+# 43733 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_expr_invalid_ =
-# 1359 "parser_cocci_menhir.mly"
+# 1512 "parser_cocci_menhir.mly"
( let mcode = P.clt2mcode Ast.Not _1 in
Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 38884 "parser_cocci_menhir.ml"
+# 43741 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
};
} = _menhir_stack in
- let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 38911 "parser_cocci_menhir.ml"
+# 43768 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_unary_expr_expr_invalid_ =
-# 1362 "parser_cocci_menhir.mly"
+# 1515 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 38918 "parser_cocci_menhir.ml"
+# 43775 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
};
} = _menhir_stack in
let rp : (
-# 80 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
(Data.clt)
-# 38954 "parser_cocci_menhir.ml"
+# 43811 "parser_cocci_menhir.ml"
) = Obj.magic rp in
let t : 'tv_ctype = Obj.magic t in
let lp : (
-# 79 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
(Data.clt)
-# 38960 "parser_cocci_menhir.ml"
+# 43817 "parser_cocci_menhir.ml"
) = Obj.magic lp in
let s : (
-# 60 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
(Data.clt)
-# 38965 "parser_cocci_menhir.ml"
+# 43822 "parser_cocci_menhir.ml"
) = Obj.magic s in
let _startpos = _startpos_s_ in
let _endpos = _endpos_rp_ in
let _v : 'tv_unary_expr_expr_invalid_ =
-# 1364 "parser_cocci_menhir.mly"
+# 1517 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
+ P.clt2mcode "(" lp,t,
+ P.clt2mcode ")" rp)) )
+# 43831 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ } = _menhir_stack in
+ let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__1_ in
+ let _v : 'tv_unary_expr_bis =
+# 1523 "parser_cocci_menhir.mly"
+ ( _1 )
+# 43855 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
+ let _1 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 43882 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_unary_expr_bis =
+# 1525 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
+# 43889 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
+ let _1 : (
+# 153 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 43916 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_unary_expr_bis =
+# 1527 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
+# 43923 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+ let _1 : 'tv_unary_op = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_unary_expr_bis =
+# 1529 "parser_cocci_menhir.mly"
+ ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
+# 43953 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
+ let _1 : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 43980 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_unary_expr_bis =
+# 1531 "parser_cocci_menhir.mly"
+ ( let mcode = P.clt2mcode Ast.Not _1 in
+ Ast0.wrap(Ast0.Unary(_2, mcode)) )
+# 43988 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = _2;
+ MenhirLib.EngineTypes.startp = _startpos__2_;
+ MenhirLib.EngineTypes.endp = _endpos__2_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = _1;
+ MenhirLib.EngineTypes.startp = _startpos__1_;
+ MenhirLib.EngineTypes.endp = _endpos__1_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ } = _menhir_stack in
+ let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
+ let _1 : (
+# 124 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 44015 "parser_cocci_menhir.ml"
+ ) = Obj.magic _1 in
+ let _startpos = _startpos__1_ in
+ let _endpos = _endpos__2_ in
+ let _v : 'tv_unary_expr_bis =
+# 1534 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
+# 44022 "parser_cocci_menhir.ml"
+ in
+ _menhir_env.MenhirLib.EngineTypes.stack <- {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = Obj.repr _v;
+ MenhirLib.EngineTypes.startp = _startpos;
+ MenhirLib.EngineTypes.endp = _endpos;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ });
+ (fun _menhir_env ->
+ let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+ let {
+ MenhirLib.EngineTypes.semv = rp;
+ MenhirLib.EngineTypes.startp = _startpos_rp_;
+ MenhirLib.EngineTypes.endp = _endpos_rp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = t;
+ MenhirLib.EngineTypes.startp = _startpos_t_;
+ MenhirLib.EngineTypes.endp = _endpos_t_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.semv = lp;
+ MenhirLib.EngineTypes.startp = _startpos_lp_;
+ MenhirLib.EngineTypes.endp = _endpos_lp_;
+ MenhirLib.EngineTypes.next = {
+ MenhirLib.EngineTypes.state = _menhir_s;
+ MenhirLib.EngineTypes.semv = s;
+ MenhirLib.EngineTypes.startp = _startpos_s_;
+ MenhirLib.EngineTypes.endp = _endpos_s_;
+ MenhirLib.EngineTypes.next = _menhir_stack;
+ };
+ };
+ };
+ } = _menhir_stack in
+ let rp : (
+# 145 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 44058 "parser_cocci_menhir.ml"
+ ) = Obj.magic rp in
+ let t : 'tv_ctype = Obj.magic t in
+ let lp : (
+# 144 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 44064 "parser_cocci_menhir.ml"
+ ) = Obj.magic lp in
+ let s : (
+# 124 "parser_cocci_menhir.mly"
+ (Data.clt)
+# 44069 "parser_cocci_menhir.ml"
+ ) = Obj.magic s in
+ let _startpos = _startpos_s_ in
+ let _endpos = _endpos_rp_ in
+ let _v : 'tv_unary_expr_bis =
+# 1536 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
P.clt2mcode "(" lp,t,
P.clt2mcode ")" rp)) )
-# 38974 "parser_cocci_menhir.ml"
+# 44078 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 96 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
(Data.clt)
-# 38995 "parser_cocci_menhir.ml"
+# 44099 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_op =
-# 1368 "parser_cocci_menhir.mly"
+# 1540 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.GetRef _1 )
-# 39002 "parser_cocci_menhir.ml"
+# 44106 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 102 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 39023 "parser_cocci_menhir.ml"
+# 44127 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_op =
-# 1369 "parser_cocci_menhir.mly"
+# 1541 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.DeRef _1 )
-# 39030 "parser_cocci_menhir.ml"
+# 44134 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 101 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
(Data.clt)
-# 39051 "parser_cocci_menhir.ml"
+# 44155 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_op =
-# 1370 "parser_cocci_menhir.mly"
+# 1542 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.UnPlus _1 )
-# 39058 "parser_cocci_menhir.ml"
+# 44162 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 101 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
(Data.clt)
-# 39079 "parser_cocci_menhir.ml"
+# 44183 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_op =
-# 1371 "parser_cocci_menhir.mly"
+# 1543 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.UnMinus _1 )
-# 39086 "parser_cocci_menhir.ml"
+# 44190 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
MenhirLib.EngineTypes.next = _menhir_stack;
} = _menhir_stack in
let _1 : (
-# 102 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
(Data.clt)
-# 39107 "parser_cocci_menhir.ml"
+# 44211 "parser_cocci_menhir.ml"
) = Obj.magic _1 in
let _startpos = _startpos__1_ in
let _endpos = _endpos__1_ in
let _v : 'tv_unary_op =
-# 1372 "parser_cocci_menhir.mly"
+# 1544 "parser_cocci_menhir.mly"
( P.clt2mcode Ast.Tilde _1 )
-# 39114 "parser_cocci_menhir.ml"
+# 44218 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_when_start =
-# 1934 "parser_cocci_menhir.mly"
+# 2169 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) )
-# 39144 "parser_cocci_menhir.ml"
+# 44248 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__2_ in
let _v : 'tv_when_start =
-# 1936 "parser_cocci_menhir.mly"
+# 2171 "parser_cocci_menhir.mly"
( Ast0.wrap(Ast0.DOTS(_1@_2)) )
-# 39174 "parser_cocci_menhir.ml"
+# 44278 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos_w_ in
let _endpos = _endpos_w_ in
let _v : 'tv_whenppdecs =
-# 946 "parser_cocci_menhir.mly"
+# 1094 "parser_cocci_menhir.mly"
( w )
-# 39198 "parser_cocci_menhir.ml"
+# 44302 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
-# 2003 "parser_cocci_menhir.mly"
+# 2216 "parser_cocci_menhir.mly"
( [Ast0.WhenNot w] )
-# 39234 "parser_cocci_menhir.ml"
+# 44338 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
-# 2004 "parser_cocci_menhir.mly"
+# 2217 "parser_cocci_menhir.mly"
( [Ast0.WhenAlways w] )
-# 39270 "parser_cocci_menhir.ml"
+# 44374 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__3_ in
let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
-# 2006 "parser_cocci_menhir.mly"
+# 2219 "parser_cocci_menhir.mly"
( List.map (function x -> Ast0.WhenModifier(x)) _2 )
-# 39302 "parser_cocci_menhir.ml"
+# 44406 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
-# 2007 "parser_cocci_menhir.mly"
+# 2220 "parser_cocci_menhir.mly"
( [Ast0.WhenNotTrue e] )
-# 39338 "parser_cocci_menhir.ml"
+# 44442 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let _startpos = _startpos__1_ in
let _endpos = _endpos__4_ in
let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ =
-# 2008 "parser_cocci_menhir.mly"
+# 2221 "parser_cocci_menhir.mly"
( [Ast0.WhenNotFalse e] )
-# 39374 "parser_cocci_menhir.ml"
+# 44478 "parser_cocci_menhir.ml"
in
_menhir_env.MenhirLib.EngineTypes.stack <- {
MenhirLib.EngineTypes.state = _menhir_s;
let rec script_meta_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1848 lexer lexbuf) : (
-# 164 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 2038 lexer lexbuf) : (
+# 229 "parser_cocci_menhir.mly"
((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
-# 39398 "parser_cocci_menhir.ml"
+# 44502 "parser_cocci_menhir.ml"
))
and rule_name =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1773 lexer lexbuf) : (
-# 158 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1963 lexer lexbuf) : (
+# 223 "parser_cocci_menhir.mly"
(Ast_cocci.rulename)
-# 39406 "parser_cocci_menhir.ml"
+# 44510 "parser_cocci_menhir.ml"
))
and reinit =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1771 lexer lexbuf) : (
-# 136 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1961 lexer lexbuf) : (
+# 201 "parser_cocci_menhir.mly"
(unit)
-# 39414 "parser_cocci_menhir.ml"
+# 44518 "parser_cocci_menhir.ml"
))
and plus_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1735 lexer lexbuf) : (
-# 145 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1925 lexer lexbuf) : (
+# 210 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 39422 "parser_cocci_menhir.ml"
+# 44526 "parser_cocci_menhir.ml"
))
and plus_exp_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1727 lexer lexbuf) : (
-# 148 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1917 lexer lexbuf) : (
+# 213 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 39430 "parser_cocci_menhir.ml"
+# 44534 "parser_cocci_menhir.ml"
))
and never_used =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1721 lexer lexbuf) : (
-# 173 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1911 lexer lexbuf) : (
+# 238 "parser_cocci_menhir.mly"
(unit)
-# 39438 "parser_cocci_menhir.ml"
+# 44542 "parser_cocci_menhir.ml"
))
and minus_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1641 lexer lexbuf) : (
-# 139 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1826 lexer lexbuf) : (
+# 204 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 39446 "parser_cocci_menhir.ml"
+# 44550 "parser_cocci_menhir.ml"
))
and minus_exp_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1629 lexer lexbuf) : (
-# 142 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1814 lexer lexbuf) : (
+# 207 "parser_cocci_menhir.mly"
(Ast0_cocci.rule)
-# 39454 "parser_cocci_menhir.ml"
+# 44558 "parser_cocci_menhir.ml"
))
and meta_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1626 lexer lexbuf) : (
-# 162 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1811 lexer lexbuf) : (
+# 227 "parser_cocci_menhir.mly"
((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 39462 "parser_cocci_menhir.ml"
+# 44566 "parser_cocci_menhir.ml"
))
and iso_rule_name =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1622 lexer lexbuf) : (
-# 154 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1807 lexer lexbuf) : (
+# 219 "parser_cocci_menhir.mly"
(Ast_cocci.rulename)
-# 39470 "parser_cocci_menhir.ml"
+# 44574 "parser_cocci_menhir.ml"
))
and iso_meta_main =
fun lexer lexbuf ->
- (Obj.magic (MenhirInterpreter.entry 1360 lexer lexbuf) : (
-# 170 "parser_cocci_menhir.mly"
+ (Obj.magic (MenhirInterpreter.entry 1528 lexer lexbuf) : (
+# 235 "parser_cocci_menhir.mly"
((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 39478 "parser_cocci_menhir.ml"
+# 44582 "parser_cocci_menhir.ml"
))
and iso_main =
fun lexer lexbuf ->
(Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : (
-# 167 "parser_cocci_menhir.mly"
+# 232 "parser_cocci_menhir.mly"
(Ast0_cocci.anything list list)
-# 39486 "parser_cocci_menhir.ml"
+# 44590 "parser_cocci_menhir.ml"
))
and include_main =
fun lexer lexbuf ->
(Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : (
-# 151 "parser_cocci_menhir.mly"
+# 216 "parser_cocci_menhir.mly"
(Data.incl_iso list)
-# 39494 "parser_cocci_menhir.ml"
+# 44598 "parser_cocci_menhir.ml"
))