From: Coccinelle Date: Mon, 10 Jan 2011 08:35:21 +0000 (+0100) Subject: Release coccinelle-0.2.5-rc2 X-Git-Url: https://git.hcoop.net/bpt/coccinelle.git/commitdiff_plain/3a31414346dd7d7e8baa4cb8b804a2d5e1797962 Release coccinelle-0.2.5-rc2 ** Language: - Make a very small attempt to parse C++ code, amounting to accepting identifiers containing ::, tilde, and template invocations. Use the option -c++. This is not likely to be very useful in practice. ** Features: - support transformations on variables (only) in declarations that declare multiple variables - allow #endif XXX in C code - relax_include_path now applied to non local includes too, in which case it tries to find a unique file with a suffix of the provided name. this is useful for directories that are intended to be symbolic links. - support matching and removing #undef - support for iteration in ocaml, requires use of -no_show_diff - calls to likely and unlikely propagate test expression status to their arguments ** Bugfix: - improved parsing of expressions to allow ... to the right of operators in more places --- diff --git a/Makefile.release b/Makefile.release index 60b0322..15923b9 100644 --- a/Makefile.release +++ b/Makefile.release @@ -87,7 +87,7 @@ package-nopython: $(MAKE) docs $(MAKE) bintar $(MAKE) bytecodetar - $(MAKE) staticbintar +# $(MAKE) staticbintar package-python: $(MAKE) distclean # Clean project @@ -156,7 +156,7 @@ coccicheck: clean-packages:: rm -f $(TMP)/$(PACKAGE).tgz rm -f $(TMP)/$(PACKAGE)-bin-x86.tgz - rm -f $(TMP)/$(PACKAGE)-bin-x86-static.tgz +# rm -f $(TMP)/$(PACKAGE)-bin-x86-static.tgz rm -f $(TMP)/$(PACKAGE)-bin-bytecode-$(OCAMLVERSION).tgz rm -f $(TMP)/$(PACKAGE)-bin-x86-python.tgz rm -f $(TMP)/$(PACKAGE)-bin-bytecode-$(OCAMLVERSION)-python.tgz diff --git a/changes.txt b/changes.txt index acc177f..39fffbd 100644 --- a/changes.txt +++ b/changes.txt @@ -15,12 +15,25 @@ * 0.2.5 ** Language: +- Make a very small attempt to parse C++ code, amounting to accepting + identifiers containing ::, tilde, and template invocations. Use the + option -c++. This is not likely to be very useful in practice. ** Features: - support transformations on variables (only) in declarations that declare multiple variables +- allow #endif XXX in C code +- relax_include_path now applied to non local includes too, in which case + it tries to find a unique file with a suffix of the provided name. + this is useful for directories that are intended to be symbolic links. +- support matching and removing #undef +- support for iteration in ocaml, requires use of -no_show_diff +- calls to likely and unlikely propagate test expression status to their + arguments ** Bugfix: +- improved parsing of expressions to allow ... to the right of operators in + more places * 0.2.4 ** Language: diff --git a/cocci.ml b/cocci.ml index 16a4b88..dcab2cf 100644 --- a/cocci.ml +++ b/cocci.ml @@ -62,22 +62,43 @@ let cfile_of_program program2_with_ppmethod outf = (* for memoization, contains only one entry, the one for the SP *) let _hparse = Hashtbl.create 101 +let _h_ocaml_init = Hashtbl.create 101 let _hctl = Hashtbl.create 101 (* --------------------------------------------------------------------- *) (* Cocci related *) (* --------------------------------------------------------------------- *) -let sp_of_file2 file iso = - Common.memoized _hparse (file, iso) (fun () -> - let (_,xs,_,_,_,_,_) as res = Parse_cocci.process file iso false in - (match Prepare_ocamlcocci.prepare file xs with - None -> () - | Some ocaml_script_file -> - (* compile file *) - Prepare_ocamlcocci.load_file ocaml_script_file; - if not !Common.save_tmp_files - then Prepare_ocamlcocci.clean_file ocaml_script_file); - res) +(* for a given pair (file,iso), only keep an instance for the most recent +virtual rules and virtual_env *) + +let sp_of_file2 file iso = + let redo _ = + let new_code = + let (_,xs,_,_,_,_,_) as res = Parse_cocci.process file iso false in + (* if there is already a compiled ML code, do nothing and use that *) + try let _ = Hashtbl.find _h_ocaml_init (file,iso) in res + with Not_found -> + begin + Hashtbl.add _h_ocaml_init (file,iso) (); + match Prepare_ocamlcocci.prepare file xs with + None -> res + | Some ocaml_script_file -> + (* compile file *) + Prepare_ocamlcocci.load_file ocaml_script_file; + (if not !Common.save_tmp_files + then Prepare_ocamlcocci.clean_file ocaml_script_file); + res + end in + Hashtbl.add _hparse (file,iso) + (!Flag.defined_virtual_rules,!Flag.defined_virtual_env,new_code); + new_code in + try + let (rules,env,code) = Hashtbl.find _hparse (file,iso) in + if rules = !Flag.defined_virtual_rules && env = !Flag.defined_virtual_env + then code + else (Hashtbl.remove _hparse (file,iso); redo()) + with Not_found -> redo() + let sp_of_file file iso = Common.profile_code "parse cocci" (fun () -> sp_of_file2 file iso) @@ -551,23 +572,48 @@ let sp_contain_typed_metavar rules = * For the moment we base in part our heuristic on the name of the file, e.g. * serio.c is related we think to #include *) -let rec search_include_path searchlist relpath = - match searchlist with - [] -> Some relpath - | hd::tail -> - let file = Filename.concat hd relpath in - if Sys.file_exists file then - Some file - else - search_include_path tail relpath +let include_table = Hashtbl.create(100) let interpret_include_path relpath = + let maxdepth = List.length relpath in + let unique_file_exists dir f = + let cmd = + Printf.sprintf "find %s -maxdepth %d -mindepth %d -path \"*/%s\"" + dir maxdepth maxdepth f in + match Common.cmd_to_list cmd with + [x] -> Some x + | _ -> None in + let native_file_exists dir f = + let f = Filename.concat dir f in + if Sys.file_exists f + then Some f + else None in + let rec search_include_path exists searchlist relpath = + match searchlist with + [] -> None + | hd::tail -> + (match exists hd relpath with + Some x -> Some x + | None -> search_include_path exists tail relpath) in + let rec search_path exists searchlist = function + [] -> + let res = Common.concat "/" relpath in + Hashtbl.add include_table (searchlist,relpath) res; + Some res + | (hd::tail) as relpath1 -> + let relpath1 = Common.concat "/" relpath1 in + (match search_include_path exists searchlist relpath1 with + None -> search_path unique_file_exists searchlist tail + | Some f -> + Hashtbl.add include_table (searchlist,relpath) f; + Some f) in let searchlist = match !Flag_cocci.include_path with - [] -> ["include"] - | x -> List.rev x - in - search_include_path searchlist relpath + [] -> ["include"] + | x -> List.rev x in + try Some(Hashtbl.find include_table (searchlist,relpath)) + with Not_found -> + search_path native_file_exists searchlist relpath let (includes_to_parse: (Common.filename * Parse_c.program2) list -> @@ -590,7 +636,7 @@ let (includes_to_parse: (match x with | Ast_c.Local xs -> let relpath = Common.join "/" xs in - let f = Filename.concat dir (relpath) in + let f = Filename.concat dir relpath in if (Sys.file_exists f) then Some f else @@ -600,18 +646,17 @@ let (includes_to_parse: let attempt2 = Filename.concat dir (Common.last xs) in if not (Sys.file_exists attempt2) && all_includes then - interpret_include_path relpath + interpret_include_path xs else Some attempt2 else - if all_includes then interpret_include_path relpath + if all_includes then interpret_include_path xs else None | Ast_c.NonLocal xs -> - let relpath = Common.join "/" xs in if all_includes || Common.fileprefix (Common.last xs) =$= Common.fileprefix file then - interpret_include_path relpath + interpret_include_path xs else None | Ast_c.Weird _ -> None ) @@ -1043,7 +1088,7 @@ let rec prepare_h seen env hpath choose_includes : file_info list = if not (Common.lfile_exists hpath) then begin - pr2 ("TYPE: header " ^ hpath ^ " not found"); + pr2_once ("TYPE: header " ^ hpath ^ " not found"); [] end else @@ -1219,6 +1264,7 @@ let ocaml_application mv ve script_vars r = else None with e -> (pr2 ("Failure in " ^ r.scr_rule_info.rulename); raise e) +(* returns Left in case of dependency failure, Right otherwise *) let apply_script_rule r cache newes e rules_that_have_matched rules_that_have_ever_matched script_application = Common.profile_code r.language (fun () -> @@ -1753,32 +1799,42 @@ let pre_engine2 (coccifile, isofile) = | _ -> languages) [] cocci_infos in + let runrule r = + let rlang = r.language in + let rname = r.scr_rule_info.rulename in + try + let _ = List.assoc (rlang,rname) !Iteration.initialization_stack in + () + with Not_found -> + begin + Iteration.initialization_stack := + ((rlang,rname),!Flag.defined_virtual_rules) :: + !Iteration.initialization_stack; + initial_final_bigloop Initial + (fun (x,_,_,y) -> fun deps -> + Ast_cocci.InitialScriptRule(rname,x,deps,y)) + r + end in + let initialized_languages = List.fold_left (function languages -> - function - InitialScriptRuleCocciInfo(r) -> - (if List.mem r.language languages - then - failwith - ("double initializer found for "^r.language)); - if interpret_dependencies [] [] r.scr_rule_info.dependencies - then - begin - initial_final_bigloop Initial - (fun (x,_,_,y) -> fun deps -> - Ast_cocci.InitialScriptRule(r.scr_rule_info.rulename,x,deps,y)) - r; - r.language::languages - end - else languages - | _ -> languages) + function + InitialScriptRuleCocciInfo(r) -> + let rlang = r.language in + (if List.mem rlang languages + then failwith ("double initializer found for "^rlang)); + if interpret_dependencies [] [] r.scr_rule_info.dependencies + then begin runrule r; rlang::languages end + else languages + | _ -> languages) [] cocci_infos in let uninitialized_languages = List.filter (fun used -> not (List.mem used initialized_languages)) used_languages in + List.iter (fun lgg -> let rule_info = @@ -1787,10 +1843,7 @@ let pre_engine2 (coccifile, isofile) = used_after = []; ruleid = (-1); was_matched = ref false;} in - initial_final_bigloop Initial - (fun (x,_,_,y) -> fun deps -> - Ast_cocci.InitialScriptRule("",x,deps,y)) - (make_init lgg "" rule_info)) + runrule (make_init lgg "" rule_info)) uninitialized_languages; (cocci_infos,toks) @@ -1863,21 +1916,26 @@ let full_engine a b = (fun () -> let res = full_engine2 a b in (*Gc.print_stat stderr; *)res) let post_engine2 (cocci_infos,_) = - let _ = - List.fold_left - (function languages -> - function - FinalScriptRuleCocciInfo(r) -> - (if List.mem r.language languages - then failwith ("double finalizer found for "^r.language)); - initial_final_bigloop Final - (fun (x,_,_,y) -> fun deps -> - Ast_cocci.FinalScriptRule(r.scr_rule_info.rulename,x,deps,y)) - r; - r.language::languages - | _ -> languages) - [] cocci_infos in - () + List.iter + (function ((language,_),virt_rules) -> + Flag.defined_virtual_rules := virt_rules; + let _ = + List.fold_left + (function languages -> + function + FinalScriptRuleCocciInfo(r) -> + (if r.language = language && List.mem r.language languages + then failwith ("double finalizer found for "^r.language)); + initial_final_bigloop Final + (fun (x,_,_,y) -> fun deps -> + Ast_cocci.FinalScriptRule(r.scr_rule_info.rulename, + x,deps,y)) + r; + r.language::languages + | _ -> languages) + [] cocci_infos in + ()) + !Iteration.initialization_stack let post_engine a = Common.profile_code "post_engine" (fun () -> post_engine2 a) diff --git a/commons/common.ml b/commons/common.ml index f5640c0..a26986d 100644 --- a/commons/common.ml +++ b/commons/common.ml @@ -426,6 +426,8 @@ let xxx_once f s = let pr2_once s = xxx_once pr2 s +let clear_pr2_once _ = Hashtbl.clear _already_printed + (* ---------------------------------------------------------------------- *) let mk_pr2_wrappers aref = let fpr2 s = @@ -490,9 +492,10 @@ let redirect_stdin file f = let savein = Unix.dup Unix.stdin in Unix.dup2 descr Unix.stdin; - f(); + let res = f() in Unix.dup2 savein Unix.stdin; close_in chan; + res end let redirect_stdin_opt optfile f = diff --git a/commons/common.mli b/commons/common.mli index 2f81a64..4201eeb 100644 --- a/commons/common.mli +++ b/commons/common.mli @@ -142,14 +142,15 @@ val dump: 'a -> string (* see flag: val disable_pr2_once : bool ref *) val _already_printed : (string, bool) Hashtbl.t val pr2_once : string -> unit +val clear_pr2_once : unit -> unit val mk_pr2_wrappers: bool ref -> (string -> unit) * (string -> unit) val redirect_stdout_opt : filename option -> (unit -> 'a) -> 'a val redirect_stdout_stderr : filename -> (unit -> unit) -> unit -val redirect_stdin : filename -> (unit -> unit) -> unit -val redirect_stdin_opt : filename option -> (unit -> unit) -> unit +val redirect_stdin : filename -> (unit -> 'a) -> 'a +val redirect_stdin_opt : filename option -> (unit -> 'a) -> 'a val with_pr2_to_string: (unit -> unit) -> string list diff --git a/configure b/configure index b2d5f71..966e1fb 100755 --- a/configure +++ b/configure @@ -109,7 +109,7 @@ $error += "The program ocaml is missing or is not a good version. We need at least 3.09", ); -unless ($noocamlscripting) { +unless ($noocamlscripting) { $noocamlscripting = check_config("echo \"1;;\\n\" | ocaml |", "Objective(.*) 3.1[1-9]", "OCaml >= 3.11 is present. OCaml scripting activated.", @@ -186,7 +186,6 @@ $error += check_config( We need 3.XX", ); - #--------------------------------------------------------------------- # More developers tools #--------------------------------------------------------------------- @@ -195,6 +194,33 @@ We need 3.XX", # Librairies #--------------------------------------------------------------------- +# Python dev +if($python) { + if(check_config( + "python --version 2>&1 |", + "Python 2\.[567]\..*", + "python is present", + "python is missing or is not a good version." + )) + { + $python=0; + } + if($python) { + my $PY_PREFIX = `python pycaml/getprefix.py | tr -d '\n'`; + my $PY_VERSION = `python pycaml/getversion.py | tr -d '\n'`; + my $python_hdr = "$PY_PREFIX/include/python$PY_VERSION/Python.h"; + if(check_config( + "ls $python_hdr 2> /dev/null | ", + $python_hdr, + "Python.h found", + "Python.h missing - You need to install python-dev" + )) + { + $python=0 + } + } +} + # pycaml. Binding between Python and OCaml my $syspydir=`ocamlfind query pycaml 2> /dev/null | xargs echo -n`; diff --git a/ctl/.depend b/ctl/.depend index b892192..15a6701 100644 --- a/ctl/.depend +++ b/ctl/.depend @@ -1,25 +1,25 @@ -ctl_engine.cmi: ../commons/ograph_extended.cmi ast_ctl.cmo -pretty_print_ctl.cmi: ast_ctl.cmo -wrapper_ctl.cmi: ctl_engine.cmi ast_ctl.cmo -ast_ctl.cmo: -ast_ctl.cmx: +ctl_engine.cmi: ../commons/ograph_extended.cmi ast_ctl.cmo +pretty_print_ctl.cmi: ast_ctl.cmo +wrapper_ctl.cmi: ctl_engine.cmi ast_ctl.cmo +ast_ctl.cmo: +ast_ctl.cmx: ctl_engine.cmo: pretty_print_ctl.cmi ../commons/ograph_extended.cmi \ flag_ctl.cmo ../globals/flag.cmo ../commons/ocamlextra/dumper.cmi \ - ../commons/common.cmi ast_ctl.cmo ctl_engine.cmi + ../commons/common.cmi ast_ctl.cmo ctl_engine.cmi ctl_engine.cmx: pretty_print_ctl.cmx ../commons/ograph_extended.cmx \ flag_ctl.cmx ../globals/flag.cmx ../commons/ocamlextra/dumper.cmx \ - ../commons/common.cmx ast_ctl.cmx ctl_engine.cmi -flag_ctl.cmo: -flag_ctl.cmx: + ../commons/common.cmx ast_ctl.cmx ctl_engine.cmi +flag_ctl.cmo: +flag_ctl.cmx: pretty_print_ctl.cmo: flag_ctl.cmo ../commons/common.cmi ast_ctl.cmo \ - pretty_print_ctl.cmi + pretty_print_ctl.cmi pretty_print_ctl.cmx: flag_ctl.cmx ../commons/common.cmx ast_ctl.cmx \ - pretty_print_ctl.cmi + pretty_print_ctl.cmi test_ctl.cmo: wrapper_ctl.cmi ../commons/ograph_extended.cmi ctl_engine.cmi \ - ast_ctl.cmo + ast_ctl.cmo test_ctl.cmx: wrapper_ctl.cmx ../commons/ograph_extended.cmx ctl_engine.cmx \ - ast_ctl.cmx + ast_ctl.cmx wrapper_ctl.cmo: ../globals/flag.cmo ctl_engine.cmi ../commons/common.cmi \ - ast_ctl.cmo wrapper_ctl.cmi + ast_ctl.cmo wrapper_ctl.cmi wrapper_ctl.cmx: ../globals/flag.cmx ctl_engine.cmx ../commons/common.cmx \ - ast_ctl.cmx wrapper_ctl.cmi + ast_ctl.cmx wrapper_ctl.cmi diff --git a/demos/iteration.cocci b/demos/iteration.cocci new file mode 100644 index 0000000..4b62eb8 --- /dev/null +++ b/demos/iteration.cocci @@ -0,0 +1,110 @@ +// run with the options -no_show_diff and -dir {directory} + +virtual after_start + +@initialize:ocaml@ + +let tbl = Hashtbl.create(100) + +let add_if_not_present from f file = +try let _ = Hashtbl.find tbl (f,file) in () +with Not_found -> + Hashtbl.add tbl (f,file) file; + let it = new iteration() in + (match file with + Some fl -> it#set_files [fl] + | None -> ()); + it#add_virtual_rule After_start; + it#add_virtual_identifier Err_ptr_function f; + it#register() + +@r depends on !after_start exists@ +identifier fn; +position p; +@@ + +fn@p(...) { <+... return (ERR_PTR(...)); ...+> } + +@statfns@ +identifier r.fn; +position r.p; +@@ + +static fn@p(...) { ... } + +@script:ocaml depends on statfns@ +fn << r.fn; +p << r.p; +@@ + +add_if_not_present "ERR_PTR" fn (Some ((List.hd p).file)) + +@script:ocaml depends on !statfns@ +fn << r.fn; +p << r.p; +@@ + +add_if_not_present "ERR_PTR" fn None + +// ----------------------------------------------------------------------- +// iterate + +@s depends on after_start exists@ +identifier virtual.err_ptr_function, fn; +position p; +@@ + +fn@p(...) { <+... return err_ptr_function(...); ...+> } + +@statfns_call@ +identifier s.fn; +position s.p; +@@ + +static fn@p(...) { ... } + +@script:ocaml depends on statfns_call@ +fn << s.fn; +p << s.p; +err_ptr_function << virtual.err_ptr_function; +@@ + +add_if_not_present err_ptr_function fn (Some ((List.hd p).file)) + +@script:ocaml depends on !statfns_call@ +fn << s.fn; +p << s.p; +err_ptr_function << virtual.err_ptr_function; +@@ + +add_if_not_present err_ptr_function fn None + +// ----------------------------------------------------------------------- +// find bugs + +@e depends on after_start exists@ +identifier virtual.err_ptr_function; +expression x; +identifier fld; +position p1,p2; +@@ + +( +IS_ERR(x = err_ptr_function(...)) +| +x@p1 = err_ptr_function(...) +) +... when != IS_ERR(x) +( + (IS_ERR(x) ||...) +| +x@p2->fld +) + +@script:python@ +p1 << e.p1; +p2 << e.p2; +@@ + +cocci.print_main("def",p1) +cocci.print_secs("ref",p2) diff --git a/dllpycaml_stubs.so b/dllpycaml_stubs.so deleted file mode 100755 index 513bece..0000000 Binary files a/dllpycaml_stubs.so and /dev/null differ diff --git a/docs/manual/main_grammar.pdf b/docs/manual/main_grammar.pdf index 979d608..44969fe 100644 Binary files a/docs/manual/main_grammar.pdf and b/docs/manual/main_grammar.pdf differ diff --git a/docs/manual/manual.pdf b/docs/manual/manual.pdf index f111888..394920d 100644 Binary files a/docs/manual/manual.pdf and b/docs/manual/manual.pdf differ diff --git a/docs/manual/options.pdf b/docs/manual/options.pdf index 021cead..3448bae 100644 Binary files a/docs/manual/options.pdf and b/docs/manual/options.pdf differ diff --git a/docs/manual/spatch_options.tex b/docs/manual/spatch_options.tex index 8163480..8247ed2 100644 --- a/docs/manual/spatch_options.tex +++ b/docs/manual/spatch_options.tex @@ -321,6 +321,12 @@ other \#ifdef.} patch specifies a subdirectory. This is really only useful for testing, eg with the option {\bf -testall}} +\rare{-c++}{Make an extremely minimal effort to parse C++ code. Currently, + this is limited to allowing identifiers to contain ``::'', tilde, and + template invocations. Consider testing your code first with spatch + -type\_c to see if there are any type annotations in the code you are + interested in processing. If not, then it was probably not parsed.} + \section{Application of the semantic patch to the C code} \subsection{Feedback at the rule level during the application of the diff --git a/engine/check_exhaustive_pattern.ml b/engine/check_exhaustive_pattern.ml index d1272ae..1619532 100644 --- a/engine/check_exhaustive_pattern.ml +++ b/engine/check_exhaustive_pattern.ml @@ -65,6 +65,7 @@ let dumb_astcocci_rule_elem = function | A.Return _ -> () | A.ReturnExpr (_, ea, _) -> () | A.DefineHeader _ -> () + | A.Undef _ -> () | A.Include _ -> () | A.Default _ -> () | A.Case _ -> () diff --git a/engine/cocci_vs_c.ml b/engine/cocci_vs_c.ml index d09bd4c..1e9249e 100644 --- a/engine/cocci_vs_c.ml +++ b/engine/cocci_vs_c.ml @@ -1744,7 +1744,7 @@ and (declaration: (A.mcodekind * bool * A.declaration,B.declaration) matcher) = )))) tin)) fail else - failwith "More that one variable in decl. Have to split to transform." + failwith "More that one variable in decl. Have to split to transform. Check that there is no transformation on the type or the ;" | A.MacroDecl (sa,lpa,eas,rpa,enda), B.MacroDecl ((sb,ebs),ii) -> let (iisb, lpb, rpb, iiendb, iifakestart, iistob) = @@ -3974,6 +3974,15 @@ let rec (rule_elem_node: (A.rule_elem, Control_flow_c.node) matcher) = ))) else fail + | A.Undef(undefa,ida), F.DefineHeader ((idb, ii), B.Undef) -> + let (defineb, iidb, ieol) = tuple_of_list3 ii in + ident DontKnow ida (idb, iidb) >>= (fun ida (idb, iidb) -> + tokenf undefa defineb >>= (fun undefa defineb -> + return ( + A.Undef(undefa,ida), + F.DefineHeader ((idb,[defineb;iidb;ieol]),B.Undef) + )) + ) | A.DefineHeader(definea,ida,params), F.DefineHeader ((idb, ii), defkind) -> @@ -4073,7 +4082,8 @@ let rec (rule_elem_node: (A.rule_elem, Control_flow_c.node) matcher) = (F.Label (_, _, _)|F.Break (_, _)|F.Continue (_, _)|F.Default (_, _)| F.Case (_, _)|F.Include _|F.Goto _|F.ExprStatement _| F.DefineType _|F.DefineExpr _|F.DefineTodo| - F.DefineHeader (_, _)|F.ReturnExpr (_, _)|F.Return (_, _)|F.MacroIterHeader (_, _)| + F.DefineHeader (_, _)|F.ReturnExpr (_, _)|F.Return (_, _)| + F.MacroIterHeader (_, _)| F.SwitchHeader (_, _)|F.ForHeader (_, _)|F.DoWhileTail _|F.DoHeader (_, _)| F.WhileHeader (_, _)|F.Else _|F.IfHeader (_, _)| F.SeqEnd (_, _)|F.SeqStart (_, _, _)| diff --git a/globals/Makefile b/globals/Makefile index b292746..838ceea 100644 --- a/globals/Makefile +++ b/globals/Makefile @@ -28,10 +28,10 @@ ############################################################################## TARGET=globals -SRC= flag.ml config.ml +SRC= flag.ml config.ml iteration.ml LIBS= -INCLUDES= +INCLUDES= -I ../commons ############################################################################## # Generic variables diff --git a/globals/config.ml.in b/globals/config.ml.in index 3fcb65a..9820475 100644 --- a/globals/config.ml.in +++ b/globals/config.ml.in @@ -1,4 +1,4 @@ -let version = "0.2.5-rc1" +let version = "0.2.5-rc2" let path = try (Sys.getenv "COCCINELLE_HOME") diff --git a/globals/flag.ml b/globals/flag.ml index 45451d1..9300545 100644 --- a/globals/flag.ml +++ b/globals/flag.ml @@ -60,3 +60,5 @@ let set_defined_virtual_rules s = match Str.split (Str.regexp "=") s with [name;vl] -> defined_virtual_env := (name,vl) :: !defined_virtual_env | _ -> defined_virtual_rules := s :: !defined_virtual_rules + +let c_plus_plus = ref false diff --git a/globals/iteration.ml b/globals/iteration.ml new file mode 100644 index 0000000..0dc76b8 --- /dev/null +++ b/globals/iteration.ml @@ -0,0 +1,81 @@ +(* + * Copyright 2010, INRIA, University of Copenhagen + * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix + * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + +type init_info = (string (* language *) * string (* rule name *)) * + string list (* defined virtual rules *) + +let initialization_stack = ref ([] : init_info list) + +(* ----------------------------------------------------------------------- *) + +let base_file_list = ref ([] : string list) +let parsed_virtual_rules = ref ([] : string list) +let parsed_virtual_identifiers = ref ([] : string list) + +(* ----------------------------------------------------------------------- *) + +type pending_info = string list (* files to treat *) * + string list * (* defined virtual rules *) + (string * string) list (* virtual identifiers *) + +let pending_instances_file = ref ([] : pending_info list) +let pending_instances_dir = ref ([] : pending_info list) + +let add_pending_instance (files,a,b) = + match files with + None -> + pending_instances_dir := (!base_file_list,a,b) :: !pending_instances_dir + | Some f -> + (* if one specifies a file, it is assumed to be the current one *) + pending_instances_file := (f,a,b) :: !pending_instances_file + +let get_pending_instance _ = + (if (List.length !pending_instances_file) > 0 or + (List.length !pending_instances_dir) > 0 + then + Common.pr2 + (Printf.sprintf + "%d pending new file instances\n%d pending original file instances\n" + (List.length !pending_instances_file) + (List.length !pending_instances_dir))); + match !pending_instances_file with + [] -> + (match !pending_instances_dir with + [] -> None + | x::xs -> + pending_instances_dir := xs; + Some x) + | x::xs -> + pending_instances_file := xs; + Some x + +(* ----------------------------------------------------------------------- *) + +let check_virtual_rule r = + if not (List.mem r !parsed_virtual_rules) + then failwith ("unknown virtual rule "^r) + +let check_virtual_ident i = + if not (List.mem i !parsed_virtual_identifiers) + then failwith ("unknown virtual rule "^i) diff --git a/test.ml b/globals/iteration.mli similarity index 51% rename from test.ml rename to globals/iteration.mli index 795d0fa..8e0d0ea 100644 --- a/test.ml +++ b/globals/iteration.mli @@ -22,4 +22,30 @@ *) -let foo_ctl () = failwith "there is no foo_ctl formula" +type init_info = (string (* language *) * string (* rule name *)) * + string list (* defined virtual rules *) + +val initialization_stack : init_info list ref + +(* ----------------------------------------------------------------------- *) + +val base_file_list : string list ref +val parsed_virtual_rules : string list ref +val parsed_virtual_identifiers : string list ref + +(* ----------------------------------------------------------------------- *) + +type pending_info = string list (* files to treat *) * + string list * (* defined virtual rules *) + (string * string) list (* virtual identifiers *) + +val add_pending_instance : + (* input is like pending_info, but with an extra option on files *) + (string list option * string list * (string * string) list) -> unit + +val get_pending_instance : unit -> pending_info option + +(* ----------------------------------------------------------------------- *) + +val check_virtual_rule : string -> unit +val check_virtual_ident : string -> unit diff --git a/main.ml b/main.ml index b2cedc3..286db18 100644 --- a/main.ml +++ b/main.ml @@ -345,7 +345,7 @@ let short_options = [ " guess what"; "-date", Arg.Unit (fun () -> - pr2 "version: $Date: 2010/11/13 21:06:27 $"; + pr2 "version: $Date: 2010/12/29 13:42:18 $"; raise (Common.UnixExit 0) ), " guess what"; @@ -582,6 +582,8 @@ let other_options = [ " spacing of + code follows the semantic patch"; "-D", Arg.String Flag.set_defined_virtual_rules, " indicate that a virtual rule should be considered to be matched"; + "-c++", Arg.Set Flag.c_plus_plus, + " make a small attempt to parse C++ files" ]; "misc options", @@ -727,20 +729,20 @@ let _ = long_usage_func := long_usage (* Helpers *) (*****************************************************************************) -let adjust_stdin cfile k = - if !dir - then k() - else - let newin = - try - let (dir, base, ext) = Common.dbe_of_filename cfile in - let varfile = Common.filename_of_dbe (dir, base, "var") in - if ext =$= "c" && Common.lfile_exists varfile - then Some varfile - else None - with Invalid_argument("Filename.chop_extension") -> None - in - Common.redirect_stdin_opt newin k +(* for fresh identifier information *) +let adjust_stdin cfiles k = + match cfiles with + [] -> failwith "not possible" + | cfile::_ -> + let newin = + try + let (dir, base, ext) = Common.dbe_of_filename cfile in + let varfile = Common.filename_of_dbe (dir, base, "var") in + if ext =$= "c" && Common.lfile_exists varfile + then Some varfile + else None + with Invalid_argument("Filename.chop_extension") -> None in + Common.redirect_stdin_opt newin k let glimpse_filter (coccifile, isofile) dir = let (_metavars,astcocci,_free_var_lists,_negated_positions, @@ -785,255 +787,265 @@ let idutils_filter (coccifile, isofile) dir = (*****************************************************************************) let main_action xs = - match xs with - | x::xs -> - + Iteration.base_file_list := xs; + let rec toploop = function + [] -> raise Impossible + | x::xs -> (* a more general solution would be to use * Common.files_of_dir_or_files (x::xs) * as some elements in xs may also be directories, or individual * files. *) - if Common.is_directory x - then dir := true; - - adjust_stdin x (fun () -> - if !cocci_file =$= "" - then failwith "I need a cocci file, use -sp_file "; - - if !dir && !Flag.patch =*= None - then - (match xs with - | [] -> Flag.patch := Some (Cocci.normalize_path x) - | _ -> - pr2 - ("warning: patch output can only be created when only one\n"^ - "directory is specified or when the -patch flag is used") - ); - Flag.dir := x; - - let infiles = - Common.profile_code "Main.infiles computation" (fun () -> - match !dir, !kbuild_info, !Flag.scanner with + dir := (Common.is_directory x); + + if !cocci_file =$= "" + then failwith "I need a cocci file, use -sp_file "; + + if !dir && !Flag.patch =*= None + then + (match xs with + | [] -> Flag.patch := Some (Cocci.normalize_path x) + | _ -> + pr2 + ("warning: patch output can only be created when only one\n"^ + "directory is specified or when the -patch flag is used") + ); + Flag.dir := x; + + let infiles = + Common.profile_code "Main.infiles computation" (fun () -> + match !dir, !kbuild_info, !Flag.scanner with (* glimpse *) - | false, _, (Flag.Glimpse|Flag.IdUtils) -> - failwith "-use_glimpse or -id_utils works only with -dir" - | true, s, (Flag.Glimpse|Flag.IdUtils) when s <> "" -> - failwith "-use_glimpse or -id_utils does not work with -kbuild" - | true, "", Flag.Glimpse -> - (if not (null xs) - then failwith "-use_glimpse can accept only one dir"); - - let files = - match glimpse_filter (!cocci_file, !Config.std_iso) x with - None -> - Common.cmd_to_list (* same as "true, "", _" case *) - (if !include_headers + | false, _, (Flag.Glimpse|Flag.IdUtils) -> [x::xs] + | true, s, (Flag.Glimpse|Flag.IdUtils) when s <> "" -> + failwith + "-use_glimpse or -id_utils does not work with -kbuild" + | true, "", Flag.Glimpse -> + (if not (null xs) + then failwith "-use_glimpse can accept only one dir"); + + let files = + match glimpse_filter (!cocci_file, !Config.std_iso) x with + None -> + Common.cmd_to_list (* same as "true, "", _" case *) + (if !include_headers (* FIXME : Could we remove xs ? -use_glimpse requires a singleton. This is checked some lines before. then ("find "^(join " " (x::xs))^" -name \"*.[ch]\"") - else ("find "^(join " " (x::xs))^" -name \"*.c\"")) + else ("find "^(join " " (x::xs))^" -name \"*.c\"") *) - then ("find "^ x ^" -name \"*.[ch]\"") - else ("find "^ x ^" -name \"*.c\"")) - | Some files -> files in - files +> List.map (fun x -> [x]) - | true, "", Flag.IdUtils -> - (if not (null xs) - then failwith "-id_utils can accept only one dir"); - - let files = - match idutils_filter (!cocci_file, !Config.std_iso) x with - None -> - Common.cmd_to_list (* same as "true, "", _" case *) - (if !include_headers + then ("find "^ x ^" -name \"*.[ch]\"") + else ("find "^ x ^" -name \"*.c\"")) + | Some files -> files in + files +> List.map (fun x -> [x]) + | true, "", Flag.IdUtils -> + (if not (null xs) + then failwith "-id_utils can accept only one dir"); + + let files = + match idutils_filter (!cocci_file, !Config.std_iso) x with + None -> + Common.cmd_to_list (* same as "true, "", _" case *) + (if !include_headers (* FIXME : Could we remove xs ? -use_glimpse requires a singleton. This is checked some lines before. then ("find "^(join " " (x::xs))^" -name \"*.[ch]\"") - else ("find "^(join " " (x::xs))^" -name \"*.c\"")) + else ("find "^(join " " (x::xs))^" -name \"*.c\"") *) - then ("find "^ x ^" -name \"*.[ch]\"") - else ("find "^ x ^" -name \"*.c\"")) - | Some files -> files in - files +> List.map (fun x -> [x]) + then ("find "^ x ^" -name \"*.[ch]\"") + else ("find "^ x ^" -name \"*.c\"")) + | Some files -> files in + files +> List.map (fun x -> [x]) (* normal *) - | false, _, _ -> [x::xs] - | true, "", _ -> - Common.cmd_to_list - (if !include_headers - then ("find "^(join " " (x::xs))^" -name \"*.[ch]\"") + | false, _, _ -> [x::xs] + | true, "", _ -> + Common.cmd_to_list + (if !include_headers + then ("find "^(join " " (x::xs))^" -name \"*.[ch]\"") else ("find "^(join " " (x::xs))^" -name \"*.c\"")) - +> List.map (fun x -> [x]) - + +> List.map (fun x -> [x]) + (* kbuild *) - | true, kbuild_info_file,_ -> - let dirs = - Common.cmd_to_list ("find "^(join " " (x::xs))^" -type d") - in - let info = Kbuild.parse_kbuild_info kbuild_info_file in - let groups = Kbuild.files_in_dirs dirs info in - - groups +> List.map (function Kbuild.Group xs -> xs) - ) - in - - let infiles = - match (!distrib_index,!distrib_max) with - (None,None) -> infiles - | (Some index,Some max) -> - (if index >= max - then - failwith "index starts at 0, and so must be less than max"); - if !mod_distrib - then - let rec loop ct = function - [] -> [] - | x::xs -> - if (ct mod max) =|= index - then x::(loop (ct+1) xs) - else loop (ct+1) xs in - loop 0 infiles - else - begin - let all_files = List.length infiles in - let regions = (all_files + (max - 1)) / max in - let this_min = index * regions in - let this_max = (index+1) * regions in + | true, kbuild_info_file,_ -> + let dirs = + Common.cmd_to_list ("find "^(join " " (x::xs))^" -type d") + in + let info = Kbuild.parse_kbuild_info kbuild_info_file in + let groups = Kbuild.files_in_dirs dirs info in + + groups +> List.map (function Kbuild.Group xs -> xs) + ) + in + + let infiles = + match (!distrib_index,!distrib_max) with + (None,None) -> infiles + | (Some index,Some max) -> + (if index >= max + then + failwith "index starts at 0, and so must be less than max"); + if !mod_distrib + then let rec loop ct = function - [] -> [] + [] -> [] | x::xs -> - if this_min <= ct && ct < this_max + if (ct mod max) =|= index then x::(loop (ct+1) xs) else loop (ct+1) xs in loop 0 infiles - end - | _ -> failwith "inconsistent distribution information" in - - let outfiles = - Common.profile_code "Main.outfiles computation" (fun () -> - let cocci_infos = - Cocci.pre_engine (!cocci_file, !Config.std_iso) in - let res = - infiles +> List.map (fun cfiles -> - pr2 ("HANDLING: " ^ (join " " cfiles)); - Common.timeout_function_opt !FC.timeout (fun () -> - Common.report_if_take_time 10 (join " " cfiles) (fun () -> - (*let s = profile_diagnostic() in*) - (* Unix.sleep 1; *) - try - let optfile = - if !output_file <> "" && !compat_mode then - Some !output_file - else - None - in - Common.redirect_stdout_opt optfile (fun () -> + else + begin + let all_files = List.length infiles in + let regions = (all_files + (max - 1)) / max in + let this_min = index * regions in + let this_max = (index+1) * regions in + let rec loop ct = function + [] -> [] + | x::xs -> + if this_min <= ct && ct < this_max + then x::(loop (ct+1) xs) + else loop (ct+1) xs in + loop 0 infiles + end + | _ -> failwith "inconsistent distribution information" in + + let (cocci_infos,outfiles) = + Common.profile_code "Main.outfiles computation" (fun () -> + let cocci_infos = + Cocci.pre_engine (!cocci_file, !Config.std_iso) in + let res = + infiles +> List.map (fun cfiles -> + pr2 ("HANDLING: " ^ (join " " cfiles)); + Common.timeout_function_opt !FC.timeout (fun () -> + Common.report_if_take_time 10 (join " " cfiles) (fun () -> + try + let optfile = + if !output_file <> "" && !compat_mode then + Some !output_file + else + None + in + adjust_stdin cfiles (fun () -> + Common.redirect_stdout_opt optfile (fun () -> (* this is the main call *) - Cocci.full_engine cocci_infos cfiles - ) - with + Cocci.full_engine cocci_infos cfiles + )) + with | Common.UnixExit x -> raise (Common.UnixExit x) | Pycocci.Pycocciexception -> raise Pycocci.Pycocciexception | e -> - (*pr2 "previous"; - pr2 s; - pr2 "new"; - pr2(profile_diagnostic());*) if !dir then begin pr2 ("EXN:" ^ Printexc.to_string e); [] (* *) end else raise e))) in - Cocci.post_engine cocci_infos; - res - ) +> List.concat - in - - Common.profile_code "Main.result analysis" (fun () -> - Ctlcocci_integration.print_bench(); - let outfiles = Cocci.check_duplicate_modif outfiles in - outfiles +> List.iter (fun (infile, outopt) -> - outopt +> Common.do_option (fun outfile -> - if !inplace_modif - then begin - (match !backup_suffix with - Some backup_suffix -> - Common.command2 ("cp "^infile^" "^infile^backup_suffix) - | None -> ()); - Common.command2 ("cp "^outfile^" "^infile); - end; - - if !outplace_modif - then Common.command2 ("cp "^outfile^" "^infile^".cocci_res"); - + (cocci_infos,res)) in + let outfiles = List.concat outfiles in + (match Iteration.get_pending_instance() with + None -> (x,xs,cocci_infos,outfiles) + | Some (files,virt_rules,virt_ids) -> + if outfiles = [] or outfiles = [] or not !FC.show_diff + then + begin + Flag.defined_virtual_rules := virt_rules; + Flag.defined_virtual_env := virt_ids; + Common.erase_temp_files(); + Common.clear_pr2_once(); + toploop files + end + else + begin + Common.pr2 + "Transformation not compatible with iteration. Aborting."; + (x,xs,cocci_infos,outfiles) + end) in + let (x,xs,cocci_infos,outfiles) = toploop xs in + + Cocci.post_engine cocci_infos; + Common.profile_code "Main.result analysis" (fun () -> + Ctlcocci_integration.print_bench(); + let outfiles = Cocci.check_duplicate_modif outfiles in + outfiles +> List.iter (fun (infile, outopt) -> + outopt +> Common.do_option (fun outfile -> + if !inplace_modif + then begin + (match !backup_suffix with + Some backup_suffix -> + Common.command2 ("cp "^infile^" "^infile^backup_suffix) + | None -> ()); + Common.command2 ("cp "^outfile^" "^infile); + end; + + if !outplace_modif + then Common.command2 ("cp "^outfile^" "^infile^".cocci_res"); + (* potential source of security pb if the /tmp/ file is - * a symlink, so simpler to not produce any regular file - * (files created by Common.new_temp_file are still ok) - * anymore in /tmp. - *) + * a symlink, so simpler to not produce any regular file + * (files created by Common.new_temp_file are still ok) + * anymore in /tmp. + *) (* - if !output_file =$= "" - then begin - let tmpfile = "/tmp/"^Common.basename infile in - pr2 (spf "One file modified. Result is here: %s" tmpfile); - Common.command2 ("cp "^outfile^" "^tmpfile); + if !output_file =$= "" + then begin + let tmpfile = "/tmp/"^Common.basename infile in + pr2 (spf "One file modified. Result is here: %s" tmpfile); + Common.command2 ("cp "^outfile^" "^tmpfile); end *) )); - if !output_file <> "" && not !compat_mode then - (match outfiles with - | [infile, Some outfile] when infile =$= x && null xs -> - Common.command2 ("cp " ^outfile^ " " ^ !output_file); - | [infile, None] when infile =$= x && null xs -> - Common.command2 ("cp " ^infile^ " " ^ !output_file); - | _ -> - failwith - ("-o can not be applied because there is multiple " ^ - "modified files"); - ); - if !compare_with_expected - then Testing.compare_with_expected outfiles)) - - | [] -> raise Impossible - - + if !output_file <> "" && not !compat_mode then + (match outfiles with + | [infile, Some outfile] when infile =$= x && null xs -> + Common.command2 ("cp " ^outfile^ " " ^ !output_file); + | [infile, None] when infile =$= x && null xs -> + Common.command2 ("cp " ^infile^ " " ^ !output_file); + | _ -> + failwith + ("-o can not be applied because there are multiple " ^ + "modified files"); + ); + if !compare_with_expected + then Testing.compare_with_expected outfiles) + + (*****************************************************************************) (* The coccinelle main entry point *) (*****************************************************************************) let main () = begin let arglist = Array.to_list Sys.argv in - + if not (null (Common.inter_set arglist - ["-cocci_file";"-sp_file";"-sp";"-test";"-testall"; + ["-cocci_file";"-sp_file";"-sp";"-test";"-testall"; "-test_okfailed";"-test_regression_okfailed"])) then run_profile quiet_profile; - + let args = ref [] in - + (* Gc.set {(Gc.get ()) with Gc.stack_limit = 1024 * 1024};*) - + (* this call can set up many global flag variables via the cmd line *) arg_parse2 (Arg.align all_options) (fun x -> args := x::!args) usage_msg; - + (* julia hack so that one can override directories specified on - * the command line. *) + * the command line. *) (if !dir then let chosen_dir = - if List.length !args > 1 - then - begin - let chosen = List.hd !args in - Flag.dir := chosen; - pr2 ("ignoring all but the last specified directory: "^chosen); - args := [chosen]; - chosen - end - else List.hd !args in + if List.length !args > 1 + then + begin + let chosen = List.hd !args in + Flag.dir := chosen; + pr2 ("ignoring all but the last specified directory: "^chosen); + args := [chosen]; + chosen + end + else List.hd !args in if !FC.include_path =*= [] then FC.include_path := [Filename.concat chosen_dir "include"]); @@ -1071,13 +1083,15 @@ let main () = let testfile = x ^ ".cocci" in if Sys.file_exists (prefix ^ testfile) then begin - FC.include_path := [prefix^"include"]; + (if !FC.include_path = [] + then FC.include_path := [prefix^"include"]); Testing.testone prefix x !compare_with_expected end else if Sys.file_exists testfile then begin - FC.include_path := ["include"]; + (if !FC.include_path = [] + then FC.include_path := ["include"]); Testing.testone "" x !compare_with_expected end else @@ -1085,7 +1099,8 @@ let main () = end | [] when !test_all -> - FC.include_path := ["tests/include"]; + (if !FC.include_path = [] + then FC.include_path := ["tests/include"]); if !expected_score_file <> "" then Testing.testall ~expected_score_file:!expected_score_file () else Testing.testall () @@ -1093,11 +1108,11 @@ let main () = | [] when !test_regression_okfailed -> Testing.test_regression_okfailed () - | x::xs when !test_okfailed -> + | ((x::xs) as cfiles) when !test_okfailed -> (* do its own timeout on FC.timeout internally *) FC.relax_include_path := true; - adjust_stdin x (fun () -> - Testing.test_okfailed !cocci_file (x::xs) + adjust_stdin cfiles (fun () -> + Testing.test_okfailed !cocci_file cfiles ) (* --------------------------------------------------------- *) @@ -1108,7 +1123,7 @@ let main () = Common.do_action !action xs all_actions | [file] when !action =$= "-parse_cocci" -> - Testing.test_parse_cocci file + Testing.test_parse_cocci file (* I think this is used by some scripts in some Makefile for our * big-tests. So dont remove. diff --git a/ocaml/prepare_ocamlcocci.mli b/ocaml/prepare_ocamlcocci.mli index b0fd387..ff4264f 100644 --- a/ocaml/prepare_ocamlcocci.mli +++ b/ocaml/prepare_ocamlcocci.mli @@ -2,7 +2,7 @@ exception CompileFailure of string exception LinkFailure of string -val prepare : string -> Ast_cocci.rule list -> string option (* filename *) +val prepare : string -> Ast_cocci.rule list -> string option val load_file : string -> unit val clean_file : string -> unit val test : unit -> unit diff --git a/ocaml/yes_prepare_ocamlcocci.ml b/ocaml/yes_prepare_ocamlcocci.ml index 8498189..629edad 100644 --- a/ocaml/yes_prepare_ocamlcocci.ml +++ b/ocaml/yes_prepare_ocamlcocci.ml @@ -96,6 +96,54 @@ let manage_script_vars script_vars = (loop (n+1) xs) in loop 0 script_vars +(* ---------------------------------------------------------------------- *) +(* Iteration management *) + +let print_iteration_code o = + let translator l = + String.concat "\n | " + (List.map + (function x -> Printf.sprintf "%s -> \"%s\"" + (String.capitalize x) x) + l) in + let add_virt_rules_method = + match !Iteration.parsed_virtual_rules with + [] -> "" + | l -> + Printf.sprintf " + method add_virtual_rule r = + let r = match r with %s in + virtual_rules <- Common.union_set [r] virtual_rules\n" + (translator l) in + let add_virt_ids_method = + match !Iteration.parsed_virtual_identifiers with + [] -> "" + | l -> + Printf.sprintf " + method add_virtual_identifier i v = + let i = match i with %s in + try + let v1 = List.assoc i virtual_identifiers in + if not (v = v1) + then failwith (\"multiple values specified for \"^i) + with Not_found -> + virtual_identifiers <- (i,v) :: virtual_identifiers" + (translator l) in + Printf.fprintf o " +class iteration () = + object + val mutable files = None + val mutable files_changed = false + val mutable virtual_rules = ([] : string list) + val mutable virtual_identifiers = ([] : (string * string) list) + method set_files f = files <- Some f + %s%s + method register () = + Iteration.add_pending_instance (files,virtual_rules,virtual_identifiers) + end\n\n" add_virt_rules_method add_virt_ids_method + +(* ---------------------------------------------------------------------- *) + let prepare_rule (name, metavars, script_vars, code) = let fname = String.concat "_" (Str.split (Str.regexp " ") name) in (* function header *) @@ -147,20 +195,37 @@ let prepare coccifile code = if init_rules = [] && other_rules = [] then None else - let basefile = Filename.basename (Filename.chop_extension coccifile) in - let basefile = - String.concat "_" (Str.split (Str.regexp "-") basefile) in - let (file,o) = Filename.open_temp_file basefile ".ml" in + begin + let basefile = Filename.basename (Filename.chop_extension coccifile) in + let basefile = + String.concat "_" (Str.split (Str.regexp "-") basefile) in + let (file,o) = Filename.open_temp_file basefile ".ml" in (* Global initialization *) - Printf.fprintf o "%s" (init_ocamlcocci()); + Printf.fprintf o "%s\n" (init_ocamlcocci()); + (* virtual rules and identifiers *) + (if !Iteration.parsed_virtual_rules != [] + then + Printf.fprintf o "type __virtual_rules__ = %s\n\n" + (String.concat " | " + (List.map String.capitalize !Iteration.parsed_virtual_rules))); + (if !Iteration.parsed_virtual_identifiers != [] + then + Printf.fprintf o "type __virtual_identifiers__ = %s\n\n" + (String.concat " | " + (List.map + (function x -> Printf.sprintf "%s" x) + (List.map String.capitalize + !Iteration.parsed_virtual_identifiers)))); + print_iteration_code o; (* Semantic patch specific initialization *) Printf.fprintf o "%s" (String.concat "\n\n" init_rules); (* Semantic patch rules and finalizer *) let rule_code = List.map prepare_rule other_rules in - Printf.fprintf o "%s" (String.concat "\n\n" rule_code); - close_out o; - check_runtime (); - Some file + Printf.fprintf o "%s" (String.concat "\n\n" rule_code); + close_out o; + check_runtime (); + Some file + end let filter_dep (accld, accinc) dep = match dep with @@ -182,7 +247,8 @@ let filter_dep (accld, accinc) dep = | "Weak" (* Coccilib is filtered out too *) - | "Coccilib" | "Common" | "Ast_c" | "Visitor_c" | "Lib_parsing_c" -> + | "Coccilib" | "Common" | "Ast_c" | "Visitor_c" | "Lib_parsing_c" + | "Iteration" -> (accld, accinc) | "Dbm" -> ("dbm"::accld, accinc) @@ -295,8 +361,8 @@ let load_file mlfile = (* let linklibs = link_libs lklibs in *) let flags = Printf.sprintf - "-thread -g -dtypes -I %s %s -I %s/ocaml -I %s/parsing_c -I %s/commons " - sysdir inc Config.path Config.path Config.path in + "-thread -g -dtypes -I %s %s -I %s/globals -I %s/ocaml -I %s/parsing_c -I %s/commons " + sysdir inc Config.path Config.path Config.path Config.path in let (obj, cmd) = if Dynlink.is_native then compile_native_cmd flags mlfile diff --git a/output b/output new file mode 100644 index 0000000..a0abdff --- /dev/null +++ b/output @@ -0,0 +1,1481 @@ +Script started on 2011-01-09T21:02:36 CET +hadrien:~/coccinelle-release: make package +Makefile.config is missing. Have you run ./configure? +make package-src +make[1]: Entering directory `/home/jll/coccinelle-release' +Makefile.config is missing. Have you run ./configure? +make distclean # Clean project +make[2]: Entering directory `/home/jll/coccinelle-release' +Makefile.config is missing. Have you run ./configure? +if [ -d tools ] ; then make -C tools distclean ; fi +make[3]: Entering directory `/home/jll/coccinelle-release/tools' +rm -f spp gitgrep splitpatch extract_c_and_res +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f .depend +make[3]: Leaving directory `/home/jll/coccinelle-release/tools' +make -C docs distclean +make[3]: Entering directory `/home/jll/coccinelle-release/docs' +rm -f spatch.1 +make -C manual distclean +make[4]: Entering directory `/home/jll/coccinelle-release/docs/manual' +rm -f *.aux *.dvi *.haux *.htoc *.log *.out *~ +rm -f main-diff.* +rm -f *.aux \ + *.bbl \ + *.blg \ + *.dvi \ + *.log \ + *.out \ + *.toc +rm -f manual.pdf cocci_syntax.pdf options.pdf +rm -f *.pdf *.html *.gif *.css +make[4]: Leaving directory `/home/jll/coccinelle-release/docs/manual' +make[3]: Leaving directory `/home/jll/coccinelle-release/docs' +set -e; for i in pycaml ocamlsexp commons globals menhirlib ctl parsing_cocci parsing_c engine popl09 extra python ocaml; do make -C $i clean; done +make[3]: Entering directory `/home/jll/coccinelle-release/pycaml' +rm -f pycaml.customtop +rm -f *.cm[aiox] *.a +rm -f pycaml pycaml.top pycaml.cmi pycaml.cmo pycaml.cmx pycaml.asm pycaml.s pycaml.o pycaml_ml.o pycaml.cma pycaml.cmxa pycaml.a pycaml.cmi pycaml.cmo pycaml.cmi pycaml.cmx pycaml.o libpycaml_stubs.a pycaml.annot .cmi .cmo .cmx .o dllpycaml_stubs.so +rm -rf ._bcdi ._ncdi ._d +make[3]: Leaving directory `/home/jll/coccinelle-release/pycaml' +make[3]: Entering directory `/home/jll/coccinelle-release/ocamlsexp' +rm -f sexplib.top +rm -f lexer.ml +rm -f parser.ml parser.mli parser.output +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[3]: Leaving directory `/home/jll/coccinelle-release/ocamlsexp' +make[3]: Entering directory `/home/jll/coccinelle-release/commons' +rm -f commons.top +rm -f dllcommons_backtrace.so +rm -f gmon.out +rm -f *.cm[iox] *.o *.a *.cma *.cmxa *.annot +rm -f *~ .*~ #*# +for i in ocamlextra ocollection; do (cd $i; \ + rm -f *.cm[iox] *.o *.a *.cma *.cmxa *.annot *~ .*~ ; \ + cd ..; ) \ + done +make[3]: Leaving directory `/home/jll/coccinelle-release/commons' +make[3]: Entering directory `/home/jll/coccinelle-release/globals' +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[3]: Leaving directory `/home/jll/coccinelle-release/globals' +make[3]: Entering directory `/home/jll/coccinelle-release/menhirlib' +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[3]: Leaving directory `/home/jll/coccinelle-release/menhirlib' +make[3]: Entering directory `/home/jll/coccinelle-release/ctl' +rm -f ctl.cma ctl.cmxa ctl.a ctl.top +rm -f *.cm[iox] *.o *.annot +rm -f *~ .*~ #*# +make[3]: Leaving directory `/home/jll/coccinelle-release/ctl' +make[3]: Entering directory `/home/jll/coccinelle-release/parsing_cocci' +rm -f cocci_parser.cma +rm -f cocci_parser.cmxa cocci_parser.a +rm -f cocci_parser +rm -f *.cm[iox] *.o *.annot +rm -f *~ .*~ #*# +make[3]: Leaving directory `/home/jll/coccinelle-release/parsing_cocci' +make[3]: Entering directory `/home/jll/coccinelle-release/parsing_c' +rm -f parsing_c.top +rm -f lexer_c.ml +rm -f parser_c.ml parser_c.mli parser_c.output +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[3]: Leaving directory `/home/jll/coccinelle-release/parsing_c' +make[3]: Entering directory `/home/jll/coccinelle-release/engine' +rm -f cocciengine.top +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[3]: Leaving directory `/home/jll/coccinelle-release/engine' +make[3]: Entering directory `/home/jll/coccinelle-release/popl09' +rm -f popl.cma popl.top +rm -f popl.cmxa popl.a +rm -f *.cm[iox] *.o *.annot +rm -f *~ .*~ #*# +make[3]: Leaving directory `/home/jll/coccinelle-release/popl09' +make[3]: Entering directory `/home/jll/coccinelle-release/extra' +rm -f extra.byte extra.opt rm -f extra.top +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[3]: Leaving directory `/home/jll/coccinelle-release/extra' +make[3]: Entering directory `/home/jll/coccinelle-release/python' +rm -f coccipython.cma +rm -f coccipython.cmxa coccipython.a +rm -f coccipython +rm -f coccipython.byte +rm -f +rm -f *.cm[iox] *.o *.annot +rm -f *~ .*~ #*# +make[3]: Leaving directory `/home/jll/coccinelle-release/python' +make[3]: Entering directory `/home/jll/coccinelle-release/ocaml' +rm -f cocciocaml.top +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[3]: Leaving directory `/home/jll/coccinelle-release/ocaml' +make -C demos/spp clean +make[3]: Entering directory `/home/jll/coccinelle-release/demos/spp' +rm -f test.o test.c.i test2.o test2.c.i +make[3]: Leaving directory `/home/jll/coccinelle-release/demos/spp' +rm -f spatch spatch.opt spatch.top +make -C docs clean +make[3]: Entering directory `/home/jll/coccinelle-release/docs' +rm -f spatch.1 +make -C manual clean +make[4]: Entering directory `/home/jll/coccinelle-release/docs/manual' +rm -f *.aux *.dvi *.haux *.htoc *.log *.out *~ +rm -f main-diff.* +rm -f *.aux \ + *.bbl \ + *.blg \ + *.dvi \ + *.log \ + *.out \ + *.toc +make[4]: Leaving directory `/home/jll/coccinelle-release/docs/manual' +make[3]: Leaving directory `/home/jll/coccinelle-release/docs' +rm -f scripts/spatch scripts/spatch.byte scripts/spatch.opt +rm -f gmon.out +rm -f *.cm[iox] *.o *.annot +rm -f *~ .*~ *.exe #*# +set -e; for i in commons globals ctl parsing_cocci parsing_c engine popl09 extra python ocaml; do make -C $i distclean; done +make[3]: Entering directory `/home/jll/coccinelle-release/commons' +rm -f .depend +make[3]: Leaving directory `/home/jll/coccinelle-release/commons' +make[3]: Entering directory `/home/jll/coccinelle-release/globals' +rm -f .depend +make[3]: Leaving directory `/home/jll/coccinelle-release/globals' +make[3]: Entering directory `/home/jll/coccinelle-release/ctl' +rm -f .depend +make[3]: Leaving directory `/home/jll/coccinelle-release/ctl' +make[3]: Entering directory `/home/jll/coccinelle-release/parsing_cocci' +rm -f lexer_cocci.ml lexer_script.ml parser_cocci_menhir.ml parser_cocci_menhir.mli +rm -f .depend +make[3]: Leaving directory `/home/jll/coccinelle-release/parsing_cocci' +make[3]: Entering directory `/home/jll/coccinelle-release/parsing_c' +rm -f .depend +rm -f .depend +make[3]: Leaving directory `/home/jll/coccinelle-release/parsing_c' +make[3]: Entering directory `/home/jll/coccinelle-release/engine' +rm -f .depend +make[3]: Leaving directory `/home/jll/coccinelle-release/engine' +make[3]: Entering directory `/home/jll/coccinelle-release/popl09' +rm -f .depend +make[3]: Leaving directory `/home/jll/coccinelle-release/popl09' +make[3]: Entering directory `/home/jll/coccinelle-release/extra' +rm -f .depend +make[3]: Leaving directory `/home/jll/coccinelle-release/extra' +make[3]: Entering directory `/home/jll/coccinelle-release/python' +make -C coccilib distclean +make[4]: Entering directory `/home/jll/coccinelle-release/python/coccilib' +set -e; for i in coccigui; do make -C $i clean; done +make[5]: Entering directory `/home/jll/coccinelle-release/python/coccilib/coccigui' +rm -f *.pyc +make[5]: Leaving directory `/home/jll/coccinelle-release/python/coccilib/coccigui' +rm -f *.pyc +make[4]: Leaving directory `/home/jll/coccinelle-release/python/coccilib' +rm -f .depend +rm -f pycocci.ml +make[3]: Leaving directory `/home/jll/coccinelle-release/python' +make[3]: Entering directory `/home/jll/coccinelle-release/ocaml' +rm -f .depend +make[3]: Leaving directory `/home/jll/coccinelle-release/ocaml' +rm -f .depend +rm -f Makefile.config +rm -f globals/config.ml +rm -f TAGS +rm -f tests/SCORE_actual.sexp +rm -f tests/SCORE_best_of_both.sexp +find -name ".#*1.*" | xargs rm -f +make[2]: Leaving directory `/home/jll/coccinelle-release' +make srctar +make[2]: Entering directory `/home/jll/coccinelle-release' +Makefile.config is missing. Have you run ./configure? +make distclean +make[3]: Entering directory `/home/jll/coccinelle-release' +Makefile.config is missing. Have you run ./configure? +if [ -d tools ] ; then make -C tools distclean ; fi +make[4]: Entering directory `/home/jll/coccinelle-release/tools' +rm -f spp gitgrep splitpatch extract_c_and_res +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f .depend +make[4]: Leaving directory `/home/jll/coccinelle-release/tools' +make -C docs distclean +make[4]: Entering directory `/home/jll/coccinelle-release/docs' +rm -f spatch.1 +make -C manual distclean +make[5]: Entering directory `/home/jll/coccinelle-release/docs/manual' +rm -f *.aux *.dvi *.haux *.htoc *.log *.out *~ +rm -f main-diff.* +rm -f *.aux \ + *.bbl \ + *.blg \ + *.dvi \ + *.log \ + *.out \ + *.toc +rm -f manual.pdf cocci_syntax.pdf options.pdf +rm -f *.pdf *.html *.gif *.css +make[5]: Leaving directory `/home/jll/coccinelle-release/docs/manual' +make[4]: Leaving directory `/home/jll/coccinelle-release/docs' +set -e; for i in pycaml ocamlsexp commons globals menhirlib ctl parsing_cocci parsing_c engine popl09 extra python ocaml; do make -C $i clean; done +make[4]: Entering directory `/home/jll/coccinelle-release/pycaml' +rm -f pycaml.customtop +rm -f *.cm[aiox] *.a +rm -f pycaml pycaml.top pycaml.cmi pycaml.cmo pycaml.cmx pycaml.asm pycaml.s pycaml.o pycaml_ml.o pycaml.cma pycaml.cmxa pycaml.a pycaml.cmi pycaml.cmo pycaml.cmi pycaml.cmx pycaml.o libpycaml_stubs.a pycaml.annot .cmi .cmo .cmx .o dllpycaml_stubs.so +rm -rf ._bcdi ._ncdi ._d +make[4]: Leaving directory `/home/jll/coccinelle-release/pycaml' +make[4]: Entering directory `/home/jll/coccinelle-release/ocamlsexp' +rm -f sexplib.top +rm -f lexer.ml +rm -f parser.ml parser.mli parser.output +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/ocamlsexp' +make[4]: Entering directory `/home/jll/coccinelle-release/commons' +rm -f commons.top +rm -f dllcommons_backtrace.so +rm -f gmon.out +rm -f *.cm[iox] *.o *.a *.cma *.cmxa *.annot +rm -f *~ .*~ #*# +for i in ocamlextra ocollection; do (cd $i; \ + rm -f *.cm[iox] *.o *.a *.cma *.cmxa *.annot *~ .*~ ; \ + cd ..; ) \ + done +make[4]: Leaving directory `/home/jll/coccinelle-release/commons' +make[4]: Entering directory `/home/jll/coccinelle-release/globals' +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/globals' +make[4]: Entering directory `/home/jll/coccinelle-release/menhirlib' +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/menhirlib' +make[4]: Entering directory `/home/jll/coccinelle-release/ctl' +ocamldep.opt -I ../commons -I ../commons/ocamlextra -I ../globals *.mli *.ml > .depend +make[4]: Leaving directory `/home/jll/coccinelle-release/ctl' +make[4]: Entering directory `/home/jll/coccinelle-release/ctl' +rm -f ctl.cma ctl.cmxa ctl.a ctl.top +rm -f *.cm[iox] *.o *.annot +rm -f *~ .*~ #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/ctl' +make[4]: Entering directory `/home/jll/coccinelle-release/parsing_cocci' +ocamldep.opt -I ../commons -I ../commons/ocamlextra -I ../globals -I *.mli *.ml > .depend +Bad -I option: adjacency.mli: Not a directory +rm -f cocci_parser.cma +rm -f cocci_parser.cmxa cocci_parser.a +rm -f cocci_parser +rm -f *.cm[iox] *.o *.annot +rm -f *~ .*~ #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/parsing_cocci' +make[4]: Entering directory `/home/jll/coccinelle-release/parsing_c' +rm -f parsing_c.top +rm -f lexer_c.ml +rm -f parser_c.ml parser_c.mli parser_c.output +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/parsing_c' +make[4]: Entering directory `/home/jll/coccinelle-release/engine' +rm -f cocciengine.top +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/engine' +make[4]: Entering directory `/home/jll/coccinelle-release/popl09' +ocamldep.opt -I ../commons -I ../globals -I ../ctl -I ../parsing_cocci -I ../parsing_c -I ../engine *.mli *.ml > .depend +make[4]: Leaving directory `/home/jll/coccinelle-release/popl09' +make[4]: Entering directory `/home/jll/coccinelle-release/popl09' +rm -f popl.cma popl.top +rm -f popl.cmxa popl.a +rm -f *.cm[iox] *.o *.annot +rm -f *~ .*~ #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/popl09' +make[4]: Entering directory `/home/jll/coccinelle-release/extra' +rm -f extra.byte extra.opt rm -f extra.top +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/extra' +make[4]: Entering directory `/home/jll/coccinelle-release/python' +ocamldep.opt -I ../commons -I ../commons/ocamlextra -I ../globals -I ../parsing_c -I ../parsing_cocci *.mli *.ml > .depend +make[4]: Leaving directory `/home/jll/coccinelle-release/python' +make[4]: Entering directory `/home/jll/coccinelle-release/python' +rm -f coccipython.cma +rm -f coccipython.cmxa coccipython.a +rm -f coccipython +rm -f coccipython.byte +rm -f +rm -f *.cm[iox] *.o *.annot +rm -f *~ .*~ #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/python' +make[4]: Entering directory `/home/jll/coccinelle-release/ocaml' +rm -f cocciocaml.top +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/ocaml' +make -C demos/spp clean +make[4]: Entering directory `/home/jll/coccinelle-release/demos/spp' +rm -f test.o test.c.i test2.o test2.c.i +make[4]: Leaving directory `/home/jll/coccinelle-release/demos/spp' +rm -f spatch spatch.opt spatch.top +make -C docs clean +make[4]: Entering directory `/home/jll/coccinelle-release/docs' +rm -f spatch.1 +make -C manual clean +make[5]: Entering directory `/home/jll/coccinelle-release/docs/manual' +rm -f *.aux *.dvi *.haux *.htoc *.log *.out *~ +rm -f main-diff.* +rm -f *.aux \ + *.bbl \ + *.blg \ + *.dvi \ + *.log \ + *.out \ + *.toc +make[5]: Leaving directory `/home/jll/coccinelle-release/docs/manual' +make[4]: Leaving directory `/home/jll/coccinelle-release/docs' +rm -f scripts/spatch scripts/spatch.byte scripts/spatch.opt +rm -f gmon.out +rm -f *.cm[iox] *.o *.annot +rm -f *~ .*~ *.exe #*# +set -e; for i in commons globals ctl parsing_cocci parsing_c engine popl09 extra python ocaml; do make -C $i distclean; done +make[4]: Entering directory `/home/jll/coccinelle-release/commons' +rm -f .depend +make[4]: Leaving directory `/home/jll/coccinelle-release/commons' +make[4]: Entering directory `/home/jll/coccinelle-release/globals' +rm -f .depend +make[4]: Leaving directory `/home/jll/coccinelle-release/globals' +make[4]: Entering directory `/home/jll/coccinelle-release/ctl' +rm -f .depend +make[4]: Leaving directory `/home/jll/coccinelle-release/ctl' +make[4]: Entering directory `/home/jll/coccinelle-release/parsing_cocci' +rm -f lexer_cocci.ml lexer_script.ml parser_cocci_menhir.ml parser_cocci_menhir.mli +rm -f .depend +make[4]: Leaving directory `/home/jll/coccinelle-release/parsing_cocci' +make[4]: Entering directory `/home/jll/coccinelle-release/parsing_c' +rm -f .depend +rm -f .depend +make[4]: Leaving directory `/home/jll/coccinelle-release/parsing_c' +make[4]: Entering directory `/home/jll/coccinelle-release/engine' +rm -f .depend +make[4]: Leaving directory `/home/jll/coccinelle-release/engine' +make[4]: Entering directory `/home/jll/coccinelle-release/popl09' +rm -f .depend +make[4]: Leaving directory `/home/jll/coccinelle-release/popl09' +make[4]: Entering directory `/home/jll/coccinelle-release/extra' +rm -f .depend +make[4]: Leaving directory `/home/jll/coccinelle-release/extra' +make[4]: Entering directory `/home/jll/coccinelle-release/python' +make -C coccilib distclean +make[5]: Entering directory `/home/jll/coccinelle-release/python/coccilib' +set -e; for i in coccigui; do make -C $i clean; done +make[6]: Entering directory `/home/jll/coccinelle-release/python/coccilib/coccigui' +rm -f *.pyc +make[6]: Leaving directory `/home/jll/coccinelle-release/python/coccilib/coccigui' +rm -f *.pyc +make[5]: Leaving directory `/home/jll/coccinelle-release/python/coccilib' +rm -f .depend +rm -f pycocci.ml +make[4]: Leaving directory `/home/jll/coccinelle-release/python' +make[4]: Entering directory `/home/jll/coccinelle-release/ocaml' +rm -f .depend +make[4]: Leaving directory `/home/jll/coccinelle-release/ocaml' +rm -f .depend +rm -f Makefile.config +rm -f globals/config.ml +rm -f TAGS +rm -f tests/SCORE_actual.sexp +rm -f tests/SCORE_best_of_both.sexp +find -name ".#*1.*" | xargs rm -f +make[3]: Leaving directory `/home/jll/coccinelle-release' +make docs +make[3]: Entering directory `/home/jll/coccinelle-release' +Makefile.config is missing. Have you run ./configure? +make -C docs +make[4]: Entering directory `/home/jll/coccinelle-release/docs' +sed "s|SHAREDIR||g" spatch.1.in > spatch.1 +make -C manual all +make[5]: Entering directory `/home/jll/coccinelle-release/docs/manual' +pdflatex main.tex +This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) + restricted \write18 enabled. +entering extended mode +(./main.tex +LaTeX2e <2009/09/24> +Babel and hyphenation patterns for english, usenglishmax, dumylang, noh +yphenation, loaded. +(/usr/share/texmf-texlive/tex/latex/base/report.cls +Document Class: report 2007/10/19 v1.4h Standard LaTeX document class +(/usr/share/texmf-texlive/tex/latex/base/size10.clo)) +(/usr/share/texmf-texlive/tex/latex/base/ifthen.sty) (./hevea.sty +(/usr/share/texmf-texlive/tex/latex/comment/comment.sty +Excluding comment 'comment') Excluding comment 'rawhtml' +Excluding comment 'htmlonly') +(/usr/share/texmf-texlive/tex/latex/psnfss/times.sty) +(/usr/share/texmf-texlive/tex/latex/preprint/fullpage.sty) +(/usr/share/texmf-texlive/tex/latex/base/inputenc.sty +(/usr/share/texmf-texlive/tex/latex/base/utf8.def +(/usr/share/texmf-texlive/tex/latex/base/t1enc.dfu) +(/usr/share/texmf-texlive/tex/latex/base/ot1enc.dfu) +(/usr/share/texmf-texlive/tex/latex/base/omsenc.dfu))) +(/usr/share/texmf-texlive/tex/latex/base/fontenc.sty +(/usr/share/texmf-texlive/tex/latex/base/t1enc.def)) +(/usr/share/texmf-texlive/tex/latex/amsmath/amsmath.sty +For additional information on amsmath, use the `?' option. +(/usr/share/texmf-texlive/tex/latex/amsmath/amstext.sty +(/usr/share/texmf-texlive/tex/latex/amsmath/amsgen.sty)) +(/usr/share/texmf-texlive/tex/latex/amsmath/amsbsy.sty) +(/usr/share/texmf-texlive/tex/latex/amsmath/amsopn.sty)) +(/usr/share/texmf-texlive/tex/latex/amsfonts/amssymb.sty +(/usr/share/texmf-texlive/tex/latex/amsfonts/amsfonts.sty)) +(/usr/share/texmf-texlive/tex/latex/ifsym/ifsym.sty +(/usr/share/texmf-texlive/tex/latex/tools/calc.sty)) +(/usr/share/texmf-texlive/tex/latex/graphics/graphics.sty +(/usr/share/texmf-texlive/tex/latex/graphics/trig.sty) +(/etc/texmf/tex/latex/config/graphics.cfg) +(/usr/share/texmf-texlive/tex/latex/pdftex-def/pdftex.def)) +(/usr/share/texmf-texlive/tex/latex/graphics/graphicx.sty +(/usr/share/texmf-texlive/tex/latex/graphics/keyval.sty)) +(/usr/share/texmf-texlive/tex/latex/graphics/epsfig.sty) +(/usr/share/texmf-texlive/tex/latex/subfigure/subfigure.sty +**************************************** +* Local config file subfigure.cfg used * +**************************************** +(/usr/share/texmf-texlive/tex/latex/subfigure/subfigure.cfg)) +(/usr/share/texmf-texlive/tex/latex/wrapfig/wrapfig.sty) +(/usr/share/texmf-texlive/tex/generic/xypic/xy.sty +(/usr/share/texmf-texlive/tex/generic/xypic/xy.tex Bootstrap'ing: catcodes, +docmode, (/usr/share/texmf-texlive/tex/generic/xypic/xyrecat.tex) +(/usr/share/texmf-texlive/tex/generic/xypic/xyidioms.tex) + + Xy-pic version 3.7 <1999/02/16> + Copyright (c) 1991-1998 by Kristoffer H. Rose + Xy-pic is free software: see the User's Guide for details. + +Loading kernel: messages; fonts; allocations: state, direction, +utility macros; pictures: \xy, positions, objects, decorations; +kernel objects: directionals, circles, text; options; algorithms: directions, +edges, connections; Xy-pic loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xyall.tex + Xy-pic option: All features v.3.3 +(/usr/share/texmf-texlive/tex/generic/xypic/xycurve.tex + Xy-pic option: Curve and Spline extension v.3.7 curve, circles, loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xyframe.tex + Xy-pic option: Frame and Bracket extension v.3.7 loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xycmtip.tex + Xy-pic option: Computer Modern tip extension v.3.3 +(/usr/share/texmf-texlive/tex/generic/xypic/xytips.tex + Xy-pic option: More Tips extension v.3.3 loaded) loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xyline.tex + Xy-pic option: Line styles extension v.3.6 loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xyrotate.tex + Xy-pic option: Rotate and Scale extension v.3.3 loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xycolor.tex + Xy-pic option: Colour extension v.3.3 loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xymatrix.tex + Xy-pic option: Matrix feature v.3.4 loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xyarrow.tex + Xy-pic option: Arrow and Path feature v.3.5 path, \ar, loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xygraph.tex + Xy-pic option: Graph feature v.3.7 loaded) loaded)) +(/usr/share/texmf-texlive/tex/latex/fancyvrb/fancyvrb.sty +Style option: `fancyvrb' v2.7a, with DG/SPQR fixes, and firstline=lastline fix +<2008/02/07> (tvz)) (/usr/share/texmf-texlive/tex/latex/moreverb/moreverb.sty +(/usr/share/texmf-texlive/tex/latex/tools/verbatim.sty)) +(/usr/share/texmf-texlive/tex/latex/base/alltt.sty) +(/usr/share/texmf-texlive/tex/latex/ltxmisc/boxedminipage.sty) +(/usr/share/texmf-texlive/tex/latex/tools/xspace.sty) +(/usr/share/texmf-texlive/tex/latex/ltxmisc/endnotes.sty) +(/usr/share/texmf-texlive/tex/latex/multirow/multirow.sty) +(/usr/share/texmf-texlive/tex/latex/listings/listings.sty +(/usr/share/texmf-texlive/tex/latex/listings/lstmisc.sty) +(/usr/share/texmf-texlive/tex/latex/listings/listings.cfg)) +(/usr/share/texmf-texlive/tex/latex/hyperref/hyperref.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/ifpdf.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/ifvtex.sty) +(/usr/share/texmf-texlive/tex/generic/ifxetex/ifxetex.sty) +(/usr/share/texmf-texlive/tex/latex/oberdiek/hycolor.sty +(/usr/share/texmf-texlive/tex/latex/oberdiek/xcolor-patch.sty)) +(/usr/share/texmf-texlive/tex/latex/hyperref/pd1enc.def) +(/usr/share/texmf-texlive/tex/generic/oberdiek/etexcmds.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/infwarerr.sty)) +(/etc/texmf/tex/latex/config/hyperref.cfg) +(/usr/share/texmf-texlive/tex/latex/oberdiek/kvoptions.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/kvsetkeys.sty)) +Implicit mode ON; LaTeX internals redefined +(/usr/share/texmf-texlive/tex/latex/ltxmisc/url.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/bitset.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/intcalc.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/bigintcalc.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/pdftexcmds.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/ifluatex.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/ltxcmds.sty)))) +(/usr/share/texmf-texlive/tex/generic/oberdiek/atbegshi.sty)) +*hyperref using default driver hpdftex* +(/usr/share/texmf-texlive/tex/latex/hyperref/hpdftex.def) +(/usr/share/texmf-texlive/tex/latex/graphics/color.sty +(/etc/texmf/tex/latex/config/color.cfg) +(/usr/share/texmf-texlive/tex/latex/graphics/dvipsnam.def)) +(./macros_common.tex) (./macros_options.tex) (./macros_listing_cocci.tex +(/usr/share/texmf-texlive/tex/latex/listings/lstlang1.sty) +(/usr/share/texmf-texlive/tex/latex/listings/lstmisc.sty)) +(./macros_grammar.tex) (./macros.tex) +No file main.aux. +(/usr/share/texmf-texlive/tex/latex/psnfss/t1ptm.fd) +(/usr/share/texmf-texlive/tex/context/base/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +) (/usr/share/texmf-texlive/tex/latex/hyperref/nameref.sty +(/usr/share/texmf-texlive/tex/latex/oberdiek/refcount.sty)) +(/usr/share/texmf-texlive/tex/latex/amsfonts/umsa.fd) +(/usr/share/texmf-texlive/tex/latex/amsfonts/umsb.fd) [1{/var/lib/texmf/fonts/m +ap/pdftex/updmap/pdftex.map}]pdfTeX warning (ext4): destination with the same i +dentifier (name{page.1}) has been already used, duplicate ignored + + \relax +l.116 \chapter + *{Foreword} [1] +(/usr/share/texmf-texlive/tex/latex/psnfss/omsptm.fd) + +LaTeX Warning: Reference `part:usermanual' on page 2 undefined on input line 12 +1. + + +LaTeX Warning: Reference `part:refmanual' on page 2 undefined on input line 122 +. + +(/usr/share/texmf-texlive/tex/latex/psnfss/t1pcr.fd) +Underfull \hbox (badness 10000) in paragraph at lines 135--138 + +[2] [3] (./introduction.tex +Chapter 1. +) (./installing.tex [4] +Chapter 2. +) (./tutorial.tex [5] +Chapter 3. +) [6] +Chapter 4. +(./examples.tex +Underfull \hbox (badness 10000) in paragraph at lines 11--16 + + +Overfull \hbox (4.02878pt too wide) in paragraph at lines 17--73 +[][] +[7] +Underfull \hbox (badness 10000) in paragraph at lines 77--83 + +[8] +Underfull \hbox (badness 10000) in paragraph at lines 142--146 + + +Underfull \hbox (badness 10000) in paragraph at lines 147--153 + + +Underfull \hbox (badness 10000) in paragraph at lines 154--175 + + +Underfull \hbox (badness 10000) in paragraph at lines 178--194 + +[9] +Underfull \hbox (badness 10000) in paragraph at lines 205--212 + + +Underfull \hbox (badness 10000) in paragraph at lines 213--238 + +[10] +Underfull \hbox (badness 10000) in paragraph at lines 262--265 + +[11] +Overfull \hbox (565.25523pt too wide) in paragraph at lines 341--381 +[][] +[12] +Underfull \hbox (badness 10000) in paragraph at lines 385--394 + + +Underfull \hbox (badness 10000) in paragraph at lines 411--422 + +[13] +Underfull \hbox (badness 10000) in paragraph at lines 436--487 + +) (./tips.tex +Overfull \hbox (6.12321pt too wide) in paragraph at lines 14--18 +[]\T1/ptm/m/n/10 However, if for some rea-son your code looks like []\T1/pcr/m/ +n/10 bar = *(foo)\T1/ptm/m/n/10 , you will end up with []\T1/pcr/m/n/10 bar = r +eadb((foo)) +[14]) (./isomorphisms.tex [15] +Chapter 5. +) (./parsing.tex [16] +Chapter 6. +) (./workflow.tex [17] +Chapter 7. +) (./advanced.tex [18] +Chapter 8. +) [19] [20] +Chapter 9. +(./cocci_syntax.tex (/usr/share/texmf-texlive/tex/latex/psnfss/t1phv.fd) +Overfull \hbox (6.40387pt too wide) in paragraph at lines 75--109 + [] +[21] [22] [23] + +LaTeX Warning: Reference `types' on page 24 undefined on input line 242. + +[24]pdfTeX warning (ext4): destination with the same identifier (name{script\\p +rotect\040\\T1\\textunderscore\040metadecl}) has been already used, duplicate i +gnored + + \relax +l.296 ...},\T{id}) <{}< \T{rulename\_id}.\T{id} ;} + [25] [26] [27] +Overfull \hbox (2.84467pt too wide) in paragraph at lines 709--751 + [] +[28] [29] [30]) [31] +Chapter 10. +(./spatch_options.tex +Overfull \hbox (40.85385pt too wide) in paragraph at lines 39--42 +[]\T1/pcr/m/n/10 spatch -sp_file foo.cocci -dir foodir -include_headers\T1/ptm/ +m/n/10 : Ap-ply the se-man-tic patch \T1/pcr/m/n/10 foo.cocci +(/usr/share/texmf-texlive/tex/latex/ifsym/uifgeo.fd) [32] [33] +Overfull \hbox (53.96228pt too wide) in paragraph at lines 175--176 +\T1/ptm/m/n/10 that a di-rec-tory is spec-i-fied. The in-dex may be cre-ated us +-ing the script \T1/pcr/m/n/10 coccinelle/scripts/ glimpseindex_cocci.sh\T1/ptm +/m/n/10 . +[34] [35] [36] [37] [38] +Overfull \hbox (4.86494pt too wide) in paragraph at lines 490--491 +\T1/pcr/m/n/10 foo.cocci -dir /var/linuxes/linux-next/drivers -patch /var/linux +es/linux-next\T1/ptm/m/n/10 . A +[39]) [40] [41] (./license.txt [42] [43] [44] [45]) +No file main.bbl. +[46] (./main.aux) + +LaTeX Warning: There were undefined references. + + +LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. + + ) +(see the transcript file for additional information) {/usr/share/texmf-texlive/fonts/enc/dvips/base/8r.en +c} +Output written on main.pdf (47 pages, 411318 bytes). +Transcript written on main.log. +pdflatex main.tex +This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) + restricted \write18 enabled. +entering extended mode +(./main.tex +LaTeX2e <2009/09/24> +Babel and hyphenation patterns for english, usenglishmax, dumylang, noh +yphenation, loaded. +(/usr/share/texmf-texlive/tex/latex/base/report.cls +Document Class: report 2007/10/19 v1.4h Standard LaTeX document class +(/usr/share/texmf-texlive/tex/latex/base/size10.clo)) +(/usr/share/texmf-texlive/tex/latex/base/ifthen.sty) (./hevea.sty +(/usr/share/texmf-texlive/tex/latex/comment/comment.sty +Excluding comment 'comment') Excluding comment 'rawhtml' +Excluding comment 'htmlonly') +(/usr/share/texmf-texlive/tex/latex/psnfss/times.sty) +(/usr/share/texmf-texlive/tex/latex/preprint/fullpage.sty) +(/usr/share/texmf-texlive/tex/latex/base/inputenc.sty +(/usr/share/texmf-texlive/tex/latex/base/utf8.def +(/usr/share/texmf-texlive/tex/latex/base/t1enc.dfu) +(/usr/share/texmf-texlive/tex/latex/base/ot1enc.dfu) +(/usr/share/texmf-texlive/tex/latex/base/omsenc.dfu))) +(/usr/share/texmf-texlive/tex/latex/base/fontenc.sty +(/usr/share/texmf-texlive/tex/latex/base/t1enc.def)) +(/usr/share/texmf-texlive/tex/latex/amsmath/amsmath.sty +For additional information on amsmath, use the `?' option. +(/usr/share/texmf-texlive/tex/latex/amsmath/amstext.sty +(/usr/share/texmf-texlive/tex/latex/amsmath/amsgen.sty)) +(/usr/share/texmf-texlive/tex/latex/amsmath/amsbsy.sty) +(/usr/share/texmf-texlive/tex/latex/amsmath/amsopn.sty)) +(/usr/share/texmf-texlive/tex/latex/amsfonts/amssymb.sty +(/usr/share/texmf-texlive/tex/latex/amsfonts/amsfonts.sty)) +(/usr/share/texmf-texlive/tex/latex/ifsym/ifsym.sty +(/usr/share/texmf-texlive/tex/latex/tools/calc.sty)) +(/usr/share/texmf-texlive/tex/latex/graphics/graphics.sty +(/usr/share/texmf-texlive/tex/latex/graphics/trig.sty) +(/etc/texmf/tex/latex/config/graphics.cfg) +(/usr/share/texmf-texlive/tex/latex/pdftex-def/pdftex.def)) +(/usr/share/texmf-texlive/tex/latex/graphics/graphicx.sty +(/usr/share/texmf-texlive/tex/latex/graphics/keyval.sty)) +(/usr/share/texmf-texlive/tex/latex/graphics/epsfig.sty) +(/usr/share/texmf-texlive/tex/latex/subfigure/subfigure.sty +**************************************** +* Local config file subfigure.cfg used * +**************************************** +(/usr/share/texmf-texlive/tex/latex/subfigure/subfigure.cfg)) +(/usr/share/texmf-texlive/tex/latex/wrapfig/wrapfig.sty) +(/usr/share/texmf-texlive/tex/generic/xypic/xy.sty +(/usr/share/texmf-texlive/tex/generic/xypic/xy.tex Bootstrap'ing: catcodes, +docmode, (/usr/share/texmf-texlive/tex/generic/xypic/xyrecat.tex) +(/usr/share/texmf-texlive/tex/generic/xypic/xyidioms.tex) + + Xy-pic version 3.7 <1999/02/16> + Copyright (c) 1991-1998 by Kristoffer H. Rose + Xy-pic is free software: see the User's Guide for details. + +Loading kernel: messages; fonts; allocations: state, direction, +utility macros; pictures: \xy, positions, objects, decorations; +kernel objects: directionals, circles, text; options; algorithms: directions, +edges, connections; Xy-pic loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xyall.tex + Xy-pic option: All features v.3.3 +(/usr/share/texmf-texlive/tex/generic/xypic/xycurve.tex + Xy-pic option: Curve and Spline extension v.3.7 curve, circles, loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xyframe.tex + Xy-pic option: Frame and Bracket extension v.3.7 loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xycmtip.tex + Xy-pic option: Computer Modern tip extension v.3.3 +(/usr/share/texmf-texlive/tex/generic/xypic/xytips.tex + Xy-pic option: More Tips extension v.3.3 loaded) loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xyline.tex + Xy-pic option: Line styles extension v.3.6 loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xyrotate.tex + Xy-pic option: Rotate and Scale extension v.3.3 loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xycolor.tex + Xy-pic option: Colour extension v.3.3 loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xymatrix.tex + Xy-pic option: Matrix feature v.3.4 loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xyarrow.tex + Xy-pic option: Arrow and Path feature v.3.5 path, \ar, loaded) +(/usr/share/texmf-texlive/tex/generic/xypic/xygraph.tex + Xy-pic option: Graph feature v.3.7 loaded) loaded)) +(/usr/share/texmf-texlive/tex/latex/fancyvrb/fancyvrb.sty +Style option: `fancyvrb' v2.7a, with DG/SPQR fixes, and firstline=lastline fix +<2008/02/07> (tvz)) (/usr/share/texmf-texlive/tex/latex/moreverb/moreverb.sty +(/usr/share/texmf-texlive/tex/latex/tools/verbatim.sty)) +(/usr/share/texmf-texlive/tex/latex/base/alltt.sty) +(/usr/share/texmf-texlive/tex/latex/ltxmisc/boxedminipage.sty) +(/usr/share/texmf-texlive/tex/latex/tools/xspace.sty) +(/usr/share/texmf-texlive/tex/latex/ltxmisc/endnotes.sty) +(/usr/share/texmf-texlive/tex/latex/multirow/multirow.sty) +(/usr/share/texmf-texlive/tex/latex/listings/listings.sty +(/usr/share/texmf-texlive/tex/latex/listings/lstmisc.sty) +(/usr/share/texmf-texlive/tex/latex/listings/listings.cfg)) +(/usr/share/texmf-texlive/tex/latex/hyperref/hyperref.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/ifpdf.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/ifvtex.sty) +(/usr/share/texmf-texlive/tex/generic/ifxetex/ifxetex.sty) +(/usr/share/texmf-texlive/tex/latex/oberdiek/hycolor.sty +(/usr/share/texmf-texlive/tex/latex/oberdiek/xcolor-patch.sty)) +(/usr/share/texmf-texlive/tex/latex/hyperref/pd1enc.def) +(/usr/share/texmf-texlive/tex/generic/oberdiek/etexcmds.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/infwarerr.sty)) +(/etc/texmf/tex/latex/config/hyperref.cfg) +(/usr/share/texmf-texlive/tex/latex/oberdiek/kvoptions.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/kvsetkeys.sty)) +Implicit mode ON; LaTeX internals redefined +(/usr/share/texmf-texlive/tex/latex/ltxmisc/url.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/bitset.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/intcalc.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/bigintcalc.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/pdftexcmds.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/ifluatex.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/ltxcmds.sty)))) +(/usr/share/texmf-texlive/tex/generic/oberdiek/atbegshi.sty)) +*hyperref using default driver hpdftex* +(/usr/share/texmf-texlive/tex/latex/hyperref/hpdftex.def) +(/usr/share/texmf-texlive/tex/latex/graphics/color.sty +(/etc/texmf/tex/latex/config/color.cfg) +(/usr/share/texmf-texlive/tex/latex/graphics/dvipsnam.def)) +(./macros_common.tex) (./macros_options.tex) (./macros_listing_cocci.tex +(/usr/share/texmf-texlive/tex/latex/listings/lstlang1.sty) +(/usr/share/texmf-texlive/tex/latex/listings/lstmisc.sty)) +(./macros_grammar.tex) (./macros.tex) (./main.aux) +(/usr/share/texmf-texlive/tex/latex/psnfss/t1ptm.fd) +(/usr/share/texmf-texlive/tex/context/base/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +) (/usr/share/texmf-texlive/tex/latex/hyperref/nameref.sty +(/usr/share/texmf-texlive/tex/latex/oberdiek/refcount.sty)) (./main.out) +(./main.out) (/usr/share/texmf-texlive/tex/latex/amsfonts/umsa.fd) +(/usr/share/texmf-texlive/tex/latex/amsfonts/umsb.fd) [1{/var/lib/texmf/fonts/m +ap/pdftex/updmap/pdftex.map}] (./main.toc +(/usr/share/texmf-texlive/tex/latex/psnfss/t1pcr.fd)pdfTeX warning (ext4): dest +ination with the same identifier (name{page.1}) has been already used, duplicat +e ignored + + \relax +l.33 ...berline {9.9}Expressions}{30}{section.9.9} + [1]) [2] +(/usr/share/texmf-texlive/tex/latex/psnfss/omsptm.fd) +Underfull \hbox (badness 10000) in paragraph at lines 135--138 + +[3] [4] (./introduction.tex +Chapter 1. +) (./installing.tex [5] +Chapter 2. +) (./tutorial.tex [6] +Chapter 3. +) [7] +Chapter 4. +(./examples.tex +Underfull \hbox (badness 10000) in paragraph at lines 11--16 + + +Overfull \hbox (4.02878pt too wide) in paragraph at lines 17--73 +[][] +[8] +Underfull \hbox (badness 10000) in paragraph at lines 77--83 + +[9] +Underfull \hbox (badness 10000) in paragraph at lines 142--146 + + +Underfull \hbox (badness 10000) in paragraph at lines 147--153 + + +Underfull \hbox (badness 10000) in paragraph at lines 154--175 + + +Underfull \hbox (badness 10000) in paragraph at lines 178--194 + +[10] +Underfull \hbox (badness 10000) in paragraph at lines 205--212 + + +Underfull \hbox (badness 10000) in paragraph at lines 213--238 + +[11] +Underfull \hbox (badness 10000) in paragraph at lines 262--265 + +[12] +Overfull \hbox (565.25523pt too wide) in paragraph at lines 341--381 +[][] +[13] +Underfull \hbox (badness 10000) in paragraph at lines 385--394 + + +Underfull \hbox (badness 10000) in paragraph at lines 411--422 + +[14] +Underfull \hbox (badness 10000) in paragraph at lines 436--487 + +) (./tips.tex +Overfull \hbox (6.12321pt too wide) in paragraph at lines 14--18 +[]\T1/ptm/m/n/10 However, if for some rea-son your code looks like []\T1/pcr/m/ +n/10 bar = *(foo)\T1/ptm/m/n/10 , you will end up with []\T1/pcr/m/n/10 bar = r +eadb((foo)) +[15]) (./isomorphisms.tex [16] +Chapter 5. +) (./parsing.tex [17] +Chapter 6. +) (./workflow.tex [18] +Chapter 7. +) (./advanced.tex [19] +Chapter 8. +) [20] [21] +Chapter 9. +(./cocci_syntax.tex (/usr/share/texmf-texlive/tex/latex/psnfss/t1phv.fd) +Overfull \hbox (6.40387pt too wide) in paragraph at lines 75--109 + [] +[22] [23] [24] [25]pdfTeX warning (ext4): destination with the same identifier +(name{script\\protect\040\\T1\\textunderscore\040metadecl}) has been already us +ed, duplicate ignored + + \relax +l.296 ...},\T{id}) <{}< \T{rulename\_id}.\T{id} ;} + [26] [27] [28] +Overfull \hbox (2.84467pt too wide) in paragraph at lines 709--751 + [] +[29] [30] [31]) [32] +Chapter 10. +(./spatch_options.tex +Overfull \hbox (40.85385pt too wide) in paragraph at lines 39--42 +[]\T1/pcr/m/n/10 spatch -sp_file foo.cocci -dir foodir -include_headers\T1/ptm/ +m/n/10 : Ap-ply the se-man-tic patch \T1/pcr/m/n/10 foo.cocci +(/usr/share/texmf-texlive/tex/latex/ifsym/uifgeo.fd) [33] [34] +Overfull \hbox (53.96228pt too wide) in paragraph at lines 175--176 +\T1/ptm/m/n/10 that a di-rec-tory is spec-i-fied. The in-dex may be cre-ated us +-ing the script \T1/pcr/m/n/10 coccinelle/scripts/ glimpseindex_cocci.sh\T1/ptm +/m/n/10 . +[35] [36] [37] [38] [39] +Overfull \hbox (4.86494pt too wide) in paragraph at lines 490--491 +\T1/pcr/m/n/10 foo.cocci -dir /var/linuxes/linux-next/drivers -patch /var/linux +es/linux-next\T1/ptm/m/n/10 . A +[40]) [41] [42] (./license.txt [43] [44] [45] [46]) +No file main.bbl. +[47] (./main.aux) + +LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. + + ) +(see the transcript file for additional information) {/usr/share/texmf-texlive/fonts/enc/dvips/base/8r.en +c} +Output written on main.pdf (48 pages, 439141 bytes). +Transcript written on main.log. +mv main.pdf manual.pdf +pdflatex main_grammar.tex +This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) + restricted \write18 enabled. +entering extended mode +(./main_grammar.tex +LaTeX2e <2009/09/24> +Babel and hyphenation patterns for english, usenglishmax, dumylang, noh +yphenation, loaded. +(/usr/share/texmf-texlive/tex/latex/base/article.cls +Document Class: article 2007/10/19 v1.4h Standard LaTeX document class +(/usr/share/texmf-texlive/tex/latex/base/size10.clo)) +(/usr/share/texmf-texlive/tex/latex/psnfss/times.sty) +(/usr/share/texmf-texlive/tex/latex/preprint/fullpage.sty) +(/usr/share/texmf-texlive/tex/latex/base/inputenc.sty +(/usr/share/texmf-texlive/tex/latex/base/utf8.def +(/usr/share/texmf-texlive/tex/latex/base/t1enc.dfu) +(/usr/share/texmf-texlive/tex/latex/base/ot1enc.dfu) +(/usr/share/texmf-texlive/tex/latex/base/omsenc.dfu))) +(/usr/share/texmf-texlive/tex/latex/base/fontenc.sty +(/usr/share/texmf-texlive/tex/latex/base/t1enc.def)) +(/usr/share/texmf-texlive/tex/latex/base/ifthen.sty) (./hevea.sty +(/usr/share/texmf-texlive/tex/latex/comment/comment.sty +Excluding comment 'comment') Excluding comment 'rawhtml' +Excluding comment 'htmlonly') +(/usr/share/texmf-texlive/tex/latex/base/alltt.sty) +(/usr/share/texmf-texlive/tex/latex/tools/xspace.sty) +(/usr/share/texmf-texlive/tex/latex/hyperref/hyperref.sty +(/usr/share/texmf-texlive/tex/latex/graphics/keyval.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/ifpdf.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/ifvtex.sty) +(/usr/share/texmf-texlive/tex/generic/ifxetex/ifxetex.sty) +(/usr/share/texmf-texlive/tex/latex/oberdiek/hycolor.sty +(/usr/share/texmf-texlive/tex/latex/oberdiek/xcolor-patch.sty)) +(/usr/share/texmf-texlive/tex/latex/hyperref/pd1enc.def) +(/usr/share/texmf-texlive/tex/generic/oberdiek/etexcmds.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/infwarerr.sty)) +(/etc/texmf/tex/latex/config/hyperref.cfg) +(/usr/share/texmf-texlive/tex/latex/oberdiek/kvoptions.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/kvsetkeys.sty)) +Implicit mode ON; LaTeX internals redefined +(/usr/share/texmf-texlive/tex/latex/ltxmisc/url.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/bitset.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/intcalc.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/bigintcalc.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/pdftexcmds.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/ifluatex.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/ltxcmds.sty)))) +(/usr/share/texmf-texlive/tex/generic/oberdiek/atbegshi.sty)) +*hyperref using default driver hpdftex* +(/usr/share/texmf-texlive/tex/latex/hyperref/hpdftex.def) +(/usr/share/texmf-texlive/tex/latex/listings/listings.sty +(/usr/share/texmf-texlive/tex/latex/listings/lstmisc.sty) +(/usr/share/texmf-texlive/tex/latex/listings/listings.cfg)) +(/usr/share/texmf-texlive/tex/latex/graphics/color.sty +(/etc/texmf/tex/latex/config/color.cfg) +(/usr/share/texmf-texlive/tex/latex/pdftex-def/pdftex.def) +(/usr/share/texmf-texlive/tex/latex/graphics/dvipsnam.def)) +(/usr/share/texmf-texlive/tex/latex/multirow/multirow.sty) +(./macros_listing_cocci.tex +(/usr/share/texmf-texlive/tex/latex/listings/lstlang1.sty) +(/usr/share/texmf-texlive/tex/latex/listings/lstmisc.sty)) +(./macros_grammar.tex) (./macros_common.tex) (./macros.tex) +No file main_grammar.aux. +(/usr/share/texmf-texlive/tex/latex/psnfss/t1ptm.fd) +(/usr/share/texmf-texlive/tex/latex/hyperref/nameref.sty +(/usr/share/texmf-texlive/tex/latex/oberdiek/refcount.sty)) +(/usr/share/texmf-texlive/tex/context/base/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +) (./cocci_syntax.tex (/usr/share/texmf-texlive/tex/latex/psnfss/t1phv.fd) +(/usr/share/texmf-texlive/tex/latex/psnfss/t1pcr.fd) +Overfull \hbox (6.40143pt too wide) in paragraph at lines 75--109 + [] +[1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +(/usr/share/texmf-texlive/tex/latex/psnfss/omsptm.fd) [2] [3] + +LaTeX Warning: Reference `types' on page 4 undefined on input line 242. + +[4]pdfTeX warning (ext4): destination with the same identifier (name{script\\pr +otect\040\\T1\\textunderscore\040metadecl}) has been already used, duplicate ig +nored + + \relax +l.296 ...},\T{id}) <{}< \T{rulename\_id}.\T{id} ;} + [5] [6] [7] +Overfull \hbox (2.84222pt too wide) in paragraph at lines 709--751 + [] +[8] [9] [10]) [11] (./examples.tex +Underfull \hbox (badness 10000) in paragraph at lines 11--16 + + +Overfull \hbox (4.02878pt too wide) in paragraph at lines 17--73 +[][] +[12] +Underfull \hbox (badness 10000) in paragraph at lines 77--83 + +[13] +Underfull \hbox (badness 10000) in paragraph at lines 142--146 + + +Underfull \hbox (badness 10000) in paragraph at lines 147--153 + + +Underfull \hbox (badness 10000) in paragraph at lines 154--175 + + +Underfull \hbox (badness 10000) in paragraph at lines 178--194 + +[14] +Underfull \hbox (badness 10000) in paragraph at lines 205--212 + + +Underfull \hbox (badness 10000) in paragraph at lines 213--238 + +[15] +Underfull \hbox (badness 10000) in paragraph at lines 262--265 + +[16] +Overfull \hbox (565.25523pt too wide) in paragraph at lines 341--381 +[][] +[17] +Underfull \hbox (badness 10000) in paragraph at lines 385--394 + + +Underfull \hbox (badness 10000) in paragraph at lines 411--422 + +[18] +Underfull \hbox (badness 10000) in paragraph at lines 436--487 + +) [19] (./tips.tex +Overfull \hbox (6.12321pt too wide) in paragraph at lines 14--18 +[]\T1/ptm/m/n/10 However, if for some rea-son your code looks like []\T1/pcr/m/ +n/10 bar = *(foo)\T1/ptm/m/n/10 , you will end up with []\T1/pcr/m/n/10 bar = r +eadb((foo)) +) [20] (./main_grammar.aux (./examples.aux) (./tips.aux)) + +LaTeX Warning: There were undefined references. + + +LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. + + ) +(see the transcript file for additional information){/usr/share/texmf-texlive/f +onts/enc/dvips/base/8r.enc}< +/usr/share/texmf-texlive/fonts/type1/urw/helvetic/uhvr8a.pfb> +Output written on main_grammar.pdf (20 pages, 330431 bytes). +Transcript written on main_grammar.log. +pdflatex main_grammar.tex +This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) + restricted \write18 enabled. +entering extended mode +(./main_grammar.tex +LaTeX2e <2009/09/24> +Babel and hyphenation patterns for english, usenglishmax, dumylang, noh +yphenation, loaded. +(/usr/share/texmf-texlive/tex/latex/base/article.cls +Document Class: article 2007/10/19 v1.4h Standard LaTeX document class +(/usr/share/texmf-texlive/tex/latex/base/size10.clo)) +(/usr/share/texmf-texlive/tex/latex/psnfss/times.sty) +(/usr/share/texmf-texlive/tex/latex/preprint/fullpage.sty) +(/usr/share/texmf-texlive/tex/latex/base/inputenc.sty +(/usr/share/texmf-texlive/tex/latex/base/utf8.def +(/usr/share/texmf-texlive/tex/latex/base/t1enc.dfu) +(/usr/share/texmf-texlive/tex/latex/base/ot1enc.dfu) +(/usr/share/texmf-texlive/tex/latex/base/omsenc.dfu))) +(/usr/share/texmf-texlive/tex/latex/base/fontenc.sty +(/usr/share/texmf-texlive/tex/latex/base/t1enc.def)) +(/usr/share/texmf-texlive/tex/latex/base/ifthen.sty) (./hevea.sty +(/usr/share/texmf-texlive/tex/latex/comment/comment.sty +Excluding comment 'comment') Excluding comment 'rawhtml' +Excluding comment 'htmlonly') +(/usr/share/texmf-texlive/tex/latex/base/alltt.sty) +(/usr/share/texmf-texlive/tex/latex/tools/xspace.sty) +(/usr/share/texmf-texlive/tex/latex/hyperref/hyperref.sty +(/usr/share/texmf-texlive/tex/latex/graphics/keyval.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/ifpdf.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/ifvtex.sty) +(/usr/share/texmf-texlive/tex/generic/ifxetex/ifxetex.sty) +(/usr/share/texmf-texlive/tex/latex/oberdiek/hycolor.sty +(/usr/share/texmf-texlive/tex/latex/oberdiek/xcolor-patch.sty)) +(/usr/share/texmf-texlive/tex/latex/hyperref/pd1enc.def) +(/usr/share/texmf-texlive/tex/generic/oberdiek/etexcmds.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/infwarerr.sty)) +(/etc/texmf/tex/latex/config/hyperref.cfg) +(/usr/share/texmf-texlive/tex/latex/oberdiek/kvoptions.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/kvsetkeys.sty)) +Implicit mode ON; LaTeX internals redefined +(/usr/share/texmf-texlive/tex/latex/ltxmisc/url.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/bitset.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/intcalc.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/bigintcalc.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/pdftexcmds.sty +(/usr/share/texmf-texlive/tex/generic/oberdiek/ifluatex.sty) +(/usr/share/texmf-texlive/tex/generic/oberdiek/ltxcmds.sty)))) +(/usr/share/texmf-texlive/tex/generic/oberdiek/atbegshi.sty)) +*hyperref using default driver hpdftex* +(/usr/share/texmf-texlive/tex/latex/hyperref/hpdftex.def) +(/usr/share/texmf-texlive/tex/latex/listings/listings.sty +(/usr/share/texmf-texlive/tex/latex/listings/lstmisc.sty) +(/usr/share/texmf-texlive/tex/latex/listings/listings.cfg)) +(/usr/share/texmf-texlive/tex/latex/graphics/color.sty +(/etc/texmf/tex/latex/config/color.cfg) +(/usr/share/texmf-texlive/tex/latex/pdftex-def/pdftex.def) +(/usr/share/texmf-texlive/tex/latex/graphics/dvipsnam.def)) +(/usr/share/texmf-texlive/tex/latex/multirow/multirow.sty) +(./macros_listing_cocci.tex +(/usr/share/texmf-texlive/tex/latex/listings/lstlang1.sty) +(/usr/share/texmf-texlive/tex/latex/listings/lstmisc.sty)) +(./macros_grammar.tex) (./macros_common.tex) (./macros.tex) (./main_grammar.aux +(./examples.aux) (./tips.aux)) +(/usr/share/texmf-texlive/tex/latex/psnfss/t1ptm.fd) +(/usr/share/texmf-texlive/tex/latex/hyperref/nameref.sty +(/usr/share/texmf-texlive/tex/latex/oberdiek/refcount.sty)) (./main_grammar.out +) (./main_grammar.out) (/usr/share/texmf-texlive/tex/context/base/supp-pdf.mkii + +[Loading MPS to PDF converter (version 2006.09.02).] +) (./cocci_syntax.tex (/usr/share/texmf-texlive/tex/latex/psnfss/t1phv.fd) +(/usr/share/texmf-texlive/tex/latex/psnfss/t1pcr.fd) +Overfull \hbox (6.40143pt too wide) in paragraph at lines 75--109 + [] +[1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +(/usr/share/texmf-texlive/tex/latex/psnfss/omsptm.fd) [2] [3] [4]pdfTeX warning + (ext4): destination with the same identifier (name{script\\protect\040\\T1\\te +xtunderscore\040metadecl}) has been already used, duplicate ignored + + \relax +l.296 ...},\T{id}) <{}< \T{rulename\_id}.\T{id} ;} + [5] [6] [7] +Overfull \hbox (2.84222pt too wide) in paragraph at lines 709--751 + [] +[8] [9] [10]) [11] (./examples.tex +Underfull \hbox (badness 10000) in paragraph at lines 11--16 + + +Overfull \hbox (4.02878pt too wide) in paragraph at lines 17--73 +[][] +[12] +Underfull \hbox (badness 10000) in paragraph at lines 77--83 + +[13] +Underfull \hbox (badness 10000) in paragraph at lines 142--146 + + +Underfull \hbox (badness 10000) in paragraph at lines 147--153 + + +Underfull \hbox (badness 10000) in paragraph at lines 154--175 + + +Underfull \hbox (badness 10000) in paragraph at lines 178--194 + +[14] +Underfull \hbox (badness 10000) in paragraph at lines 205--212 + + +Underfull \hbox (badness 10000) in paragraph at lines 213--238 + +[15] +Underfull \hbox (badness 10000) in paragraph at lines 262--265 + +[16] +Overfull \hbox (565.25523pt too wide) in paragraph at lines 341--381 +[][] +[17] +Underfull \hbox (badness 10000) in paragraph at lines 385--394 + + +Underfull \hbox (badness 10000) in paragraph at lines 411--422 + +[18] +Underfull \hbox (badness 10000) in paragraph at lines 436--487 + +) [19] (./tips.tex +Overfull \hbox (6.12321pt too wide) in paragraph at lines 14--18 +[]\T1/ptm/m/n/10 However, if for some rea-son your code looks like []\T1/pcr/m/ +n/10 bar = *(foo)\T1/ptm/m/n/10 , you will end up with []\T1/pcr/m/n/10 bar = r +eadb((foo)) +) [20] (./main_grammar.aux (./examples.aux) (./tips.aux)) ) +(see the transcript file for additional information){/usr/share/texmf-texlive/f +onts/enc/dvips/base/8r.enc}< +/usr/share/texmf-texlive/fonts/type1/urw/helvetic/uhvr8a.pfb> +Output written on main_grammar.pdf (20 pages, 335600 bytes). +Transcript written on main_grammar.log. +pdflatex main_options.tex +This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) + restricted \write18 enabled. +entering extended mode +(./main_options.tex +LaTeX2e <2009/09/24> +Babel and hyphenation patterns for english, usenglishmax, dumylang, noh +yphenation, loaded. +(/usr/share/texmf-texlive/tex/latex/base/article.cls +Document Class: article 2007/10/19 v1.4h Standard LaTeX document class +(/usr/share/texmf-texlive/tex/latex/base/size10.clo)) +(/usr/share/texmf-texlive/tex/latex/base/inputenc.sty +(/usr/share/texmf-texlive/tex/latex/base/utf8.def +(/usr/share/texmf-texlive/tex/latex/base/t1enc.dfu) +(/usr/share/texmf-texlive/tex/latex/base/ot1enc.dfu) +(/usr/share/texmf-texlive/tex/latex/base/omsenc.dfu))) +(/usr/share/texmf-texlive/tex/latex/base/fontenc.sty +(/usr/share/texmf-texlive/tex/latex/base/t1enc.def)) +(/usr/share/texmf-texlive/tex/latex/base/ifthen.sty) +(/usr/share/texmf-texlive/tex/latex/preprint/fullpage.sty) +(/usr/share/texmf-texlive/tex/latex/amsmath/amsmath.sty +For additional information on amsmath, use the `?' option. +(/usr/share/texmf-texlive/tex/latex/amsmath/amstext.sty +(/usr/share/texmf-texlive/tex/latex/amsmath/amsgen.sty)) +(/usr/share/texmf-texlive/tex/latex/amsmath/amsbsy.sty) +(/usr/share/texmf-texlive/tex/latex/amsmath/amsopn.sty)) +(/usr/share/texmf-texlive/tex/latex/amsfonts/amssymb.sty +(/usr/share/texmf-texlive/tex/latex/amsfonts/amsfonts.sty)) +(/usr/share/texmf-texlive/tex/latex/tools/xspace.sty) +(/usr/share/texmf-texlive/tex/latex/ifsym/ifsym.sty +(/usr/share/texmf-texlive/tex/latex/tools/calc.sty)) (./macros_options.tex) +(./macros.tex) +No file main_options.aux. +(/usr/share/texmf-texlive/tex/latex/amsfonts/umsa.fd) +(/usr/share/texmf-texlive/tex/latex/amsfonts/umsb.fd) + +LaTeX Warning: No \author given. + +(./spatch_options.tex (/usr/share/texmf-texlive/tex/latex/base/t1cmtt.fd) +(/usr/share/texmf-texlive/tex/latex/base/omscmr.fd) +Overfull \hbox (4.27425pt too wide) in paragraph at lines 39--42 +[]\T1/cmtt/m/n/10 spatch -sp_file foo.cocci -dir foodir -include_headers\T1/cmr +/m/n/10 : Ap-ply the se-man-tic patch \T1/cmtt/m/n/10 foo.cocci +(/usr/share/texmf-texlive/tex/latex/ifsym/uifgeo.fd) [1{/var/lib/texmf/fonts/ma +p/pdftex/updmap/pdftex.map}] [2] [3] [4] [5] [6] +(/usr/share/texmf-texlive/tex/latex/base/t1cmss.fd) [7] [8]) [9] +(./main_options.aux) ) +(see the transcript file for additional information) +Output written on main_options.pdf (9 pages, 136077 bytes). +Transcript written on main_options.log. +pdflatex main_options.tex +This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) + restricted \write18 enabled. +entering extended mode +(./main_options.tex +LaTeX2e <2009/09/24> +Babel and hyphenation patterns for english, usenglishmax, dumylang, noh +yphenation, loaded. +(/usr/share/texmf-texlive/tex/latex/base/article.cls +Document Class: article 2007/10/19 v1.4h Standard LaTeX document class +(/usr/share/texmf-texlive/tex/latex/base/size10.clo)) +(/usr/share/texmf-texlive/tex/latex/base/inputenc.sty +(/usr/share/texmf-texlive/tex/latex/base/utf8.def +(/usr/share/texmf-texlive/tex/latex/base/t1enc.dfu) +(/usr/share/texmf-texlive/tex/latex/base/ot1enc.dfu) +(/usr/share/texmf-texlive/tex/latex/base/omsenc.dfu))) +(/usr/share/texmf-texlive/tex/latex/base/fontenc.sty +(/usr/share/texmf-texlive/tex/latex/base/t1enc.def)) +(/usr/share/texmf-texlive/tex/latex/base/ifthen.sty) +(/usr/share/texmf-texlive/tex/latex/preprint/fullpage.sty) +(/usr/share/texmf-texlive/tex/latex/amsmath/amsmath.sty +For additional information on amsmath, use the `?' option. +(/usr/share/texmf-texlive/tex/latex/amsmath/amstext.sty +(/usr/share/texmf-texlive/tex/latex/amsmath/amsgen.sty)) +(/usr/share/texmf-texlive/tex/latex/amsmath/amsbsy.sty) +(/usr/share/texmf-texlive/tex/latex/amsmath/amsopn.sty)) +(/usr/share/texmf-texlive/tex/latex/amsfonts/amssymb.sty +(/usr/share/texmf-texlive/tex/latex/amsfonts/amsfonts.sty)) +(/usr/share/texmf-texlive/tex/latex/tools/xspace.sty) +(/usr/share/texmf-texlive/tex/latex/ifsym/ifsym.sty +(/usr/share/texmf-texlive/tex/latex/tools/calc.sty)) (./macros_options.tex) +(./macros.tex) (./main_options.aux) +(/usr/share/texmf-texlive/tex/latex/amsfonts/umsa.fd) +(/usr/share/texmf-texlive/tex/latex/amsfonts/umsb.fd) + +LaTeX Warning: No \author given. + +(./spatch_options.tex (/usr/share/texmf-texlive/tex/latex/base/t1cmtt.fd) +(/usr/share/texmf-texlive/tex/latex/base/omscmr.fd) +Overfull \hbox (4.27425pt too wide) in paragraph at lines 39--42 +[]\T1/cmtt/m/n/10 spatch -sp_file foo.cocci -dir foodir -include_headers\T1/cmr +/m/n/10 : Ap-ply the se-man-tic patch \T1/cmtt/m/n/10 foo.cocci +(/usr/share/texmf-texlive/tex/latex/ifsym/uifgeo.fd) [1{/var/lib/texmf/fonts/ma +p/pdftex/updmap/pdftex.map}] [2] [3] [4] [5] [6] +(/usr/share/texmf-texlive/tex/latex/base/t1cmss.fd) [7] [8]) [9] +(./main_options.aux) ) +(see the transcript file for additional information) +Output written on main_options.pdf (9 pages, 136077 bytes). +Transcript written on main_options.log. +mv main_options.pdf options.pdf +make[5]: Leaving directory `/home/jll/coccinelle-release/docs/manual' +make[4]: Leaving directory `/home/jll/coccinelle-release/docs' +make[3]: Leaving directory `/home/jll/coccinelle-release' +make clean +make[3]: Entering directory `/home/jll/coccinelle-release' +Makefile.config is missing. Have you run ./configure? +set -e; for i in pycaml ocamlsexp commons globals menhirlib ctl parsing_cocci parsing_c engine popl09 extra python ocaml; do make -C $i clean; done +make[4]: Entering directory `/home/jll/coccinelle-release/pycaml' +rm -f pycaml.customtop +rm -f *.cm[aiox] *.a +rm -f pycaml pycaml.top pycaml.cmi pycaml.cmo pycaml.cmx pycaml.asm pycaml.s pycaml.o pycaml_ml.o pycaml.cma pycaml.cmxa pycaml.a pycaml.cmi pycaml.cmo pycaml.cmi pycaml.cmx pycaml.o libpycaml_stubs.a pycaml.annot .cmi .cmo .cmx .o dllpycaml_stubs.so +rm -rf ._bcdi ._ncdi ._d +make[4]: Leaving directory `/home/jll/coccinelle-release/pycaml' +make[4]: Entering directory `/home/jll/coccinelle-release/ocamlsexp' +rm -f sexplib.top +rm -f lexer.ml +rm -f parser.ml parser.mli parser.output +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/ocamlsexp' +make[4]: Entering directory `/home/jll/coccinelle-release/commons' +rm -f commons.top +rm -f dllcommons_backtrace.so +rm -f gmon.out +rm -f *.cm[iox] *.o *.a *.cma *.cmxa *.annot +rm -f *~ .*~ #*# +for i in ocamlextra ocollection; do (cd $i; \ + rm -f *.cm[iox] *.o *.a *.cma *.cmxa *.annot *~ .*~ ; \ + cd ..; ) \ + done +make[4]: Leaving directory `/home/jll/coccinelle-release/commons' +make[4]: Entering directory `/home/jll/coccinelle-release/globals' +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/globals' +make[4]: Entering directory `/home/jll/coccinelle-release/menhirlib' +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/menhirlib' +make[4]: Entering directory `/home/jll/coccinelle-release/ctl' +ocamldep.opt -I ../commons -I ../commons/ocamlextra -I ../globals *.mli *.ml > .depend +make[4]: Leaving directory `/home/jll/coccinelle-release/ctl' +make[4]: Entering directory `/home/jll/coccinelle-release/ctl' +rm -f ctl.cma ctl.cmxa ctl.a ctl.top +rm -f *.cm[iox] *.o *.annot +rm -f *~ .*~ #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/ctl' +make[4]: Entering directory `/home/jll/coccinelle-release/parsing_cocci' +ocamldep.opt -I ../commons -I ../commons/ocamlextra -I ../globals -I *.mli *.ml > .depend +Bad -I option: adjacency.mli: Not a directory +rm -f cocci_parser.cma +rm -f cocci_parser.cmxa cocci_parser.a +rm -f cocci_parser +rm -f *.cm[iox] *.o *.annot +rm -f *~ .*~ #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/parsing_cocci' +make[4]: Entering directory `/home/jll/coccinelle-release/parsing_c' +rm -f parsing_c.top +rm -f lexer_c.ml +rm -f parser_c.ml parser_c.mli parser_c.output +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/parsing_c' +make[4]: Entering directory `/home/jll/coccinelle-release/engine' +rm -f cocciengine.top +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/engine' +make[4]: Entering directory `/home/jll/coccinelle-release/popl09' +ocamldep.opt -I ../commons -I ../globals -I ../ctl -I ../parsing_cocci -I ../parsing_c -I ../engine *.mli *.ml > .depend +make[4]: Leaving directory `/home/jll/coccinelle-release/popl09' +make[4]: Entering directory `/home/jll/coccinelle-release/popl09' +rm -f popl.cma popl.top +rm -f popl.cmxa popl.a +rm -f *.cm[iox] *.o *.annot +rm -f *~ .*~ #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/popl09' +make[4]: Entering directory `/home/jll/coccinelle-release/extra' +rm -f extra.byte extra.opt rm -f extra.top +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/extra' +make[4]: Entering directory `/home/jll/coccinelle-release/python' +ocamldep.opt -I ../commons -I ../commons/ocamlextra -I ../globals -I ../parsing_c -I ../parsing_cocci *.mli *.ml > .depend +make[4]: Leaving directory `/home/jll/coccinelle-release/python' +make[4]: Entering directory `/home/jll/coccinelle-release/python' +rm -f coccipython.cma +rm -f coccipython.cmxa coccipython.a +rm -f coccipython +rm -f coccipython.byte +rm -f +rm -f *.cm[iox] *.o *.annot +rm -f *~ .*~ #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/python' +make[4]: Entering directory `/home/jll/coccinelle-release/ocaml' +rm -f cocciocaml.top +rm -f *.cm[ioxa] *.o *.a *.cmxa *.annot +rm -f *~ .*~ gmon.out #*# +make[4]: Leaving directory `/home/jll/coccinelle-release/ocaml' +make -C demos/spp clean +make[4]: Entering directory `/home/jll/coccinelle-release/demos/spp' +rm -f test.o test.c.i test2.o test2.c.i +make[4]: Leaving directory `/home/jll/coccinelle-release/demos/spp' +rm -f spatch spatch.opt spatch.top +make -C docs clean +make[4]: Entering directory `/home/jll/coccinelle-release/docs' +rm -f spatch.1 +make -C manual clean +make[5]: Entering directory `/home/jll/coccinelle-release/docs/manual' +rm -f *.aux *.dvi *.haux *.htoc *.log *.out *~ +rm -f main-diff.* +rm -f *.aux \ + *.bbl \ + *.blg \ + *.dvi \ + *.log \ + *.out \ + *.toc +make[5]: Leaving directory `/home/jll/coccinelle-release/docs/manual' +make[4]: Leaving directory `/home/jll/coccinelle-release/docs' +rm -f scripts/spatch scripts/spatch.byte scripts/spatch.opt +rm -f gmon.out +rm -f *.cm[iox] *.o *.annot +rm -f *~ .*~ *.exe #*# +make[3]: Leaving directory `/home/jll/coccinelle-release' +cp -a . /tmp/coccinelle-0.2.5-rc2 +cp: `.' and `/tmp/coccinelle-0.2.5-rc2/.' are the same file +make[2]: *** [srctar] Error 1 +make[2]: Leaving directory `/home/jll/coccinelle-release' +make[1]: *** [package-src] Error 2 +make[1]: Leaving directory `/home/jll/coccinelle-release' +make: *** [package] Error 2 +hadrien:~/coccinelle-release: ^Dexit + +Script done on 2011-01-09T21:02:47 CET diff --git a/parsing_c/ast_c.ml b/parsing_c/ast_c.ml index 9cfd69a..d2776d5 100644 --- a/parsing_c/ast_c.ml +++ b/parsing_c/ast_c.ml @@ -65,7 +65,7 @@ open Common * *) -(* forunparser: *) +(* for unparser: *) type posl = int * int (* line-col, for MetaPosValList, for position variables *) (* with sexp *) @@ -186,7 +186,7 @@ and fullType = typeQualifier * typeC | TypeName of name * fullType option (* semantic: filled later *) - | ParenType of fullType (* forunparser: *) + | ParenType of fullType (* for unparser: *) (* gccext: TypeOfType below may seems useless; Why declare a * __typeof__(int) x; ? @@ -331,7 +331,7 @@ and expression = (expressionbis * exp_info ref (* semantic: *)) wrap3 | StatementExpr of compound wrap (* ( ) new scope *) | Constructor of fullType * initialiser wrap2 (* , *) list - (* forunparser: *) + (* for unparser: *) | ParenExpr of expression (* cppext: IfdefExpr TODO *) @@ -578,7 +578,6 @@ and definition = definitionbis wrap (* ( ) { } fakestart sto *) and cpp_directive = | Define of define | Include of includ - | Undef of string wrap | PragmaAndCo of il (*| Ifdef ? no, ifdefs are handled differently, cf ifdef_directive below *) @@ -586,6 +585,7 @@ and define = string wrap (* #define s eol *) * (define_kind * define_val) and define_kind = | DefineVar | DefineFunc of ((string wrap) wrap2 list) wrap (* () *) + | Undef and define_val = (* most common case; e.g. to define int constant *) | DefineExpr of expression diff --git a/parsing_c/control_flow_c_build.ml b/parsing_c/control_flow_c_build.ml index aeaabd0..a911d45 100644 --- a/parsing_c/control_flow_c_build.ml +++ b/parsing_c/control_flow_c_build.ml @@ -1189,7 +1189,10 @@ let ast_to_control_flow e = Some !g | Ast_c.CppTop (Ast_c.Define ((id,ii), (defkind, defval))) -> - let s = ("#define " ^ id) in + let s = + match defkind with + Ast_c.Undef -> "#undef " ^ id + | _ -> "#define " ^ id in let headeri = !g+>add_node (DefineHeader ((id, ii), defkind)) lbl_0 s in !g#add_arc ((topi, headeri),Direct); diff --git a/parsing_c/lexer_c.mll b/parsing_c/lexer_c.mll index 1d5e464..da6a291 100644 --- a/parsing_c/lexer_c.mll +++ b/parsing_c/lexer_c.mll @@ -229,6 +229,7 @@ let ulong = (UnSigned,CLong) (*****************************************************************************) let letter = ['A'-'Z' 'a'-'z' '_'] +let extended_letter = ['A'-'Z' 'a'-'z' '_' ':' '<' '>' '~'](*for c++, not used*) let digit = ['0'-'9'] (* not used for the moment *) @@ -371,12 +372,7 @@ rule token = parse (* note: in some cases can have stuff after the ident as in #undef XXX 50, * but I currently don't handle it cos I think it's bad code. *) - | (("#" [' ' '\t']* "undef" [' ' '\t']+) as _undef) (id as id) - { let info = tokinfo lexbuf in - TUndef (id, info) - (*+> tok_add_s (cpp_eat_until_nl lexbuf))*) - } - + | "#" [' ' '\t']* "undef" { TUndef (tokinfo lexbuf) } (* ---------------------- *) (* #include *) @@ -508,6 +504,8 @@ rule token = parse } + | "#" [' ''\t']* "endif" [' ''\t']+ (letter|digit) ((letter|digit)*) [' ''\t']* + { TEndif (no_ifdef_mark(), tokinfo lexbuf) } (* bugfix: can have #endif LINUX but at the same time if I eat everything * until next line, I may miss some TComment which for some tools * are important such as aComment @@ -676,6 +674,22 @@ rule token = parse pr2 ("LEXER: identifier with dollar: " ^ s); TIdent (s, info) } + | (letter | '$') (letter | digit | '$' | '~') * + ("::" (letter | '$' | '~') (letter | digit | '$' | '~') * + ('<' (letter | '$' | '~') (letter | digit | '$' | '~') * '>') ?) * + + { + if !Flag.c_plus_plus + then + begin + let info = tokinfo lexbuf in + let s = tok lexbuf in + TIdent (s, info) + end + else + raise + (Lexical "~ and :: not allowed in C identifiers, try -c++ option") + } (* ----------------------------------------------------------------------- *) diff --git a/parsing_c/parse_c.ml b/parsing_c/parse_c.ml index b9f6dac..7cfa502 100644 --- a/parsing_c/parse_c.ml +++ b/parsing_c/parse_c.ml @@ -519,7 +519,28 @@ let rec lexer_function ~pass tr = fun lexbuf -> then begin incr Stat.nDefinePassing; pr2_once ("CPP-DEFINE: inside function, I treat it as comment"); - let v' = Parser_c.TCommentCpp (Token_c.CppDirective,TH.info_of_tok v) + let v' = + Parser_c.TCommentCpp (Token_c.CppDirective,TH.info_of_tok v) + in + tr.passed <- v'::tr.passed; + tr.rest <- Parsing_hacks.comment_until_defeol tr.rest; + tr.rest_clean <- Parsing_hacks.drop_until_defeol tr.rest_clean; + lexer_function ~pass tr lexbuf + end + else begin + tr.passed <- v::tr.passed; + tr.passed_clean <- v::tr.passed_clean; + v + end + + | Parser_c.TUndef (tok) -> + if not (LP.current_context () =*= LP.InTopLevel) && + (!Flag_parsing_c.cpp_directive_passing || (pass >= 2)) + then begin + incr Stat.nUndefPassing; + pr2_once ("CPP-UNDEF: inside function, I treat it as comment"); + let v' = + Parser_c.TCommentCpp (Token_c.CppDirective,TH.info_of_tok v) in tr.passed <- v'::tr.passed; tr.rest <- Parsing_hacks.comment_until_defeol tr.rest; @@ -544,7 +565,7 @@ let rec lexer_function ~pass tr = fun lexbuf -> end else begin let (v,new_tokens) = - Parsing_hacks.tokens_include (info, includes, filename, inifdef) in + Parsing_hacks.tokens_include(info, includes, filename, inifdef) in let new_tokens_clean = new_tokens +> List.filter TH.is_not_comment in diff --git a/parsing_c/parser_c.mly b/parsing_c/parser_c.mly index b604160..0d599db 100644 --- a/parsing_c/parser_c.mly +++ b/parsing_c/parser_c.mly @@ -503,8 +503,7 @@ let mk_string_wrap (s,info) = (s, [info]) /*(* other *)*/ /*(*---------------*)*/ - -%token TUndef +%token TUndef %token TCppDirectiveOther @@ -1673,11 +1672,12 @@ cpp_directive: *)*/ | TDefine TIdentDefine TOParDefine param_define_list TCPar define_val TDefEOL { Define - ((fst $2, [$1; snd $2;$7]), + ((fst $2, [$1; snd $2; $7]), (DefineFunc ($4, [$3;$5]), $6)) } - | TUndef { Undef (fst $1, [snd $1]) } + | TUndef TIdentDefine TDefEOL + { Define((fst $2, [$1; snd $2; $3]), (Undef,DefineEmpty)) } | TCppDirectiveOther { PragmaAndCo ([$1]) } diff --git a/parsing_c/parsing_hacks.ml b/parsing_c/parsing_hacks.ml index c2ba571..c1f32c6 100644 --- a/parsing_c/parsing_hacks.ml +++ b/parsing_c/parsing_hacks.ml @@ -419,6 +419,10 @@ let rec define_line_1 acc xs = let line = Ast_c.line_of_info ii in let acc = (TDefine ii) :: acc in define_line_2 acc line ii xs + | TUndef ii::xs -> + let line = Ast_c.line_of_info ii in + let acc = (TUndef ii) :: acc in + define_line_2 acc line ii xs | TCppEscapedNewline ii::xs -> pr2 ("SUSPICIOUS: a \\ character appears outside of a #define at"); pr2 (Ast_c.strloc_of_info ii); @@ -460,6 +464,17 @@ and define_line_2 acc line lastinfo xs = let rec define_ident acc xs = match xs with | [] -> List.rev acc + | TUndef ii::xs -> + let acc = TUndef ii :: acc in + (match xs with + TCommentSpace i1::TIdent (s,i2)::xs -> + let acc = (TCommentSpace i1) :: acc in + let acc = (TIdentDefine (s,i2)) :: acc in + define_ident acc xs + | _ -> + pr2 "WEIRD: weird #define body"; + define_ident acc xs + ) | TDefine ii::xs -> let acc = TDefine ii :: acc in (match xs with @@ -2027,7 +2042,7 @@ let lookahead2 ~pass next before = end else x - | (TUndef (id, ii) as x)::_, _ + | (TUndef (ii) as x)::_, _ -> if (pass >= 2) then begin diff --git a/parsing_c/parsing_stat.ml b/parsing_c/parsing_stat.ml index ab663c5..8723eea 100644 --- a/parsing_c/parsing_stat.ml +++ b/parsing_c/parsing_stat.ml @@ -214,6 +214,7 @@ let nIfdefExprPassing = ref 0 let nIfdefPassing = ref 0 let nIncludePassing = ref 0 +let nUndefPassing = ref 0 let nDefinePassing = ref 0 let nIfdefZero = ref 0 @@ -293,6 +294,7 @@ let assoc_stat_number = "nIncludePassing", nIncludePassing; "nDefinePassing", nDefinePassing; + "nUndefPassing", nUndefPassing; "nMacroExpand", nMacroExpand; "nMacroHint", nMacroHint; diff --git a/parsing_c/pretty_print_c.ml b/parsing_c/pretty_print_c.ml index 812e7a8..1aa988d 100644 --- a/parsing_c/pretty_print_c.ml +++ b/parsing_c/pretty_print_c.ml @@ -1069,7 +1069,7 @@ and pp_init (init, iinit) = | DefineTodo -> pr2 "DefineTodo" in (match defkind with - | DefineVar -> () + | DefineVar | Undef -> () | DefineFunc (params, ii) -> let (i1,i2) = tuple_of_list2 ii in pr_elem i1; @@ -1083,8 +1083,6 @@ and pp_init (init, iinit) = define_val defval; pr_elem ieol - | Undef (s, ii) -> - List.iter pr_elem ii | PragmaAndCo (ii) -> List.iter pr_elem ii in diff --git a/parsing_c/token_helpers.ml b/parsing_c/token_helpers.ml index bbb9dba..e333cb1 100644 --- a/parsing_c/token_helpers.ml +++ b/parsing_c/token_helpers.ml @@ -229,7 +229,7 @@ let info_of_tok = function | TDefine (ii) -> ii | TInclude (includes, filename, inifdef, i1) -> i1 - | TUndef (s, ii) -> ii + | TUndef (ii) -> ii | TCppDirectiveOther (ii) -> ii | TIncludeStart (i1, inifdef) -> i1 @@ -376,7 +376,7 @@ let visitor_info_of_tok f = function | TDefine (i1) -> TDefine(f i1) - | TUndef (s,i1) -> TUndef(s, f i1) + | TUndef (i1) -> TUndef(f i1) | TCppDirectiveOther (i1) -> TCppDirectiveOther(f i1) | TInclude (includes, filename, inifdef, i1) -> diff --git a/parsing_c/type_annoter_c.ml b/parsing_c/type_annoter_c.ml index 5e6ffba..3591aeb 100644 --- a/parsing_c/type_annoter_c.ml +++ b/parsing_c/type_annoter_c.ml @@ -647,7 +647,6 @@ let annotater_expr_visitor_subpart = (fun (k,bigf) expr -> | FunCall (e1, args) -> (match Ast_c.unwrap_expr e1 with | Ident (ident) -> - (* recurse *) args +> List.iter (fun (e,ii) -> (* could typecheck if arguments agree with prototype *) @@ -701,8 +700,11 @@ let annotater_expr_visitor_subpart = (fun (k,bigf) expr -> | DefineVar, _ -> pr2 ("Type_annoter: not a macro-func: " ^ s); Type_c.noTypeHere + | Undef, _ -> + pr2 ("Type_annoter: not a macro-func: " ^ s); + Type_c.noTypeHere | DefineFunc _, _ -> - (* normally the FunCall case should have catch it *) + (* normally the FunCall case should have caught it *) pr2 ("Type_annoter: not a macro-func-expr: " ^ s); Type_c.noTypeHere ) @@ -750,6 +752,9 @@ let annotater_expr_visitor_subpart = (fun (k,bigf) expr -> (* normally the FunCall case should have catch it *) pr2 ("Type_annoter: not a macro-var: " ^ s); Type_c.noTypeHere + | Undef, _ -> + pr2 ("Type_annoter: not a expression: " ^ s); + Type_c.noTypeHere ) | None -> (match lookup_opt_env lookup_enum s with @@ -1027,7 +1032,6 @@ let rec visit_toplevel ~just_add_in_env ~depth elem = add_binding (Macro (s, (defkind, defval) )) true; - | Undef _ | PragmaAndCo _ -> () ); @@ -1258,6 +1262,14 @@ let annotate_test_expressions prog = | Binary(e1,Logical(OrLog),e2) -> propagate_test e1; propagate_test e2 | Unary(e1,Not) -> propagate_test e1 | ParenExpr(e) -> propagate_test e + | FunCall(e,args) -> (* not very nice, but so painful otherwise *) + (match (unwrap e,args) with + ((Ident(i),_),[(Left a,_)]) -> + let nm = str_of_name i in + if List.mem nm ["likely";"unlikely"] + then propagate_test a + else () + | _ -> ()) | _ -> () in let bigf = { Visitor_c.default_visitor_c with diff --git a/parsing_c/unparse_c.ml b/parsing_c/unparse_c.ml index 5f3301f..3d9257a 100644 --- a/parsing_c/unparse_c.ml +++ b/parsing_c/unparse_c.ml @@ -1140,7 +1140,6 @@ let pp_program2 xs outfile = match ppmethod with | PPnormal -> (* now work on tokens *) - (* phase1: just get all the tokens, all the information *) assert(toks_e +> List.for_all (fun t -> TH.is_origin t or TH.is_expanded t @@ -1153,7 +1152,6 @@ let pp_program2 xs outfile = (* assert Origin;ExpandedTok; + Cocci + C (was AbstractLineTok) * and no tag information, just NOTHING. *) - let toks = if !Flag.sgrep_mode2 then diff --git a/parsing_c/unparse_cocci.ml b/parsing_c/unparse_cocci.ml index 4a75d68..5cc451c 100644 --- a/parsing_c/unparse_cocci.ml +++ b/parsing_c/unparse_cocci.ml @@ -794,6 +794,8 @@ and rule_elem arity re = | Ast.TopInit(init) -> initialiser false init | Ast.Include(inc,s) -> mcode print_string inc; print_text " "; mcode inc_file s + | Ast.Undef(def,id) -> + mcode print_string def; pr_space(); ident id | Ast.DefineHeader(def,id,params) -> mcode print_string def; pr_space(); ident id; print_define_parameters params diff --git a/parsing_c/visitor_c.ml b/parsing_c/visitor_c.ml index 05adfa4..4f36a5a 100644 --- a/parsing_c/visitor_c.ml +++ b/parsing_c/visitor_c.ml @@ -705,8 +705,6 @@ and vk_cpp_directive bigf directive = iif ii; vk_define_kind bigf defkind; vk_define_val bigf defval - | Undef (s, ii) -> - iif ii | PragmaAndCo (ii) -> iif ii in f (k, bigf) directive @@ -721,6 +719,7 @@ and vk_define_kind bigf defkind = vk_ii bigf iis; vk_ii bigf iicomma; ) + | Undef -> () and vk_define_val bigf defval = let f = bigf.kdefineval in @@ -816,7 +815,6 @@ and vk_node = fun bigf node -> pr2_once "DefineTodo"; () - | F.Include {i_include = (s, ii);} -> iif ii; | F.MacroTop (s, args, ii) -> @@ -1483,7 +1481,6 @@ and vk_cpp_directive_s = fun bigf top -> | Define ((s,ii), (defkind, defval)) -> Define ((s, iif ii), (vk_define_kind_s bigf defkind, vk_define_val_s bigf defval)) - | Undef (s, ii) -> Undef (s, iif ii) | PragmaAndCo (ii) -> PragmaAndCo (iif ii) in f (k, bigf) top @@ -1505,6 +1502,7 @@ and vk_define_kind_s = fun bigf defkind -> ), vk_ii_s bigf ii ) + | Undef -> Undef and vk_define_val_s = fun bigf x -> diff --git a/parsing_cocci/.depend b/parsing_cocci/.depend index ddd635a..7f80f29 100644 --- a/parsing_cocci/.depend +++ b/parsing_cocci/.depend @@ -1,135 +1,135 @@ -adjust_pragmas.cmi: ast0_cocci.cmi -arity.cmi: ast0_cocci.cmi -ast0_cocci.cmi: type_cocci.cmi ast_cocci.cmi -ast0toast.cmi: ast_cocci.cmi ast0_cocci.cmi -ast_cocci.cmi: type_cocci.cmi -check_meta.cmi: ast_cocci.cmi ast0_cocci.cmi -comm_assoc.cmi: ast0_cocci.cmi -compute_lines.cmi: ast0_cocci.cmi -context_neg.cmi: ../commons/common.cmi ast0_cocci.cmi -data.cmi: type_cocci.cmi ../commons/common.cmi ast_cocci.cmi ast0_cocci.cmi -disjdistr.cmi: ast_cocci.cmi -free_vars.cmi: ast_cocci.cmi -function_prototypes.cmi: ast_cocci.cmi ast0_cocci.cmi -get_constants.cmi: ast_cocci.cmi -get_constants2.cmi: ast_cocci.cmi -id_utils.cmi: get_constants2.cmi -index.cmi: ast0_cocci.cmi -insert_plus.cmi: ast0_cocci.cmi -iso_compile.cmi: iso_pattern.cmi -iso_pattern.cmi: visitor_ast0_types.cmo ast_cocci.cmi ast0_cocci.cmi -merge.cmi: ast_cocci.cmi ast0_cocci.cmi -parse_cocci.cmi: get_constants2.cmi ast_cocci.cmi -plus.cmi: ast_cocci.cmi -pretty_print_cocci.cmi: ast_cocci.cmi -safe_for_multi_decls.cmi: ast_cocci.cmi -simple_assignments.cmi: ast0_cocci.cmi -single_statement.cmi: ast0_cocci.cmi -test_exps.cmi: ast0_cocci.cmi -top_level.cmi: ast0_cocci.cmi -type_cocci.cmi: -type_infer.cmi: ast0_cocci.cmi -unify_ast.cmi: ast_cocci.cmi -unitary_ast0.cmi: ast0_cocci.cmi -unparse_ast0.cmi: ast0_cocci.cmi -visitor_ast.cmi: ast_cocci.cmi -visitor_ast0.cmi: visitor_ast0_types.cmo ast_cocci.cmi ast0_cocci.cmi +adjust_pragmas.cmi: ast0_cocci.cmi +arity.cmi: ast0_cocci.cmi +ast0_cocci.cmi: type_cocci.cmi ast_cocci.cmi +ast0toast.cmi: ast_cocci.cmi ast0_cocci.cmi +ast_cocci.cmi: type_cocci.cmi +check_meta.cmi: ast_cocci.cmi ast0_cocci.cmi +comm_assoc.cmi: ast0_cocci.cmi +compute_lines.cmi: ast0_cocci.cmi +context_neg.cmi: ../commons/common.cmi ast0_cocci.cmi +data.cmi: type_cocci.cmi ../commons/common.cmi ast_cocci.cmi ast0_cocci.cmi +disjdistr.cmi: ast_cocci.cmi +free_vars.cmi: ast_cocci.cmi +function_prototypes.cmi: ast_cocci.cmi ast0_cocci.cmi +get_constants.cmi: ast_cocci.cmi +get_constants2.cmi: ast_cocci.cmi +id_utils.cmi: get_constants2.cmi +index.cmi: ast0_cocci.cmi +insert_plus.cmi: ast0_cocci.cmi +iso_compile.cmi: iso_pattern.cmi +iso_pattern.cmi: visitor_ast0_types.cmo ast_cocci.cmi ast0_cocci.cmi +merge.cmi: ast_cocci.cmi ast0_cocci.cmi +parse_cocci.cmi: get_constants2.cmi ast_cocci.cmi +plus.cmi: ast_cocci.cmi +pretty_print_cocci.cmi: ast_cocci.cmi +safe_for_multi_decls.cmi: ast_cocci.cmi +simple_assignments.cmi: ast0_cocci.cmi +single_statement.cmi: ast0_cocci.cmi +test_exps.cmi: ast0_cocci.cmi +top_level.cmi: ast0_cocci.cmi +type_cocci.cmi: +type_infer.cmi: ast0_cocci.cmi +unify_ast.cmi: ast_cocci.cmi +unitary_ast0.cmi: ast0_cocci.cmi +unparse_ast0.cmi: ast0_cocci.cmi +visitor_ast.cmi: ast_cocci.cmi +visitor_ast0.cmi: visitor_ast0_types.cmo ast_cocci.cmi ast0_cocci.cmi adjacency.cmo: visitor_ast0_types.cmo visitor_ast0.cmi ast0_cocci.cmi \ - adjacency.cmi + adjacency.cmi adjacency.cmx: visitor_ast0_types.cmx visitor_ast0.cmx ast0_cocci.cmx \ - adjacency.cmi + adjacency.cmi adjust_pragmas.cmo: visitor_ast0_types.cmo visitor_ast0.cmi ast_cocci.cmi \ - ast0_cocci.cmi adjust_pragmas.cmi + ast0_cocci.cmi adjust_pragmas.cmi adjust_pragmas.cmx: visitor_ast0_types.cmx visitor_ast0.cmx ast_cocci.cmx \ - ast0_cocci.cmx adjust_pragmas.cmi -arity.cmo: ast_cocci.cmi ast0_cocci.cmi arity.cmi -arity.cmx: ast_cocci.cmx ast0_cocci.cmx arity.cmi + ast0_cocci.cmx adjust_pragmas.cmi +arity.cmo: ast_cocci.cmi ast0_cocci.cmi arity.cmi +arity.cmx: ast_cocci.cmx ast0_cocci.cmx arity.cmi ast0_cocci.cmo: type_cocci.cmi ../globals/flag.cmo ../commons/common.cmi \ - ast_cocci.cmi ast0_cocci.cmi + ast_cocci.cmi ast0_cocci.cmi ast0_cocci.cmx: type_cocci.cmx ../globals/flag.cmx ../commons/common.cmx \ - ast_cocci.cmx ast0_cocci.cmi + ast_cocci.cmx ast0_cocci.cmi ast0toast.cmo: visitor_ast0_types.cmo visitor_ast0.cmi type_cocci.cmi \ ../globals/flag.cmo ../commons/ocamlextra/dumper.cmi ast_cocci.cmi \ - ast0_cocci.cmi ast0toast.cmi + ast0_cocci.cmi ast0toast.cmi ast0toast.cmx: visitor_ast0_types.cmx visitor_ast0.cmx type_cocci.cmx \ ../globals/flag.cmx ../commons/ocamlextra/dumper.cmx ast_cocci.cmx \ - ast0_cocci.cmx ast0toast.cmi -ast_cocci.cmo: type_cocci.cmi ../commons/common.cmi ast_cocci.cmi -ast_cocci.cmx: type_cocci.cmx ../commons/common.cmx ast_cocci.cmi + ast0_cocci.cmx ast0toast.cmi +ast_cocci.cmo: type_cocci.cmi ../commons/common.cmi ast_cocci.cmi +ast_cocci.cmx: type_cocci.cmx ../commons/common.cmx ast_cocci.cmi check_meta.cmo: visitor_ast0_types.cmo visitor_ast0.cmi type_cocci.cmi \ - ../commons/common.cmi ast_cocci.cmi ast0_cocci.cmi check_meta.cmi + ../commons/common.cmi ast_cocci.cmi ast0_cocci.cmi check_meta.cmi check_meta.cmx: visitor_ast0_types.cmx visitor_ast0.cmx type_cocci.cmx \ - ../commons/common.cmx ast_cocci.cmx ast0_cocci.cmx check_meta.cmi + ../commons/common.cmx ast_cocci.cmx ast0_cocci.cmx check_meta.cmi comm_assoc.cmo: visitor_ast0_types.cmo visitor_ast0.cmi unparse_ast0.cmi \ - ../globals/flag.cmo ast_cocci.cmi ast0_cocci.cmi comm_assoc.cmi + ../globals/flag.cmo ast_cocci.cmi ast0_cocci.cmi comm_assoc.cmi comm_assoc.cmx: visitor_ast0_types.cmx visitor_ast0.cmx unparse_ast0.cmx \ - ../globals/flag.cmx ast_cocci.cmx ast0_cocci.cmx comm_assoc.cmi -compute_lines.cmo: ast_cocci.cmi ast0_cocci.cmi compute_lines.cmi -compute_lines.cmx: ast_cocci.cmx ast0_cocci.cmx compute_lines.cmi + ../globals/flag.cmx ast_cocci.cmx ast0_cocci.cmx comm_assoc.cmi +compute_lines.cmo: ast_cocci.cmi ast0_cocci.cmi compute_lines.cmi +compute_lines.cmx: ast_cocci.cmx ast0_cocci.cmx compute_lines.cmi context_neg.cmo: visitor_ast0_types.cmo visitor_ast0.cmi unparse_ast0.cmi \ index.cmi ../globals/flag.cmo compute_lines.cmi ../commons/common.cmi \ - ast_cocci.cmi ast0_cocci.cmi context_neg.cmi + ast_cocci.cmi ast0_cocci.cmi context_neg.cmi context_neg.cmx: visitor_ast0_types.cmx visitor_ast0.cmx unparse_ast0.cmx \ index.cmx ../globals/flag.cmx compute_lines.cmx ../commons/common.cmx \ - ast_cocci.cmx ast0_cocci.cmx context_neg.cmi + ast_cocci.cmx ast0_cocci.cmx context_neg.cmi data.cmo: type_cocci.cmi ../commons/common.cmi ast_cocci.cmi ast0_cocci.cmi \ - data.cmi + data.cmi data.cmx: type_cocci.cmx ../commons/common.cmx ast_cocci.cmx ast0_cocci.cmx \ - data.cmi + data.cmi disjdistr.cmo: visitor_ast.cmi ../globals/flag.cmo ../commons/common.cmi \ - ast_cocci.cmi disjdistr.cmi + ast_cocci.cmi disjdistr.cmi disjdistr.cmx: visitor_ast.cmx ../globals/flag.cmx ../commons/common.cmx \ - ast_cocci.cmx disjdistr.cmi -flag_parsing_cocci.cmo: -flag_parsing_cocci.cmx: + ast_cocci.cmx disjdistr.cmi +flag_parsing_cocci.cmo: +flag_parsing_cocci.cmx: free_vars.cmo: visitor_ast.cmi type_cocci.cmi ../commons/common.cmi \ - ast_cocci.cmi free_vars.cmi + ast_cocci.cmi free_vars.cmi free_vars.cmx: visitor_ast.cmx type_cocci.cmx ../commons/common.cmx \ - ast_cocci.cmx free_vars.cmi + ast_cocci.cmx free_vars.cmi function_prototypes.cmo: visitor_ast0_types.cmo visitor_ast0.cmi \ iso_pattern.cmi insert_plus.cmi context_neg.cmi compute_lines.cmi \ - ast_cocci.cmi ast0toast.cmi ast0_cocci.cmi function_prototypes.cmi + ast_cocci.cmi ast0toast.cmi ast0_cocci.cmi function_prototypes.cmi function_prototypes.cmx: visitor_ast0_types.cmx visitor_ast0.cmx \ iso_pattern.cmx insert_plus.cmx context_neg.cmx compute_lines.cmx \ - ast_cocci.cmx ast0toast.cmx ast0_cocci.cmx function_prototypes.cmi + ast_cocci.cmx ast0toast.cmx ast0_cocci.cmx function_prototypes.cmi get_constants.cmo: visitor_ast.cmi type_cocci.cmi ../globals/flag.cmo \ - ../commons/common.cmi ast_cocci.cmi get_constants.cmi + ../commons/common.cmi ast_cocci.cmi get_constants.cmi get_constants.cmx: visitor_ast.cmx type_cocci.cmx ../globals/flag.cmx \ - ../commons/common.cmx ast_cocci.cmx get_constants.cmi + ../commons/common.cmx ast_cocci.cmx get_constants.cmi get_constants2.cmo: visitor_ast.cmi type_cocci.cmi ../globals/flag.cmo \ - ../commons/common.cmi ast_cocci.cmi get_constants2.cmi + ../commons/common.cmi ast_cocci.cmi get_constants2.cmi get_constants2.cmx: visitor_ast.cmx type_cocci.cmx ../globals/flag.cmx \ - ../commons/common.cmx ast_cocci.cmx get_constants2.cmi -id_utils.cmo: get_constants2.cmi ../commons/common.cmi id_utils.cmi -id_utils.cmx: get_constants2.cmx ../commons/common.cmx id_utils.cmi -index.cmo: ast_cocci.cmi ast0_cocci.cmi index.cmi -index.cmx: ast_cocci.cmx ast0_cocci.cmx index.cmi + ../commons/common.cmx ast_cocci.cmx get_constants2.cmi +id_utils.cmo: get_constants2.cmi ../commons/common.cmi id_utils.cmi +id_utils.cmx: get_constants2.cmx ../commons/common.cmx id_utils.cmi +index.cmo: ast_cocci.cmi ast0_cocci.cmi index.cmi +index.cmx: ast_cocci.cmx ast0_cocci.cmx index.cmi insert_plus.cmo: visitor_ast0_types.cmo visitor_ast0.cmi \ pretty_print_cocci.cmi context_neg.cmi ast_cocci.cmi ast0toast.cmi \ - ast0_cocci.cmi insert_plus.cmi + ast0_cocci.cmi insert_plus.cmi insert_plus.cmx: visitor_ast0_types.cmx visitor_ast0.cmx \ pretty_print_cocci.cmx context_neg.cmx ast_cocci.cmx ast0toast.cmx \ - ast0_cocci.cmx insert_plus.cmi + ast0_cocci.cmx insert_plus.cmi iso_compile.cmo: visitor_ast0_types.cmo visitor_ast0.cmi \ - ../commons/common.cmi ast_cocci.cmi ast0_cocci.cmi iso_compile.cmi + ../commons/common.cmi ast_cocci.cmi ast0_cocci.cmi iso_compile.cmi iso_compile.cmx: visitor_ast0_types.cmx visitor_ast0.cmx \ - ../commons/common.cmx ast_cocci.cmx ast0_cocci.cmx iso_compile.cmi + ../commons/common.cmx ast_cocci.cmx ast0_cocci.cmx iso_compile.cmi iso_pattern.cmo: visitor_ast0_types.cmo visitor_ast0.cmi unparse_ast0.cmi \ type_cocci.cmi flag_parsing_cocci.cmo ../globals/flag.cmo \ ../commons/ocamlextra/dumper.cmi compute_lines.cmi ../commons/common.cmi \ - ast_cocci.cmi ast0_cocci.cmi iso_pattern.cmi + ast_cocci.cmi ast0_cocci.cmi iso_pattern.cmi iso_pattern.cmx: visitor_ast0_types.cmx visitor_ast0.cmx unparse_ast0.cmx \ type_cocci.cmx flag_parsing_cocci.cmx ../globals/flag.cmx \ ../commons/ocamlextra/dumper.cmx compute_lines.cmx ../commons/common.cmx \ - ast_cocci.cmx ast0_cocci.cmx iso_pattern.cmi -main.cmo: parse_cocci.cmi -main.cmx: parse_cocci.cmx -merge.cmo: visitor_ast0.cmi ast_cocci.cmi ast0_cocci.cmi merge.cmi -merge.cmx: visitor_ast0.cmx ast_cocci.cmx ast0_cocci.cmx merge.cmi + ast_cocci.cmx ast0_cocci.cmx iso_pattern.cmi +main.cmo: parse_cocci.cmi +main.cmx: parse_cocci.cmx +merge.cmo: visitor_ast0.cmi ast_cocci.cmi ast0_cocci.cmi merge.cmi +merge.cmx: visitor_ast0.cmx ast_cocci.cmx ast0_cocci.cmx merge.cmi parse_aux.cmo: type_cocci.cmi semantic_cocci.cmo ../globals/flag.cmo data.cmi \ - ../commons/common.cmi ast_cocci.cmi ast0_cocci.cmi + ../commons/common.cmi ast_cocci.cmi ast0_cocci.cmi parse_aux.cmx: type_cocci.cmx semantic_cocci.cmx ../globals/flag.cmx data.cmx \ - ../commons/common.cmx ast_cocci.cmx ast0_cocci.cmx + ../commons/common.cmx ast_cocci.cmx ast0_cocci.cmx parse_cocci.cmo: visitor_ast0_types.cmo visitor_ast0.cmi unitary_ast0.cmi \ type_infer.cmi test_exps.cmi single_statement.cmi simple_assignments.cmi \ semantic_cocci.cmo safe_for_multi_decls.cmi pretty_print_cocci.cmi \ @@ -138,7 +138,7 @@ parse_cocci.cmo: visitor_ast0_types.cmo visitor_ast0.cmi unitary_ast0.cmi \ flag_parsing_cocci.cmo ../globals/flag.cmo disjdistr.cmi data.cmi \ context_neg.cmi compute_lines.cmi ../commons/common.cmi comm_assoc.cmi \ check_meta.cmi ast_cocci.cmi ast0toast.cmi ast0_cocci.cmi arity.cmi \ - adjust_pragmas.cmi adjacency.cmi parse_cocci.cmi + adjust_pragmas.cmi adjacency.cmi parse_cocci.cmi parse_cocci.cmx: visitor_ast0_types.cmx visitor_ast0.cmx unitary_ast0.cmx \ type_infer.cmx test_exps.cmx single_statement.cmx simple_assignments.cmx \ semantic_cocci.cmx safe_for_multi_decls.cmx pretty_print_cocci.cmx \ @@ -147,58 +147,58 @@ parse_cocci.cmx: visitor_ast0_types.cmx visitor_ast0.cmx unitary_ast0.cmx \ flag_parsing_cocci.cmx ../globals/flag.cmx disjdistr.cmx data.cmx \ context_neg.cmx compute_lines.cmx ../commons/common.cmx comm_assoc.cmx \ check_meta.cmx ast_cocci.cmx ast0toast.cmx ast0_cocci.cmx arity.cmx \ - adjust_pragmas.cmx adjacency.cmx parse_cocci.cmi -plus.cmo: visitor_ast.cmi ast_cocci.cmi plus.cmi -plus.cmx: visitor_ast.cmx ast_cocci.cmx plus.cmi + adjust_pragmas.cmx adjacency.cmx parse_cocci.cmi +plus.cmo: visitor_ast.cmi ast_cocci.cmi plus.cmi +plus.cmx: visitor_ast.cmx ast_cocci.cmx plus.cmi pretty_print_cocci.cmo: type_cocci.cmi ../globals/flag.cmo \ - ../commons/common.cmi ast_cocci.cmi pretty_print_cocci.cmi + ../commons/common.cmi ast_cocci.cmi pretty_print_cocci.cmi pretty_print_cocci.cmx: type_cocci.cmx ../globals/flag.cmx \ - ../commons/common.cmx ast_cocci.cmx pretty_print_cocci.cmi + ../commons/common.cmx ast_cocci.cmx pretty_print_cocci.cmi safe_for_multi_decls.cmo: visitor_ast.cmi ast_cocci.cmi \ - safe_for_multi_decls.cmi + safe_for_multi_decls.cmi safe_for_multi_decls.cmx: visitor_ast.cmx ast_cocci.cmx \ - safe_for_multi_decls.cmi -semantic_cocci.cmo: -semantic_cocci.cmx: + safe_for_multi_decls.cmi +semantic_cocci.cmo: +semantic_cocci.cmx: simple_assignments.cmo: visitor_ast0_types.cmo visitor_ast0.cmi \ ../globals/flag.cmo ../commons/common.cmi ast_cocci.cmi ast0_cocci.cmi \ - simple_assignments.cmi + simple_assignments.cmi simple_assignments.cmx: visitor_ast0_types.cmx visitor_ast0.cmx \ ../globals/flag.cmx ../commons/common.cmx ast_cocci.cmx ast0_cocci.cmx \ - simple_assignments.cmi + simple_assignments.cmi single_statement.cmo: visitor_ast0_types.cmo visitor_ast0.cmi iso_pattern.cmi \ flag_parsing_cocci.cmo compute_lines.cmi ast_cocci.cmi ast0_cocci.cmi \ - single_statement.cmi + single_statement.cmi single_statement.cmx: visitor_ast0_types.cmx visitor_ast0.cmx iso_pattern.cmx \ flag_parsing_cocci.cmx compute_lines.cmx ast_cocci.cmx ast0_cocci.cmx \ - single_statement.cmi + single_statement.cmi test_exps.cmo: visitor_ast0_types.cmo visitor_ast0.cmi ast_cocci.cmi \ - ast0_cocci.cmi test_exps.cmi + ast0_cocci.cmi test_exps.cmi test_exps.cmx: visitor_ast0_types.cmx visitor_ast0.cmx ast_cocci.cmx \ - ast0_cocci.cmx test_exps.cmi -top_level.cmo: ast0_cocci.cmi top_level.cmi -top_level.cmx: ast0_cocci.cmx top_level.cmi -type_cocci.cmo: type_cocci.cmi -type_cocci.cmx: type_cocci.cmi + ast0_cocci.cmx test_exps.cmi +top_level.cmo: ast0_cocci.cmi top_level.cmi +top_level.cmx: ast0_cocci.cmx top_level.cmi +type_cocci.cmo: type_cocci.cmi +type_cocci.cmx: type_cocci.cmi type_infer.cmo: visitor_ast0_types.cmo visitor_ast0.cmi type_cocci.cmi \ - ast_cocci.cmi ast0_cocci.cmi type_infer.cmi + ast_cocci.cmi ast0_cocci.cmi type_infer.cmi type_infer.cmx: visitor_ast0_types.cmx visitor_ast0.cmx type_cocci.cmx \ - ast_cocci.cmx ast0_cocci.cmx type_infer.cmi -unify_ast.cmo: visitor_ast.cmi ast_cocci.cmi unify_ast.cmi -unify_ast.cmx: visitor_ast.cmx ast_cocci.cmx unify_ast.cmi + ast_cocci.cmx ast0_cocci.cmx type_infer.cmi +unify_ast.cmo: visitor_ast.cmi ast_cocci.cmi unify_ast.cmi +unify_ast.cmx: visitor_ast.cmx ast_cocci.cmx unify_ast.cmi unitary_ast0.cmo: visitor_ast0_types.cmo visitor_ast0.cmi ../globals/flag.cmo \ - ast_cocci.cmi ast0_cocci.cmi unitary_ast0.cmi + ast_cocci.cmi ast0_cocci.cmi unitary_ast0.cmi unitary_ast0.cmx: visitor_ast0_types.cmx visitor_ast0.cmx ../globals/flag.cmx \ - ast_cocci.cmx ast0_cocci.cmx unitary_ast0.cmi + ast_cocci.cmx ast0_cocci.cmx unitary_ast0.cmi unparse_ast0.cmo: type_cocci.cmi pretty_print_cocci.cmi ../commons/common.cmi \ - ast_cocci.cmi ast0_cocci.cmi unparse_ast0.cmi + ast_cocci.cmi ast0_cocci.cmi unparse_ast0.cmi unparse_ast0.cmx: type_cocci.cmx pretty_print_cocci.cmx ../commons/common.cmx \ - ast_cocci.cmx ast0_cocci.cmx unparse_ast0.cmi -visitor_ast.cmo: ast_cocci.cmi ast0_cocci.cmi visitor_ast.cmi -visitor_ast.cmx: ast_cocci.cmx ast0_cocci.cmx visitor_ast.cmi + ast_cocci.cmx ast0_cocci.cmx unparse_ast0.cmi +visitor_ast.cmo: ast_cocci.cmi ast0_cocci.cmi visitor_ast.cmi +visitor_ast.cmx: ast_cocci.cmx ast0_cocci.cmx visitor_ast.cmi visitor_ast0.cmo: visitor_ast0_types.cmo ast_cocci.cmi ast0_cocci.cmi \ - visitor_ast0.cmi + visitor_ast0.cmi visitor_ast0.cmx: visitor_ast0_types.cmx ast_cocci.cmx ast0_cocci.cmx \ - visitor_ast0.cmi -visitor_ast0_types.cmo: ast_cocci.cmi ast0_cocci.cmi -visitor_ast0_types.cmx: ast_cocci.cmx ast0_cocci.cmx + visitor_ast0.cmi +visitor_ast0_types.cmo: ast_cocci.cmi ast0_cocci.cmi +visitor_ast0_types.cmx: ast_cocci.cmx ast0_cocci.cmx diff --git a/parsing_cocci/adjust_pragmas.ml b/parsing_cocci/adjust_pragmas.ml index 93b1fa8..43e09bd 100644 --- a/parsing_cocci/adjust_pragmas.ml +++ b/parsing_cocci/adjust_pragmas.ml @@ -149,6 +149,10 @@ let rec right_statement s = | Ast0.Include(inc,name) -> call_right right_mcode name s (function name -> Ast0.Include(inc,name)) + | Ast0.Undef(def,id) -> + (* nothing available for ident, and not sure code can appear + here anyway *) + None | Ast0.Define(def,id,params,body) -> call_right right_statement_dots body s (function body -> Ast0.Define(def,id,params,body)) diff --git a/parsing_cocci/arity.ml b/parsing_cocci/arity.ml index ed17892..88e4808 100644 --- a/parsing_cocci/arity.ml +++ b/parsing_cocci/arity.ml @@ -963,6 +963,11 @@ and statement tgt stm = let inc = mcode inc in let s = mcode s in make_rule_elem stm tgt arity (Ast0.Include(inc,s)) + | Ast0.Undef(def,id) -> + let arity = all_same true tgt (mcode2line def) [mcode2arity def] in + let def = mcode def in + let id = ident false arity id in + make_rule_elem stm tgt arity (Ast0.Undef(def,id)) | Ast0.Define(def,id,params,body) -> let arity = all_same true tgt (mcode2line def) [mcode2arity def] in let def = mcode def in diff --git a/parsing_cocci/ast0_cocci.ml b/parsing_cocci/ast0_cocci.ml index 553fc0366..f38cb00 100644 --- a/parsing_cocci/ast0_cocci.ml +++ b/parsing_cocci/ast0_cocci.ml @@ -358,6 +358,7 @@ and base_statement = string mcode (* { *) * statement dots * string mcode (* } *) | Include of string mcode (* #include *) * Ast.inc_file mcode (* file *) + | Undef of string mcode (* #define *) * ident (* name *) | Define of string mcode (* #define *) * ident (* name *) * define_parameters (*params*) * statement dots | OptStm of statement diff --git a/parsing_cocci/ast0_cocci.mli b/parsing_cocci/ast0_cocci.mli index 5d54968..ce7c7b9 100644 --- a/parsing_cocci/ast0_cocci.mli +++ b/parsing_cocci/ast0_cocci.mli @@ -344,6 +344,7 @@ and base_statement = string mcode (* { *) * statement dots * string mcode (* } *) | Include of string mcode (* #include *) * Ast_cocci.inc_file mcode(* file *) + | Undef of string mcode (* #define *) * ident (* name *) | Define of string mcode (* #define *) * ident (* name *) * define_parameters (*params*) * statement dots | OptStm of statement diff --git a/parsing_cocci/ast0toast.ml b/parsing_cocci/ast0toast.ml index f1f9d2d..f0c1ece 100644 --- a/parsing_cocci/ast0toast.ml +++ b/parsing_cocci/ast0toast.ml @@ -845,6 +845,8 @@ and statement s = tokenwrap rbrace s (Ast.SeqEnd(rbrace))) | Ast0.Include(inc,str) -> Ast.Atomic(rewrap_rule_elem s (Ast.Include(mcode inc,mcode str))) + | Ast0.Undef(def,id) -> + Ast.Atomic(rewrap_rule_elem s (Ast.Undef(mcode def,ident id))) | Ast0.Define(def,id,params,body) -> Ast.Define (rewrap_rule_elem s diff --git a/parsing_cocci/ast_cocci.ml b/parsing_cocci/ast_cocci.ml index 272b1a2..5d3f26d 100644 --- a/parsing_cocci/ast_cocci.ml +++ b/parsing_cocci/ast_cocci.ml @@ -466,6 +466,7 @@ and base_rule_elem = | Ty of fullType (* only at SP top level, matches a subterm *) | TopInit of initialiser (* only at top level *) | Include of string mcode (*#include*) * inc_file mcode (*file *) + | Undef of string mcode (* #define *) * ident (* name *) | DefineHeader of string mcode (* #define *) * ident (* name *) * define_parameters (*params*) | Case of string mcode (* case *) * expression * string mcode (*:*) diff --git a/parsing_cocci/ast_cocci.mli b/parsing_cocci/ast_cocci.mli index 4794739..55021b4 100644 --- a/parsing_cocci/ast_cocci.mli +++ b/parsing_cocci/ast_cocci.mli @@ -443,6 +443,7 @@ and base_rule_elem = | Ty of fullType (* only at top level *) | TopInit of initialiser (* only at top level *) | Include of string mcode (*#include*) * inc_file mcode (*file *) + | Undef of string mcode (* #define *) * ident (* name *) | DefineHeader of string mcode (* #define *) * ident (* name *) * define_parameters (*params*) | Case of string mcode (* case *) * expression * string mcode (*:*) diff --git a/parsing_cocci/check_meta.ml b/parsing_cocci/check_meta.ml index 6fbf9c9..8ba53b6 100644 --- a/parsing_cocci/check_meta.ml +++ b/parsing_cocci/check_meta.ml @@ -85,34 +85,34 @@ let is_ifdef name = let ident context old_metas table minus i = match Ast0.unwrap i with - Ast0.Id((name,_,info,_,_,_) : string Ast0.mcode) -> - let rl = info.Ast0.pos_info.Ast0.line_start in - let is_plus i = - match Ast0.get_mcodekind i with Ast0.PLUS _ -> true | _ -> false in - let err = - if List.exists (function x -> x = name) old_metas + Ast0.Id((name,_,info,_,_,_) : string Ast0.mcode) -> + let rl = info.Ast0.pos_info.Ast0.line_start in + let is_plus i = + match Ast0.get_mcodekind i with Ast0.PLUS _ -> true | _ -> false in + let err = + if List.exists (function x -> x = name) old_metas && (minus || is_plus i) + then + begin + warning + (Printf.sprintf + "line %d: %s, previously declared as a metavariable, is used as an identifier" rl name); + true + end + else false in + (match context with + ID -> + if not (is_ifdef name) && minus && not err(* warn only once per id *) then - begin - warning - (Printf.sprintf - "line %d: %s, previously declared as a metavariable, is used as an identifier" rl name); - true - end - else false in - (match context with - ID -> - if not (is_ifdef name) && minus && not err(* warn only once per id *) - then - warning - (Printf.sprintf "line %d: should %s be a metavariable?" rl name) - | _ -> ()) - | Ast0.MetaId(name,_,_) -> check_table table minus name - | Ast0.MetaFunc(name,_,_) -> check_table table minus name - | Ast0.MetaLocalFunc(name,_,_) -> check_table table minus name - | Ast0.OptIdent(_) | Ast0.UniqueIdent(_) -> - failwith "unexpected code" - + warning + (Printf.sprintf "line %d: should %s be a metavariable?" rl name) + | _ -> ()) + | Ast0.MetaId(name,_,_) -> check_table table minus name + | Ast0.MetaFunc(name,_,_) -> check_table table minus name + | Ast0.MetaLocalFunc(name,_,_) -> check_table table minus name + | Ast0.OptIdent(_) | Ast0.UniqueIdent(_) -> + failwith "unexpected code" + (* --------------------------------------------------------------------- *) (* Expression *) @@ -375,6 +375,8 @@ and statement old_metas table minus s = parameter_list old_metas table minus params; dots (statement old_metas table minus) body | Ast0.Include(inc,s) -> () (* no metavariables possible *) + | Ast0.Undef(def,id) -> + ident GLOBAL old_metas table minus id | Ast0.Define(def,id,params,body) -> ident GLOBAL old_metas table minus id; define_parameters old_metas table minus params; diff --git a/parsing_cocci/compute_lines.ml b/parsing_cocci/compute_lines.ml index d1187e1..13b778f 100644 --- a/parsing_cocci/compute_lines.ml +++ b/parsing_cocci/compute_lines.ml @@ -839,6 +839,9 @@ let rec statement s = | Ast0.Include(inc,stm) -> mkres s (Ast0.Include(inc,stm)) (promote_mcode inc) (promote_mcode stm) + | Ast0.Undef(def,id) -> + let (id,right) = full_ident id in + mkres s (Ast0.Undef(def,id)) (promote_mcode def) id | Ast0.Define(def,id,params,body) -> let (id,right) = full_ident id in let (params,prev) = define_parameters params right in diff --git a/parsing_cocci/context_neg.ml b/parsing_cocci/context_neg.ml index 823af30..c7ca7f0 100644 --- a/parsing_cocci/context_neg.ml +++ b/parsing_cocci/context_neg.ml @@ -694,6 +694,8 @@ let rec equal_statement s1 s2 = | (Ast0.Stars(d1,_),Ast0.Stars(d2,_)) -> equal_mcode d1 d2 | (Ast0.Include(inc1,name1),Ast0.Include(inc2,name2)) -> equal_mcode inc1 inc2 && equal_mcode name1 name2 + | (Ast0.Undef(def1,_),Ast0.Undef(def2,_)) -> + equal_mcode def1 def2 | (Ast0.Define(def1,_,_,_),Ast0.Define(def2,_,_,_)) -> equal_mcode def1 def2 | (Ast0.OptStm(_),Ast0.OptStm(_)) -> true @@ -947,6 +949,7 @@ let rec is_toplevel s = Ast0.FunCall(_,_,_,_) -> true | _ -> false) | Ast0.Include(_,_) -> true + | Ast0.Undef(_,_) -> true | Ast0.Define(_,_,_,_) -> true | _ -> false diff --git a/parsing_cocci/disjdistr.ml b/parsing_cocci/disjdistr.ml index 21d45da..bb49e90 100644 --- a/parsing_cocci/disjdistr.ml +++ b/parsing_cocci/disjdistr.ml @@ -346,6 +346,7 @@ let rec disj_rule_elem r k re = orify_rule_elem_ini re init (function init -> Ast.rewrap init (Ast.TopInit(init))) | Ast.Include(inc,s) -> re + | Ast.Undef(def,id) -> re | Ast.DefineHeader(def,id,params) -> re | Ast.Default(def,colon) -> re | Ast.Case(case,exp,colon) -> diff --git a/parsing_cocci/get_constants2.ml b/parsing_cocci/get_constants2.ml index a98463d..b73706c 100644 --- a/parsing_cocci/get_constants2.ml +++ b/parsing_cocci/get_constants2.ml @@ -657,7 +657,7 @@ let get_constants rules neg_pos_vars = | Flag.Google _ -> let res = run rules neg_pos_vars in (interpret_grep true res,interpret_google true res,None) - | Flag.IdUtils _ -> + | Flag.IdUtils -> let res = run rules neg_pos_vars in (interpret_grep true res,None,Some res) diff --git a/parsing_cocci/index.ml b/parsing_cocci/index.ml index b864abe..961c67c 100644 --- a/parsing_cocci/index.ml +++ b/parsing_cocci/index.ml @@ -23,7 +23,7 @@ (* create an index for each constructor *) -(* current max is 150 *) +(* current max is 151 *) (* doesn't really work - requires that identical terms with no token subterms (eg dots) not appear on the same line *) @@ -205,6 +205,7 @@ let statement s = | Ast0.Circles(d,whencode) -> [85] | Ast0.Stars(d,whencode) -> [86] | Ast0.Include(inc,name) -> [118] + | Ast0.Undef(def,id) -> [151] | Ast0.Define(def,id,params,body) -> [119] | Ast0.OptStm(re) -> [87] | Ast0.UniqueStm(re) -> [88] diff --git a/parsing_cocci/insert_plus.ml b/parsing_cocci/insert_plus.ml index 2bf3cdf..e19ab82 100644 --- a/parsing_cocci/insert_plus.ml +++ b/parsing_cocci/insert_plus.ml @@ -402,6 +402,7 @@ let verify l = l let process_minus minus = + Hashtbl.clear root_token_table; create_root_token_table minus; List.concat (List.map diff --git a/parsing_cocci/lexer_cocci.mll b/parsing_cocci/lexer_cocci.mll index b76ec4b..dcb2c3f 100644 --- a/parsing_cocci/lexer_cocci.mll +++ b/parsing_cocci/lexer_cocci.mll @@ -675,6 +675,17 @@ rule token = parse | "^" { start_line true; TXor(get_current_line_type lexbuf) } | "##" { start_line true; TCppConcatOp } + | (( ("#" [' ' '\t']* "undef" [' ' '\t']+)) as def) + ( (letter (letter |digit)*) as ident) + { start_line true; + let (arity,line,lline,offset,col,strbef,straft,pos) as lt = + get_current_line_type lexbuf in + let off = String.length def in + (* -1 in the code below because the ident is not at the line start *) + TUndef + (lt, + check_var ident + (arity,line,lline,offset+off,col+off,[],[],Ast0.NoMetaPos)) } | (( ("#" [' ' '\t']* "define" [' ' '\t']+)) as def) ( (letter (letter |digit)*) as ident) { start_line true; diff --git a/parsing_cocci/parse_cocci.ml b/parsing_cocci/parse_cocci.ml index ecced50..aa88189 100644 --- a/parsing_cocci/parse_cocci.ml +++ b/parsing_cocci/parse_cocci.ml @@ -126,6 +126,7 @@ let token2c (tok,_) = | PC.TPragma(Ast.Indent s,_) -> s | PC.TIncludeL(s,clt) -> (pr "#include \"%s\"" s)^(line_type2c clt) | PC.TIncludeNL(s,clt) -> (pr "#include <%s>" s)^(line_type2c clt) + | PC.TUndef(clt,_) -> "#undef"^(line_type2c clt) | PC.TDefine(clt,_) -> "#define"^(line_type2c clt) | PC.TDefineParam(clt,_,_,_) -> "#define_param"^(line_type2c clt) | PC.TMinusFile(s,clt) -> (pr "--- %s" s)^(line_type2c clt) @@ -303,7 +304,8 @@ let plus_attachable only_plus (tok,_) = | PC.Tauto(clt) | PC.Tregister(clt) | PC.Textern(clt) | PC.Tconst(clt) | PC.Tvolatile(clt) - | PC.TIncludeL(_,clt) | PC.TIncludeNL(_,clt) | PC.TDefine(clt,_) + | PC.TIncludeL(_,clt) | PC.TIncludeNL(_,clt) | PC.TUndef(clt,_) + | PC.TDefine(clt,_) | PC.TDefineParam(clt,_,_,_) | PC.TMinusFile(_,clt) | PC.TPlusFile(_,clt) | PC.TInc(clt) | PC.TDec(clt) @@ -373,7 +375,8 @@ let get_clt (tok,_) = | PC.Tinline(clt) | PC.Tattr(_,clt) | PC.Tauto(clt) | PC.Tregister(clt) | PC.Textern(clt) | PC.Tconst(clt) | PC.Tvolatile(clt) - | PC.TIncludeL(_,clt) | PC.TIncludeNL(_,clt) | PC.TDefine(clt,_) + | PC.TIncludeL(_,clt) | PC.TIncludeNL(_,clt) | PC.TUndef(clt,_) + | PC.TDefine(clt,_) | PC.TDefineParam(clt,_,_,_) | PC.TMinusFile(_,clt) | PC.TPlusFile(_,clt) | PC.TInc(clt) | PC.TDec(clt) @@ -456,6 +459,7 @@ let update_clt (tok,x) clt = | PC.TIncludeL(s,_) -> (PC.TIncludeL(s,clt),x) | PC.TIncludeNL(s,_) -> (PC.TIncludeNL(s,clt),x) + | PC.TUndef(_,a) -> (PC.TUndef(clt,a),x) | PC.TDefine(_,a) -> (PC.TDefine(clt,a),x) | PC.TDefineParam(_,a,b,c) -> (PC.TDefineParam(clt,a,b,c),x) | PC.TMinusFile(s,_) -> (PC.TMinusFile(s,clt),x) @@ -651,7 +655,8 @@ let split_token ((tok,_) as t) = | PC.TPlusFile(s,clt) | PC.TMinusFile(s,clt) | PC.TIncludeL(s,clt) | PC.TIncludeNL(s,clt) -> split t clt - | PC.TDefine(clt,_) | PC.TDefineParam(clt,_,_,_) -> split t clt + | PC.TUndef(clt,_) | PC.TDefine(clt,_) | PC.TDefineParam(clt,_,_,_) -> + split t clt | PC.TIf(clt) | PC.TElse(clt) | PC.TWhile(clt) | PC.TFor(clt) | PC.TDo(clt) | PC.TSwitch(clt) | PC.TCase(clt) | PC.TDefault(clt) @@ -935,7 +940,7 @@ let token2line (tok,_) = | PC.TPtrOp(clt) - | PC.TDefine(clt,_) | PC.TDefineParam(clt,_,_,_) + | PC.TUndef(clt,_) | PC.TDefine(clt,_) | PC.TDefineParam(clt,_,_,_) | PC.TIncludeL(_,clt) | PC.TIncludeNL(_,clt) | PC.TEq(clt) | PC.TAssign(_,clt) | PC.TDot(clt) | PC.TComma(clt) @@ -948,6 +953,7 @@ let rec insert_line_end = function [] -> [] | (((PC.TWhen(clt),q) as x)::xs) -> x::(find_line_end true (token2line x) clt q xs) + | (((PC.TUndef(clt,_),q) as x)::xs) | (((PC.TDefine(clt,_),q) as x)::xs) | (((PC.TDefineParam(clt,_,_,_),q) as x)::xs) -> x::(find_line_end false (token2line x) clt q xs) @@ -1933,6 +1939,7 @@ let process file isofile verbose = | Some mv_fp -> [(extra_meta @ metavars, minus_ast); mv_fp]) (* Ast0.CocciRule ((minus, metavarsm, (iso, dropiso, dependencies, rule_name, exists)), (plus, metavars))*) rules in + let parsed = List.concat parsed in let parsed = Safe_for_multi_decls.safe_for_multi_decls parsed in let disjd = Disjdistr.disj parsed in diff --git a/parsing_cocci/parser_cocci_menhir.ml b/parsing_cocci/parser_cocci_menhir.ml index 09a1fe0..637d759 100644 --- a/parsing_cocci/parser_cocci_menhir.ml +++ b/parsing_cocci/parser_cocci_menhir.ml @@ -157,312 +157,317 @@ type token = | TVirtual | TUsing | TUnderscore + | TUndef of ( +# 85 "parser_cocci_menhir.mly" + (Data.clt * token) +# 164 "parser_cocci_menhir.ml" +) | TTypedef | TTypeId of ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 165 "parser_cocci_menhir.ml" +# 170 "parser_cocci_menhir.ml" ) | TType | TTildeExclEq of ( # 98 "parser_cocci_menhir.mly" (Data.clt) -# 171 "parser_cocci_menhir.ml" +# 176 "parser_cocci_menhir.ml" ) | TTildeEq of ( # 98 "parser_cocci_menhir.mly" (Data.clt) -# 176 "parser_cocci_menhir.ml" +# 181 "parser_cocci_menhir.ml" ) | TTilde of ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 181 "parser_cocci_menhir.ml" +# 186 "parser_cocci_menhir.ml" ) | TSwitch of ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 186 "parser_cocci_menhir.ml" +# 191 "parser_cocci_menhir.ml" ) | TSub of ( # 98 "parser_cocci_menhir.mly" (Data.clt) -# 191 "parser_cocci_menhir.ml" +# 196 "parser_cocci_menhir.ml" ) | TString of ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 196 "parser_cocci_menhir.ml" +# 201 "parser_cocci_menhir.ml" ) | TStrict of ( # 78 "parser_cocci_menhir.mly" (Data.clt) -# 201 "parser_cocci_menhir.ml" +# 206 "parser_cocci_menhir.ml" ) | TStatement | TSizeof of ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 207 "parser_cocci_menhir.ml" +# 212 "parser_cocci_menhir.ml" ) | TShROp of ( # 100 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 212 "parser_cocci_menhir.ml" +# 217 "parser_cocci_menhir.ml" ) | TShLOp of ( # 100 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 217 "parser_cocci_menhir.ml" +# 222 "parser_cocci_menhir.ml" ) | TScriptData of ( # 75 "parser_cocci_menhir.mly" (string) -# 222 "parser_cocci_menhir.ml" +# 227 "parser_cocci_menhir.ml" ) | TScript | TRuleName of ( # 49 "parser_cocci_menhir.mly" (string) -# 228 "parser_cocci_menhir.ml" +# 233 "parser_cocci_menhir.ml" ) | TRightIso | TReturn of ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 234 "parser_cocci_menhir.ml" +# 239 "parser_cocci_menhir.ml" ) | TPure | TPtrOp of ( # 108 "parser_cocci_menhir.mly" (Data.clt) -# 240 "parser_cocci_menhir.ml" +# 245 "parser_cocci_menhir.ml" ) | TPtVirg of ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 245 "parser_cocci_menhir.ml" +# 250 "parser_cocci_menhir.ml" ) | TPragma of ( # 63 "parser_cocci_menhir.mly" (Ast_cocci.added_string * Data.clt) -# 250 "parser_cocci_menhir.ml" +# 255 "parser_cocci_menhir.ml" ) | TPosition | TPosAny | TPlusFile of ( # 87 "parser_cocci_menhir.mly" (string * Data.clt) -# 257 "parser_cocci_menhir.ml" +# 262 "parser_cocci_menhir.ml" ) | TPlus0 | TPlus of ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 263 "parser_cocci_menhir.ml" +# 268 "parser_cocci_menhir.ml" ) | TPathIsoFile of ( # 83 "parser_cocci_menhir.mly" (string) -# 268 "parser_cocci_menhir.ml" +# 273 "parser_cocci_menhir.ml" ) | TParameter | TPOEllipsis of ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 274 "parser_cocci_menhir.ml" +# 279 "parser_cocci_menhir.ml" ) | TPCEllipsis of ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 279 "parser_cocci_menhir.ml" +# 284 "parser_cocci_menhir.ml" ) | TPArob | TOrLog of ( # 93 "parser_cocci_menhir.mly" (Data.clt) -# 285 "parser_cocci_menhir.ml" +# 290 "parser_cocci_menhir.ml" ) | TOr of ( # 95 "parser_cocci_menhir.mly" (Data.clt) -# 290 "parser_cocci_menhir.ml" +# 295 "parser_cocci_menhir.ml" ) | TOn | TOPar0 of ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 296 "parser_cocci_menhir.ml" +# 301 "parser_cocci_menhir.ml" ) | TOPar of ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 301 "parser_cocci_menhir.ml" +# 306 "parser_cocci_menhir.ml" ) | TOInit of ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 306 "parser_cocci_menhir.ml" +# 311 "parser_cocci_menhir.ml" ) | TOEllipsis of ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 311 "parser_cocci_menhir.ml" +# 316 "parser_cocci_menhir.ml" ) | TOCro of ( # 106 "parser_cocci_menhir.mly" (Data.clt) -# 316 "parser_cocci_menhir.ml" +# 321 "parser_cocci_menhir.ml" ) | TOBrace of ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 321 "parser_cocci_menhir.ml" +# 326 "parser_cocci_menhir.ml" ) | TNothing | TNotEq of ( # 98 "parser_cocci_menhir.mly" (Data.clt) -# 327 "parser_cocci_menhir.ml" +# 332 "parser_cocci_menhir.ml" ) | TNever | TName | TMul of ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 334 "parser_cocci_menhir.ml" +# 339 "parser_cocci_menhir.ml" ) | TMinusFile of ( # 87 "parser_cocci_menhir.mly" (string * Data.clt) -# 339 "parser_cocci_menhir.ml" +# 344 "parser_cocci_menhir.ml" ) | TMinus of ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 344 "parser_cocci_menhir.ml" +# 349 "parser_cocci_menhir.ml" ) | TMid0 of ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 349 "parser_cocci_menhir.ml" +# 354 "parser_cocci_menhir.ml" ) | TMetaType of ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 354 "parser_cocci_menhir.ml" +# 359 "parser_cocci_menhir.ml" ) | TMetaStmList of ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 359 "parser_cocci_menhir.ml" +# 364 "parser_cocci_menhir.ml" ) | TMetaStm of ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 364 "parser_cocci_menhir.ml" +# 369 "parser_cocci_menhir.ml" ) | TMetaPos of ( # 72 "parser_cocci_menhir.mly" (Parse_aux.pos_info) -# 369 "parser_cocci_menhir.ml" +# 374 "parser_cocci_menhir.ml" ) | TMetaParamList of ( # 70 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 374 "parser_cocci_menhir.ml" +# 379 "parser_cocci_menhir.ml" ) | TMetaParam of ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 379 "parser_cocci_menhir.ml" +# 384 "parser_cocci_menhir.ml" ) | TMetaLocalIdExp of ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 384 "parser_cocci_menhir.ml" +# 389 "parser_cocci_menhir.ml" ) | TMetaLocalFunc of ( # 65 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 389 "parser_cocci_menhir.ml" +# 394 "parser_cocci_menhir.ml" ) | TMetaIterator of ( # 66 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 394 "parser_cocci_menhir.ml" +# 399 "parser_cocci_menhir.ml" ) | TMetaInit of ( # 69 "parser_cocci_menhir.mly" (Parse_aux.info) -# 399 "parser_cocci_menhir.ml" +# 404 "parser_cocci_menhir.ml" ) | TMetaIdExp of ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 404 "parser_cocci_menhir.ml" +# 409 "parser_cocci_menhir.ml" ) | TMetaId of ( # 65 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 409 "parser_cocci_menhir.ml" +# 414 "parser_cocci_menhir.ml" ) | TMetaFunc of ( # 65 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 414 "parser_cocci_menhir.ml" +# 419 "parser_cocci_menhir.ml" ) | TMetaField of ( # 69 "parser_cocci_menhir.mly" (Parse_aux.info) -# 419 "parser_cocci_menhir.ml" +# 424 "parser_cocci_menhir.ml" ) | TMetaExpList of ( # 70 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 424 "parser_cocci_menhir.ml" +# 429 "parser_cocci_menhir.ml" ) | TMetaExp of ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 429 "parser_cocci_menhir.ml" +# 434 "parser_cocci_menhir.ml" ) | TMetaErr of ( # 67 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 434 "parser_cocci_menhir.ml" +# 439 "parser_cocci_menhir.ml" ) | TMetaDeclarer of ( # 66 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 439 "parser_cocci_menhir.ml" +# 444 "parser_cocci_menhir.ml" ) | TMetaDecl of ( # 69 "parser_cocci_menhir.mly" (Parse_aux.info) -# 444 "parser_cocci_menhir.ml" +# 449 "parser_cocci_menhir.ml" ) | TMetaConst of ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 449 "parser_cocci_menhir.ml" +# 454 "parser_cocci_menhir.ml" ) | TMPtVirg | TLogOp of ( # 99 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 455 "parser_cocci_menhir.ml" +# 460 "parser_cocci_menhir.ml" ) | TLocal | TLineEnd of ( # 78 "parser_cocci_menhir.mly" (Data.clt) -# 461 "parser_cocci_menhir.ml" +# 466 "parser_cocci_menhir.ml" ) | TIteratorId of ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 466 "parser_cocci_menhir.ml" +# 471 "parser_cocci_menhir.ml" ) | TIterator | TIsoType @@ -478,60 +483,60 @@ type token = | TInt of ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 482 "parser_cocci_menhir.ml" +# 487 "parser_cocci_menhir.ml" ) | TInitialize | TInitialiser | TIncludeNL of ( # 84 "parser_cocci_menhir.mly" (string * Data.clt) -# 489 "parser_cocci_menhir.ml" +# 494 "parser_cocci_menhir.ml" ) | TIncludeL of ( # 84 "parser_cocci_menhir.mly" (string * Data.clt) -# 494 "parser_cocci_menhir.ml" +# 499 "parser_cocci_menhir.ml" ) | TInc of ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 499 "parser_cocci_menhir.ml" +# 504 "parser_cocci_menhir.ml" ) | TIf of ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 504 "parser_cocci_menhir.ml" +# 509 "parser_cocci_menhir.ml" ) | TIdentifier | TIdent of ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 510 "parser_cocci_menhir.ml" +# 515 "parser_cocci_menhir.ml" ) | TIdExpression | TGoto of ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 516 "parser_cocci_menhir.ml" +# 521 "parser_cocci_menhir.ml" ) | TGenerated | TFunction | TFunDecl of ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 523 "parser_cocci_menhir.ml" +# 528 "parser_cocci_menhir.ml" ) | TFresh | TForall | TFor of ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 530 "parser_cocci_menhir.ml" +# 535 "parser_cocci_menhir.ml" ) | TFloat of ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 535 "parser_cocci_menhir.ml" +# 540 "parser_cocci_menhir.ml" ) | TFinalize | TField @@ -543,152 +548,152 @@ type token = | TEqEq of ( # 98 "parser_cocci_menhir.mly" (Data.clt) -# 547 "parser_cocci_menhir.ml" +# 552 "parser_cocci_menhir.ml" ) | TEq of ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 552 "parser_cocci_menhir.ml" +# 557 "parser_cocci_menhir.ml" ) | TElse of ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 557 "parser_cocci_menhir.ml" +# 562 "parser_cocci_menhir.ml" ) | TEllipsis of ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 562 "parser_cocci_menhir.ml" +# 567 "parser_cocci_menhir.ml" ) | TDotDot of ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 567 "parser_cocci_menhir.ml" +# 572 "parser_cocci_menhir.ml" ) | TDot of ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 572 "parser_cocci_menhir.ml" +# 577 "parser_cocci_menhir.ml" ) | TDo of ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 577 "parser_cocci_menhir.ml" +# 582 "parser_cocci_menhir.ml" ) | TDmOp of ( # 101 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 582 "parser_cocci_menhir.ml" +# 587 "parser_cocci_menhir.ml" ) | TDisable | TDepends | TDefineParam of ( # 86 "parser_cocci_menhir.mly" (Data.clt * token * int * int) -# 589 "parser_cocci_menhir.ml" +# 594 "parser_cocci_menhir.ml" ) | TDefine of ( # 85 "parser_cocci_menhir.mly" (Data.clt * token) -# 594 "parser_cocci_menhir.ml" +# 599 "parser_cocci_menhir.ml" ) | TDefault of ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 599 "parser_cocci_menhir.ml" +# 604 "parser_cocci_menhir.ml" ) | TDeclarerId of ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 604 "parser_cocci_menhir.ml" +# 609 "parser_cocci_menhir.ml" ) | TDeclarer | TDeclaration | TDec of ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 611 "parser_cocci_menhir.ml" +# 616 "parser_cocci_menhir.ml" ) | TCppConcatOp | TContinue of ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 617 "parser_cocci_menhir.ml" +# 622 "parser_cocci_menhir.ml" ) | TContext | TConstant | TComma of ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 624 "parser_cocci_menhir.ml" +# 629 "parser_cocci_menhir.ml" ) | TChar of ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 629 "parser_cocci_menhir.ml" +# 634 "parser_cocci_menhir.ml" ) | TCase of ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 634 "parser_cocci_menhir.ml" +# 639 "parser_cocci_menhir.ml" ) | TCPar0 of ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 639 "parser_cocci_menhir.ml" +# 644 "parser_cocci_menhir.ml" ) | TCPar of ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 644 "parser_cocci_menhir.ml" +# 649 "parser_cocci_menhir.ml" ) | TCEllipsis of ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 649 "parser_cocci_menhir.ml" +# 654 "parser_cocci_menhir.ml" ) | TCCro of ( # 106 "parser_cocci_menhir.mly" (Data.clt) -# 654 "parser_cocci_menhir.ml" +# 659 "parser_cocci_menhir.ml" ) | TCBrace of ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 659 "parser_cocci_menhir.ml" +# 664 "parser_cocci_menhir.ml" ) | TBreak of ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 664 "parser_cocci_menhir.ml" +# 669 "parser_cocci_menhir.ml" ) | TBang0 | TBang of ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 670 "parser_cocci_menhir.ml" +# 675 "parser_cocci_menhir.ml" ) | TAssign of ( # 112 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 675 "parser_cocci_menhir.ml" +# 680 "parser_cocci_menhir.ml" ) | TArobArob | TArob | TAny of ( # 78 "parser_cocci_menhir.mly" (Data.clt) -# 682 "parser_cocci_menhir.ml" +# 687 "parser_cocci_menhir.ml" ) | TAndLog of ( # 94 "parser_cocci_menhir.mly" (Data.clt) -# 687 "parser_cocci_menhir.ml" +# 692 "parser_cocci_menhir.ml" ) | TAnd of ( # 97 "parser_cocci_menhir.mly" (Data.clt) -# 692 "parser_cocci_menhir.ml" +# 697 "parser_cocci_menhir.ml" ) | EOF @@ -710,7 +715,7 @@ module Ast0 = Ast0_cocci module Ast = Ast_cocci module P = Parse_aux -# 714 "parser_cocci_menhir.ml" +# 719 "parser_cocci_menhir.ml" let _eRR = Error @@ -724,304 +729,306 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct fun _tok -> match _tok with | EOF -> - 186 + 187 | TAnd _ -> - 185 + 186 | TAndLog _ -> - 184 + 185 | TAny _ -> - 183 + 184 | TArob -> - 182 + 183 | TArobArob -> - 181 + 182 | TAssign _ -> - 180 + 181 | TBang _ -> - 179 + 180 | TBang0 -> - 178 + 179 | TBreak _ -> - 177 + 178 | TCBrace _ -> - 176 + 177 | TCCro _ -> - 175 + 176 | TCEllipsis _ -> - 174 + 175 | TCPar _ -> - 173 + 174 | TCPar0 _ -> - 172 + 173 | TCase _ -> - 171 + 172 | TChar _ -> - 170 + 171 | TComma _ -> - 169 + 170 | TConstant -> - 168 + 169 | TContext -> - 167 + 168 | TContinue _ -> - 166 + 167 | TCppConcatOp -> - 165 + 166 | TDec _ -> - 164 + 165 | TDeclaration -> - 163 + 164 | TDeclarer -> - 162 + 163 | TDeclarerId _ -> - 161 + 162 | TDefault _ -> - 160 + 161 | TDefine _ -> - 159 + 160 | TDefineParam _ -> - 158 + 159 | TDepends -> - 157 + 158 | TDisable -> - 156 + 157 | TDmOp _ -> - 155 + 156 | TDo _ -> - 154 + 155 | TDot _ -> - 153 + 154 | TDotDot _ -> - 152 + 153 | TEllipsis _ -> - 151 + 152 | TElse _ -> - 150 + 151 | TEq _ -> - 149 + 150 | TEqEq _ -> - 148 + 149 | TError -> - 147 + 148 | TEver -> - 146 + 147 | TExists -> - 145 + 146 | TExpression -> - 144 + 145 | TExtends -> - 143 + 144 | TField -> - 142 + 143 | TFinalize -> - 141 + 142 | TFloat _ -> - 140 + 141 | TFor _ -> - 139 + 140 | TForall -> - 138 + 139 | TFresh -> - 137 + 138 | TFunDecl _ -> - 136 + 137 | TFunction -> - 135 + 136 | TGenerated -> - 134 + 135 | TGoto _ -> - 133 + 134 | TIdExpression -> - 132 + 133 | TIdent _ -> - 131 + 132 | TIdentifier -> - 130 + 131 | TIf _ -> - 129 + 130 | TInc _ -> - 128 + 129 | TIncludeL _ -> - 127 + 128 | TIncludeNL _ -> - 126 + 127 | TInitialiser -> - 125 + 126 | TInitialize -> - 124 + 125 | TInt _ -> - 123 + 124 | TInvalid -> - 122 + 123 | TIso -> - 121 + 122 | TIsoArgExpression -> - 120 + 121 | TIsoDeclaration -> - 119 + 120 | TIsoExpression -> - 118 + 119 | TIsoStatement -> - 117 + 118 | TIsoTestExpression -> - 116 + 117 | TIsoToTestExpression -> - 115 + 116 | TIsoTopLevel -> - 114 + 115 | TIsoType -> - 113 + 114 | TIterator -> - 112 + 113 | TIteratorId _ -> - 111 + 112 | TLineEnd _ -> - 110 + 111 | TLocal -> - 109 + 110 | TLogOp _ -> - 108 + 109 | TMPtVirg -> - 107 + 108 | TMetaConst _ -> - 106 + 107 | TMetaDecl _ -> - 105 + 106 | TMetaDeclarer _ -> - 104 + 105 | TMetaErr _ -> - 103 + 104 | TMetaExp _ -> - 102 + 103 | TMetaExpList _ -> - 101 + 102 | TMetaField _ -> - 100 + 101 | TMetaFunc _ -> - 99 + 100 | TMetaId _ -> - 98 + 99 | TMetaIdExp _ -> - 97 + 98 | TMetaInit _ -> - 96 + 97 | TMetaIterator _ -> - 95 + 96 | TMetaLocalFunc _ -> - 94 + 95 | TMetaLocalIdExp _ -> - 93 + 94 | TMetaParam _ -> - 92 + 93 | TMetaParamList _ -> - 91 + 92 | TMetaPos _ -> - 90 + 91 | TMetaStm _ -> - 89 + 90 | TMetaStmList _ -> - 88 + 89 | TMetaType _ -> - 87 + 88 | TMid0 _ -> - 86 + 87 | TMinus _ -> - 85 + 86 | TMinusFile _ -> - 84 + 85 | TMul _ -> - 83 + 84 | TName -> - 82 + 83 | TNever -> - 81 + 82 | TNotEq _ -> - 80 + 81 | TNothing -> - 79 + 80 | TOBrace _ -> - 78 + 79 | TOCro _ -> - 77 + 78 | TOEllipsis _ -> - 76 + 77 | TOInit _ -> - 75 + 76 | TOPar _ -> - 74 + 75 | TOPar0 _ -> - 73 + 74 | TOn -> - 72 + 73 | TOr _ -> - 71 + 72 | TOrLog _ -> - 70 + 71 | TPArob -> - 69 + 70 | TPCEllipsis _ -> - 68 + 69 | TPOEllipsis _ -> - 67 + 68 | TParameter -> - 66 + 67 | TPathIsoFile _ -> - 65 + 66 | TPlus _ -> - 64 + 65 | TPlus0 -> - 63 + 64 | TPlusFile _ -> - 62 + 63 | TPosAny -> - 61 + 62 | TPosition -> - 60 + 61 | TPragma _ -> - 59 + 60 | TPtVirg _ -> - 58 + 59 | TPtrOp _ -> - 57 + 58 | TPure -> - 56 + 57 | TReturn _ -> - 55 + 56 | TRightIso -> - 54 + 55 | TRuleName _ -> - 53 + 54 | TScript -> - 52 + 53 | TScriptData _ -> - 51 + 52 | TShLOp _ -> - 50 + 51 | TShROp _ -> - 49 + 50 | TSizeof _ -> - 48 + 49 | TStatement -> - 47 + 48 | TStrict _ -> - 46 + 47 | TString _ -> - 45 + 46 | TSub _ -> - 44 + 45 | TSwitch _ -> - 43 + 44 | TTilde _ -> - 42 + 43 | TTildeEq _ -> - 41 + 42 | TTildeExclEq _ -> - 40 + 41 | TType -> - 39 + 40 | TTypeId _ -> - 38 + 39 | TTypedef -> + 38 + | TUndef _ -> 37 | TUnderscore -> 36 @@ -1402,6 +1409,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TTypedef -> Obj.repr () + | TUndef _v -> + Obj.repr _v | TUnderscore -> Obj.repr () | TUsing -> @@ -1476,19 +1485,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v let default_reduction = - (16, "\000\000\000\000\002\230\000u\000\000\000\000\0035\001n\000\000\001l\001m\001k\000\000\001p\001o\000\001\000\000\001\162\000\000\000\000\000\133\000\000\000\000\001\152\000\182\000\000\000\000\000\169\000\000\000\000\000\174\000\173\000\000\000\170\000\000\000\168\000\000\000\000\000\000\000\172\000\000\000\171\003n\003m\000\000\000\186\000\000\000\185\000\000\000\000\000\162\000\000\000\000\000\167\000\166\000\000\000\163\000\000\000\161\000\000\000\000\000\000\000\165\000\000\000\164\000\000\000\176\000\000\000\187\000\000\000\000\000\181\000\180\000\000\000\177\000\000\000\184\000\000\000\000\000\000\001h\000\000\000\000\000\000\001g\000\000\000\000\001;\001:\0019\0018\0017\0016\000\000\001#\002,\000\000\000\000\002+\000\000\000\000\000\000\000\145\000\000\000\000\000\144\002/\0014\000\000\000\000\000\189\000\000\000\000\000\000\000\000\000\190\000\188\000\000\000\183\000\132\000\000\000\175\000\000\000\195\000\000\000\000\000\000\000\179\000\000\000\000\000\000\003b\003h\000\000\000\000\000\000\000\000\000\000\003c\003d\000\000\000\000\000\192\000\000\003f\000\000\000\000\000\000\003\242\002\176\000\000\003\240\000\000\002\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\239\003\241\002\182\001c\002\181\001a\001b\002\180\002\179\002\178\002\174\000\000\000\000\002\175\001\029\000\000\002\177\000\000\003\238\000\000\000g\001`\002\145\000\000\000\000\002\148\000\000\000\000\000\000\000\000\000\000\000\000\001\030\002\173\002\185\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\127\002l\000V\001(\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000X\000\000\000W\000\000\002\210\000\000\000\233\000\000\000\000\002\003\000\000\001\176\001\240\000\000\000\000\002\002\000\000\000\000\000\217\000\000\000\000\000\204\000\000\000\000\000\209\000\208\000\000\000\205\000\000\000\203\000\000\000\000\000\000\000\207\000\000\000\206\000\000\000\221\000\000\000\220\000\000\000\000\000\197\000\000\000\000\000\202\000\201\000\000\000\198\000\000\000\196\000\000\000\000\000\000\000\200\000\000\000\199\000\000\000\211\000\000\000\222\000\000\000\000\000\216\000\215\000\000\000\212\000\000\000\219\000\000\000\000\000\000\000\000\000\224\000\000\000\000\000\000\000\000\000\225\000\223\000\000\000\218\000\000\000\210\000\000\000\230\000\000\000\000\000\000\000\214\000\000\000\000\000\000\000\000\000\229\000\000\000\000\000\159\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002R\000\238\000\000\000\000\000\000\000\000\000\000\002@\002Q\002\b\000\000\000\000\000\000\000\000\000\000\0013\000\242\000\000\002\t\000\000\000\000\000\000\000\000\000\237\000\235\000\157\000\000\000\000\000\156\002D\002A\000\000\000\000\003j\000\000\003i\000\000\000\000\000\000\000\000\000\000\000\227\000\000\000\000\000\000\000\000\000\228\000\226\000\000\000\000\003l\003g\000\213\000\000\001\174\001\239\000\000\002\208\002\207\000\015\002\206\002\205\002\204\002\200\000\000\000\000\000\000\002\209\002\201\000\000\002\203\000\000\000\000\000k\002\159\000\000\000\000\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000[\000\000\000Z\000\137\002\211\002\199\000\014\000\016\000Y\0003\001\027\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\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\029\002!\000\000\000\000\000\136\001+\001)\000\000\002\165\000\000\000\000\002\160\002\163\000\000\002\161\002\164\003\227\003\228\003\226\003\225\002\030\000\000\002\151\000\000\000\000\002\146\002\149\000\000\002\147\002\150\003\213\003\214\003\212\000\000\002\183\003\211\000\000\000\000\000l\001@\000\000\002\018\000\000\000\000\000\000\000\000\000\000\001!\002\024\000\000\000\000\001\186\000\000\002\184\000\000\000\000\000h\000\000\000\000\003\230\003\229\000\000\002\019\000\000\000\000\003\216\003\215\000\000\000U\000\234\000\000\001\154\000\000\003k\000\000\000\000\000\000\000\000\000\193\000\191\000\000\001'\000\000\000\000\000\194\000\178\000\000\000\000\001\130\000\000\001\129\000\000\001\144\000\000\001\164\000\000\000\000\000\000\003\158\000\000\000\000\003\145\000\000\000\000\003\150\003\149\000\000\003\146\000\000\003\144\000\000\000\000\000\000\003\148\000\000\003\147\000\000\003\162\000\000\003\161\000\000\000\000\003\138\000\000\000\000\003\143\003\142\000\000\003\139\000\000\003\137\000\000\000\000\000\000\003\141\000\000\003\140\000\000\003\152\000\000\003\163\000\000\000\000\003\157\003\156\000\000\003\153\000\000\003\160\000\000\000\000\000\000\000\000\003\165\000\000\000\000\000\000\000\000\003\166\003\164\000\000\003\159\000\000\003\151\000\000\003\171\000\000\000\000\000\000\003\155\000\000\000\000\003\207\000\000\000\000\000\000\000\000\003\170\003\154\000\000\003\209\000\000\000\000\003E\003\208\000}\000\000\001\015\000\000\000\000\000\000\000\000\003\168\000\000\000\000\000\000\000\000\003\169\003\167\000\000\000\000\003\193\000\000\000\000\003\180\000\000\000\000\003\185\003\184\000\000\003\181\000\000\003\179\000\000\000\000\000\000\003\183\000\000\003\182\000\000\003\197\000\000\003\196\000\000\000\000\003\173\000\000\000\000\003\178\003\177\000\000\003\174\000\000\003\172\000\000\000\000\000\000\003\176\000\000\003\175\000\000\003\187\000\000\003\198\000\000\000\000\003\192\003\191\000\000\003\188\000\000\003\195\000\000\000\000\000\000\000\000\003\200\000\000\000\000\000\000\000\000\003\201\003\199\000\000\003\194\000\000\003\186\000\000\003\206\000\000\000\000\000\000\003\190\000\000\000\000\000\000\000\000\003\205\003\189\000\000\000\000\000\000\000\000\003\203\000\000\000\000\000\000\000\000\003\204\003\202\003^\003`\003a\003_\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000\252\000\239\000\000\000\000\000r\000\000\000\000\000\000\002\189\000\000\000\000\000\000\002\197\000\000\000\000\002\196\000\000\003\223\002\195\002\194\002\193\002\192\002\191\001~\002\187\000\000\000\000\002\188\000\000\002\190\000\000\000\000\000\000\000\000\000\000\000i\002\152\000\000\000\000\002\155\000\000\000\000\002\158\000\000\000\000\002\153\002\156\000\000\002\154\002\157\002\198\002\186\000j\003\220\003\221\003\219\003\218\003\222\000\000\000\000\000\000\000\000\001\026\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001x\000\000\001%\001v\000\000\001\024\000\000\0023\000\000\000\000\001{\000\000\000\000\001|\000\000\001\160\000$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\000\000\000&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0022\000\000\000\000\000\000\000\149\000\000\000\000\000\148\0026\001/\000\000\001z\001}\000\000\001w\000\000\001\b\000\000\003/\000\000\000\000\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\011\000\000\000\000\001\014\000\000\000\000\000\000\000\000\000\000\000\000\001f\000\000\000\000\000\000\001\001\000\000\000\254\000\000\000\000\000\000\000\000\000\000\001\t\000\000\001\005\000\000\000\000\000\000\000\000\001\006\000\000\001\002\000\000\000\000\000\000\002\215\000\000\000\000\000\000\000\000\002\222\000\000\000\000\002\221\002\220\002\219\002\218\002\217\002\213\000\000\000\000\002\214\000\000\002\216\000\000\000\000\000m\002\166\000\000\000\000\002\169\000\000\000\000\002\172\000\000\000\000\002\167\002\170\000\000\002\168\002\171\002\224\002\212\003\234\003\235\003\233\003\232\000n\000\000\000\000\000^\000\000\000]\000\000\002\223\000\000\001\241\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\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\237\003\236\000\000\003U\000\000\003T\000\000\000\000\000\000\000\000\003\249\000\000\000\000\000\000\003\250\000\000\000\018\000\000\000\000\000\000\003\245\000\000\001\188\000\000\000\000\000\000\000\243\003K\001\150\001\149\001r\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003Y\000\000\000\000\000\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\001\031\000\000\000\000\002$\000\000\000\000\000\140\002(\002%\001-\001\016\000\000\001\018\001\017\000\000\003W\000\000\003V\003H\000\000\000\000\000\000\000\000\000\000\003Q\000\000\000\000\000\000\000\000\003R\003J\000\000\003X\000\000\003L\000\000\000\247\001s\000\000\003[\000\000\001u\000\000\000\000\003t\000\000\003{\000\249\000\000\000\255\000\000\003u\000\248\000\000\003v\000\000\003}\000\000\000\000\000\000\000\000\001\012\000\000\000\251\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\n\000\000\000\000\001\r\000\000\000\000\000\000\000\000\001e\000\000\000\000\000\000\001\000\000\000\000\253\000\000\000\000\000\000\000\000\000\000\001\007\000\000\001\003\000\245\000\244\000\000\003~\003\127\000\000\003\128\000\000\003\129\000\000\001t\003O\000\000\000\000\002\007\000\000\001\184\001\245\000\000\003I\000\000\000\000\000\000\003N\000\000\000\000\000\000\001Y\000\000\001S\000\000\001T\000\000\001^\001R\001]\000\000\003Z\001_\000\000\000\250\000\000\000\000\000\000\000\000\001[\001V\002\004\000\000\001W\000\000\001X\000\000\001\178\001\242\000\000\000\000\000\000\002\014\000\000\002\012\000\000\000\000\002\016\002\n\000\000\002\017\002\011\000\000\003\\\002\020\000\000\000\246\000\000\000\000\002\005\000\000\001\180\001\243\000\000\003\246\000\000\003\243\000\000\003\244\000\019\000\020\000\000\000\000\003\019\000\000\003\018\000\000\002T\000\000\003\021\000\000\003\020\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\002c\000\000\000\000\002f\000\000\002V\000\000\000\000\002Y\000\000\000\000\000\000\002]\000\000\000\000\002a\000\000\000\000\002\006\000\000\000\000\002Z\000\000\000\000\002^\003\016\002W\000\000\003\017\000\000\000\000\000\000\000\000\002d\000\000\002S\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\002e\000\000\002U\000\000\000\000\002X\000\000\000\000\000\000\002[\000\000\000\000\002_\000\000\001\182\001\244\000\000\003\022\000\000\000\000\000\000\003\247\000\017\000p\000\000\003\248\000\000\000\000\003+\000\000\000\000\003]\000e\000\000\000\000\000\000\000f\000\000\003S\000\000\001\156\000\000\001\158\003P\000\000\000\000\001\136\000\000\001\135\000\000\001\145\000\000\001\170\000\000\000\000\000\000\001\134\000\000\001\133\000\000\001\142\000\000\001\168\000\000\000\000\000\000\001\141\000\000\000\000\000\000\001\138\000\000\001\137\000\000\001\143\000\000\001\172\000\000\000\000\000\000\001\139\000\000\000\000\000\000\001\132\000\000\001\131\000\000\001\146\000\000\001\166\000\000\000\000\000\000\001\140\000\002\000\000\000R\000S\000\000\000\000\002\240\002\244\002\248\002\236\002\233\000\000\000\000\002\245\002\252\002\237\002\251\002\235\002\250\002\239\002\231\002\238\002\247\002\234\002\241\002\232\002\243\002\249\002\246\002\242\001\207\001\206\000{\000\000\000\000\003A\000\000\000\000\003%\000\000\000\000\003'\003&\003\006\000\000\000\000\003G\002\254\002\253\002\255\000\000\001\221\000Q\001\147\000\003\000\000\000\000\002\227\000\000\002j\000\000\000|\000\000\000\000\003C\000\000\000\000\000\000\000t\000\000\000\000\0033\000\000\002N\002M\001\200\003\007\000\000\001\236\000\000\002\228\000\000\000\000\000v\000\000\000\000\0037\000\000\001\218\000\000\000\000\001\212\000\000\000\000\000\000\001\217\000\000\001\214\000\000\000\000\000\000\001\190\001\189\000\000\000\000\000\000\001\237\000\000\001\210\000\000\001\209\000\000\000q\000\000\000\000\003-\000\000\000\000\001\205\000\000\000\000\000y\000\000\000\000\003=\000\000\000\000\003\014\000\000\003\r\000\000\000\000\000\000\002L\002K\003\011\002r\003\002\003\012\000\000\001\224\000\000\000\000\000\000\001\220\000\000\001\226\000\000\000\000\001\213\000\000\000\000\000\000\003\004\000z\000\000\000\000\003?\000\000\003\003\000\000\001\222\000\000\000\000\001\223\000\000\000\000\001\216\000\000\000\000\001D\000\000\001C\000\000\000\000\000\000\000\000\000\000\001\238\000\000\001\211\000\000\001B\000\000\002\026\000w\000\000\000\000\0039\000\000\000\000\000\000\000\000\003p\003o\000\000\000\000\001j\000s\001i\000\000\000\000\0031\000\000\002F\002E\002H\003\000\002n\002G\001A\000\000\000x\000\000\000\000\003;\000\000\000\000\000\000\000\000\002J\002I\003\n\003\b\002p\003\001\003\t\000\000\001\231\000\000\001\234\000\000\000\000\001\227\000\000\000\000\000\000\001\219\000\000\001\225\000\000\000\000\001\215\000\000\000\000\000\000\000\000\000\000\000\000\001\204\000\000\000\000\001\233\000\000\001\232\000\000\000\000\000\000\000\000\001\230\000\000\000\000\001\229\000\000\001\228\000\000\000\000\001\235\000\000\000\000\001\148\000\004\000\000\001\208\000\005\000\000\000\000\001G\000\006\000\000\001\249\001\250\001\248\000\000\001\247\003q\001\196\000\000\000\007\000\000\001\252\001\253\001\251\000\000\000\000\000\000\000\000\001I\000\000\000\000\000\000\000\000\001N\001P\001O\001J\001L\001K\000\000\000\000\000\000\000\000\000\000\003w\003\132\000\000\003x\000\000\003y\000\000\000\000\003r\000\000\000\000\000\000\000\000\003\131\000\000\000\000\003\130\002\001\002\000\000\000\000\000\001\198\001\246\001\254\000\000\000\000\000\000\000\000\000\000\002P\000\000\000\000\000\000\000\000\000\000\0029\002O\000\000\000\000\000\000\000\153\000\000\000\000\000\152\002=\002:\0011\000\241\000\000\000\000\000\000\000\000\001d\000\000\003\135\000\000\003\136\000\000\000\000\002\023\002\021\000\000\002\022\000\b\000\000\000\t\000\000\002\129\002\130\002\128\000\000\002\127\000\000\000\n\000\000\002\132\002\133\002\131\000\000\002\135\000\000\000\000\000\000\002y\000\000\000\000\002{\000\000\002u\000\000\002w\000\000\002|\000\000\002}\000\000\002v\002t\002\136\001\202\002~\000\000\002\138\000\000\002\137\000\000\002\139\000\000\003\015\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002\140\000\000\000\000\002\143\000\000\002\142\000\000\002\141\001\019\000\000\000\000\000\000\000\000\001\020\002\144\000\000\000\000\000\000\003\027\000\000\003\026\000\000\000\000\000\000\000\000\003\028\000\000\000\000\001F\000\000\000\000\000\000\000\000\000\000\003)\000o\000\000\000\000\001\028\000\000\001=\001<\000\000\001\128\000\000\003\025\001\194\001\192\000\000\000\000\000\000\000\000\003\029\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\024\000\000\000\000\000\000\000\000\000\000\000\000\003\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003$\000\000\000\000\003#\000\000\003 \000\000\000\000\000\000\000\000\000\000\003!\000\000\000\000\000\000\003\"\000\r\000\000\003\030\000\000\003\031") + (16, "\000\000\000\000\002\245\000\131\000\000\000\000\003D\001|\000\000\001z\001{\001y\000\000\001~\001}\000\001\000\000\001\177\000\000\000\000\000\147\000\000\000\000\001\167\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}\003|\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\001v\000\000\000\000\000\000\001u\000\000\000\000\001I\001H\001G\001F\001E\001D\000\000\0011\002;\000\000\000\000\002:\000\000\000\000\000\000\000\159\000\000\000\000\000\158\002>\001B\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\003q\003w\000\000\000\000\000\000\000\000\000\000\003r\003s\000\000\000\000\000\206\000\000\003u\000\000\000\000\000\000\004\b\002\191\000\000\000\000\004\006\000\000\002\217\000\000\000\000\000\000\000\000\000\000\000\000\004\005\004\007\002\197\001q\002\196\001o\001p\002\195\002\194\002\193\002\189\000\000\000\000\002\190\001+\000\000\000\000\000\000\002\192\000\000\004\004\000\000\000\000\003\229\001n\002\160\000\000\000\000\002\163\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\001,\002\188\002\200\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\0016\000p\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\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\161\002\164\000\000\002\162\002\165\003\228\000\000\002\225\000\000\000\247\000\000\000\000\002\018\000\000\001\191\001\255\000\000\000\000\002\017\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\002a\000\252\000\000\000\000\000\000\000\000\000\000\002O\002`\002\023\000\000\000\000\000\000\000\000\000\000\001A\001\000\000\000\002\024\000\000\000\000\000\000\000\000\000\251\000\249\000\171\000\000\000\000\000\170\002S\002P\000\000\000\000\003y\000\000\003x\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\242\000\240\000\000\000\000\003{\003v\000\227\000\000\001\189\001\254\000\000\000\000\002\224\000\000\000\000\002\223\002\222\002\221\002\220\002\219\002\215\000\000\003\240\002\216\000\000\003\241\002\218\000\000\003\243\000\000\000y\002\174\000\000\000\000\002\177\000\000\000\000\000\015\000\000\000\000\000\000\000\000\000\000\000i\000\000\000h\000\151\002\226\002\214\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\002,\0020\000\000\000\000\000\150\002-\0019\0017\000\000\002\180\000\000\000\000\002\175\002\178\000\000\002\176\002\179\003\242\000z\000\000\002\166\004\000\004\001\003\255\003\254\003\227\000\000\002\198\003\226\001N\000\000\002!\000\000\000\000\000\000\000\000\000\000\001/\002'\000\000\000\000\001\201\000\000\002\199\000\000\000\000\000v\000\000\000\000\003\245\003\244\000\000\002\"\000\000\000\000\004\003\004\002\000\000\000\000\003\231\003\230\000\000\000c\000\248\000\000\001\169\000\000\003z\000\000\000\000\000\000\000\000\000\207\000\205\000\000\0015\000\000\000\000\000\208\000\192\000\000\000\000\001\145\000\000\001\144\000\000\001\159\000\000\001\179\000\000\000\000\000\000\003\173\000\000\000\000\003\160\000\000\000\000\003\165\003\164\000\000\003\161\000\000\003\159\000\000\000\000\000\000\003\163\000\000\003\162\000\000\003\177\000\000\003\176\000\000\000\000\003\153\000\000\000\000\003\158\003\157\000\000\003\154\000\000\003\152\000\000\000\000\000\000\003\156\000\000\003\155\000\000\003\167\000\000\003\178\000\000\000\000\003\172\003\171\000\000\003\168\000\000\003\175\000\000\000\000\000\000\000\000\003\180\000\000\000\000\000\000\000\000\003\181\003\179\000\000\003\174\000\000\003\166\000\000\003\186\000\000\000\000\000\000\003\170\000\000\000\000\003\222\000\000\000\000\000\000\000\000\003\185\003\169\000\000\003\224\000\000\000\000\003T\003\223\000\139\000\000\001\029\000\000\000\000\000\000\000\000\003\183\000\000\000\000\000\000\000\000\003\184\003\182\000\000\000\000\003\208\000\000\000\000\003\195\000\000\000\000\003\200\003\199\000\000\003\196\000\000\003\194\000\000\000\000\000\000\003\198\000\000\003\197\000\000\003\212\000\000\003\211\000\000\000\000\003\188\000\000\000\000\003\193\003\192\000\000\003\189\000\000\003\187\000\000\000\000\000\000\003\191\000\000\003\190\000\000\003\202\000\000\003\213\000\000\000\000\003\207\003\206\000\000\003\203\000\000\003\210\000\000\000\000\000\000\000\000\003\215\000\000\000\000\000\000\000\000\003\216\003\214\000\000\003\209\000\000\003\201\000\000\003\221\000\000\000\000\000\000\003\205\000\000\000\000\000\000\000\000\003\220\003\204\000\000\000\000\000\000\000\000\003\218\000\000\000\000\000\000\000\000\003\219\003\217\003m\003o\003p\003n\000\000\000\000\000\000\000\000\000\000\001\129\000\000\000\000\000\000\000\000\000\000\000\254\001\n\000\253\000\000\000\000\000\128\000\000\000\000\000\000\002\204\000\000\000\000\000\000\003\238\003\237\000\000\000\000\002\212\000\000\000\000\002\211\000\000\000\000\002\210\002\209\002\208\002\207\002\206\001\141\002\202\000\000\003\233\002\203\000\000\003\234\002\205\000\000\003\236\000\000\000w\002\167\000\000\000\000\002\170\000\000\000\000\002\173\000\000\000\000\002\168\002\171\000\000\002\169\002\172\002\213\002\201\003\235\000x\000\000\000\000\000\000\000\000\001(\001'\000\000\000\000\000\000\000\000\000\000\000\000\001\135\000\000\0013\001\133\000\000\001&\000\000\002B\000\000\000\000\001\138\000\000\000\000\001\139\000\000\001\175\000$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&\000\000\000\000\000\000\000\000\000\000\000\000\002A\000\000\000\000\000\000\000\163\000\000\000\000\000\162\002E\001=\000\000\001\137\001\140\000\000\001\134\000\000\001\022\000\000\003>\000\000\000\000\001\018\000\000\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\000\000\000\000\001t\000\000\000\000\000\000\001\015\000\000\001\012\000\000\000\000\000\000\000\000\000\000\001\023\000\000\001\019\000\000\000\000\000\000\000\000\001\020\000\000\001\016\000\000\000\000\000\000\002\230\000\000\000\000\000\000\003\252\003\251\000\000\003d\000\000\003c\000\000\000\000\000\000\000\000\004\015\000\000\000\000\000\000\004\016\000\000\000\018\000\000\000\000\000\000\000\000\002\237\000\000\000\000\000\000\002\236\002\235\002\234\002\233\002\232\002\228\000\000\003\247\002\229\000\000\003\248\002\231\000\000\003\250\000\000\000{\002\181\000\000\000\000\002\184\000\000\000\000\002\187\000\000\000\000\002\182\002\185\000\000\002\183\002\186\002\239\002\227\003\249\000\000\000\000\000l\000\000\000k\000\000\002\238\000\000\002\000\000j\000B\001M\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\011\000\000\001\203\000\000\000\000\000\000\001\001\003Z\001\165\001\164\001\128\001\127\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003h\000\000\000\000\000\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\001-\000\000\000\000\0023\000\000\000\000\000\154\0027\0024\001;\001\030\000\000\001 \001\031\000\000\003f\000\000\003e\003W\000\000\000\000\000\000\000\000\000\000\003`\000\000\000\000\000\000\000\000\003a\003Y\000\000\003g\000\000\003[\000\000\001\005\001\130\000\000\003j\000\000\001\132\000\000\000\000\003\131\000\000\003\138\001\007\000\000\001\r\000\000\003\132\001\006\000\000\003\133\000\000\003\140\000\000\000\000\000\000\000\000\001\026\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\024\000\000\000\000\001\027\000\000\000\000\000\000\000\000\001s\000\000\000\000\000\000\001\014\000\000\001\011\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\017\001\003\001\002\000\000\003\141\003\142\000\000\003\143\000\000\003\144\000\000\001\131\003^\000\000\000\000\002\022\000\000\001\199\002\004\000\000\003X\000\000\000\000\000\000\003]\000\000\000\000\000\000\001g\000\000\001a\000\000\001b\000\000\001l\001`\001k\000\000\003i\001m\000\000\001\b\000\000\000\000\000\000\000\000\001i\001d\002\019\000\000\001e\000\000\001f\000\000\001\193\002\001\000\000\000\000\000\000\002\029\000\000\002\027\000\000\000\000\002\031\002\025\000\000\002 \002\026\000\000\003k\002#\000\000\001\004\000\000\000\000\002\020\000\000\001\195\002\002\000\000\004\012\000\000\004\t\000\000\004\n\000\019\000\020\000\000\000\000\003\"\000\000\003!\000\000\002c\000\000\003$\000\000\003#\000\000\000\000\000\000\002k\000\000\000\000\002o\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002r\000\000\000\000\002u\000\000\002e\000\000\000\000\002h\000\000\000\000\000\000\002l\000\000\000\000\002p\000\000\000\000\002\021\000\000\000\000\002i\000\000\000\000\002m\003\031\002f\000\000\003 \000\000\000\000\000\000\000\000\002s\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002q\000\000\000\000\002t\000\000\002d\000\000\000\000\002g\000\000\000\000\000\000\002j\000\000\000\000\002n\000\000\001\197\002\003\000\000\003%\000\000\000\000\000\000\004\r\000\017\000~\000\000\004\014\000\000\000\000\003:\000\000\000\000\003l\000s\000\000\000\000\000\000\000t\000\000\003b\000\000\001\171\000\000\001\173\003_\000\000\000\000\001\151\000\000\001\150\000\000\001\160\000\000\001\185\000\000\000\000\000\000\001\149\000\000\001\148\000\000\001\157\000\000\001\183\000\000\000\000\000\000\001\156\000\000\000\000\000\000\001\153\000\000\001\152\000\000\001\158\000\000\001\187\000\000\000\000\000\000\001\154\000\000\000\000\000\000\001\147\000\000\001\146\000\000\001\161\000\000\001\181\000\000\000\000\000\000\001\155\000\002\000\000\000`\000a\000\000\000\000\002\255\003\003\003\007\002\251\002\248\000\000\000\000\003\004\003\011\002\252\003\n\002\250\003\t\002\254\002\246\002\253\003\006\002\249\003\000\002\247\003\002\003\b\003\005\003\001\001\222\001\221\000\137\000\000\000\000\003P\000\000\000\000\0034\000\000\000\000\0036\0035\003\021\000\000\000\000\003V\003\r\003\012\003\014\000\000\001\236\000_\001\162\000\003\000\000\000\000\002\242\000\000\002y\000\000\000\138\000\000\000\000\003R\000\000\000\000\000\000\000\130\000\000\000\000\003B\000\000\002]\002\\\001\215\003\022\000\000\001\251\000\000\002\243\000\000\000\000\000\132\000\000\000\000\003F\000\000\001\233\000\000\000\000\001\227\000\000\000\000\000\000\001\232\000\000\001\229\000\000\000\000\000\000\001\205\001\204\000\000\000\000\000\000\001\252\000\000\001\225\000\000\001\224\000\000\000\127\000\000\000\000\003<\000\000\000\000\001\220\000\000\000\000\000\135\000\000\000\000\003L\000\000\000\000\003\029\000\000\003\028\000\000\000\000\000\000\002[\002Z\003\026\002\129\003\017\003\027\000\000\001\239\000\000\000\000\000\000\001\235\000\000\001\241\000\000\000\000\001\228\000\000\000\000\000\000\003\019\000\136\000\000\000\000\003N\000\000\003\018\000\000\001\237\000\000\000\000\001\238\000\000\000\000\001\231\000\000\000\000\001R\000\000\001Q\000\000\000\000\000\000\000\000\000\000\001\253\000\000\001\226\000\000\001P\000\000\002)\000\133\000\000\000\000\003H\000\000\000\000\000\000\000\000\003\127\003~\000\000\000\000\001x\000\129\001w\000\000\000\000\003@\000\000\002U\002T\002W\003\015\002}\002V\001O\000\000\000\134\000\000\000\000\003J\000\000\000\000\000\000\000\000\002Y\002X\003\025\003\023\002\127\003\016\003\024\000\000\001\246\000\000\001\249\000\000\000\000\001\242\000\000\000\000\000\000\001\234\000\000\001\240\000\000\000\000\001\230\000\000\000\000\000\000\000\000\000\000\000\000\001\219\000\000\000\000\001\248\000\000\001\247\000\000\000\000\000\000\000\000\001\245\000\000\000\000\001\244\000\000\001\243\000\000\000\000\001\250\000\000\000\000\001\163\000\004\000\000\001\223\000\005\000\000\000\000\001U\000\006\000\000\002\b\002\t\002\007\000\000\002\006\003\128\001\211\000\000\000\007\000\000\002\011\002\012\002\n\000\000\000\000\000\000\000\000\001W\000\000\000\000\000\000\000\000\001\\\001^\001]\001X\001Z\001Y\000\000\000\000\000\000\000\000\000\000\003\134\003\147\000\000\003\135\000\000\003\136\000\000\000\000\003\129\000\000\000\000\000\000\000\000\003\146\000\000\000\000\003\145\002\016\002\015\000\000\000\000\001\213\002\005\002\r\000\000\000\000\000\000\000\000\000\000\002_\000\000\000\000\000\000\000\000\000\000\002H\002^\000\000\000\000\000\000\000\167\000\000\000\000\000\166\002L\002I\001?\000\255\000\000\000\000\000\000\000\000\001r\000\000\003\150\000\000\003\151\000\000\000\000\002&\002$\000\000\002%\000\b\000\000\000\t\000\000\002\144\002\145\002\143\000\000\002\142\000\000\000\n\000\000\002\147\002\148\002\146\000\000\002\150\000\000\000\000\000\000\002\136\000\000\000\000\002\138\000\000\002\132\000\000\002\134\000\000\002\139\000\000\002\140\000\000\002\133\002\131\002\151\001\217\002\141\000\000\002\153\000\000\002\152\000\000\002\154\000\000\003\030\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002\155\000\000\000\000\002\158\000\000\002\157\000\000\002\156\001!\000\000\000\000\000\000\000\000\001\"\002\159\000\000\000\000\000\000\003*\000\000\003)\000\000\000\000\000\000\000\000\003+\000\000\000\000\001T\000\000\000\000\000\000\000\000\000\000\0038\000}\000\000\000\000\001*\000\000\001K\001J\000\000\001\143\000\000\003(\001\209\001\207\000\000\000\000\000\000\000\000\003,\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\0033\000\000\000\000\0032\000\000\003/\000\000\000\000\000\000\000\000\000\000\0030\000\000\000\000\000\000\0031\000\r\000\000\003-\000\000\003.") let error = - (187, "\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\006\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\003\000\000\000\000\000\000\000\000\000\000\000\016\002\012\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\000\000\000\000\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\0000\000\000\000\000\000\000\000\000\000\000\001\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\001\254\000\000\000\000\000\000\000\000={W\128\001\000\002\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\002\016\161\128\000\000\004@\000@$\004`\004\000\128!\000\000\000\000\153\012@BT4\001@A\170\b\t\012\192\140\001\160\017\014\240$\000\bs!\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#Z8\000\000\000\196\000\004\000`F\000@\b\002\016\000\000\000\t\144\196\004!C\000\000\000\b\128\000\128H\b\192\b\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\016\165\012\000\000\000\"\000\002\001 #\000 \004\001\b\000\000\000\004\200b\002\016\161\128\000\000\004@\000@$\004`\004\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\001\bP\192\000\000\002 \000 \018\0020\002\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\004!C\000\000\000\b\128\000\128H\b\192\b\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\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\000B\0200\000\000\000\136\000\b\004\128\140\000\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\001\bP\192\000\000\002 \000 \018\0020\002\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\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\"\000\002\001 #\000 \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\000B\0200\000\000\000\136\000\b\004\128\140\000\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\001\026\209\192\000\000\006 \000 \003\0020\002\000@\016\128\000\000\000L\134 !\n\024\000\000\000D\000\004\002@F\000@\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\133(`\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\016\133\012\000\000\000\"\000\002\001 #\000 \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\bB\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!\n\024\000\000\000D\000\004\002@F\000@\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\001\000\000\000\000\000\000\000\002\016\161\128\000\000\004@\000@$\004`\004\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\bB\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!\n\024\000\000\000D\000\004\002@F\000@\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\132(`\000\000\001\016\000\016\t\001\024\001\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\002\020\161\128\000\000\004@\000@$\004`\004\000\128!\000\000\000\000\153\012@B\0200\000\000\000\136\000\b\004\128\140\000\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!\n\024\000\000\000D\000\004\002@F\000@\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\132(`\000\000\001\016\000\016\t\001\024\001\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\004\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\004\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\b\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\b\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\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\016\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\004\000\000\000\000\b\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\024\136\000\004\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\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@\128\000\000\000\000\000\000\000\000\000\000 \000\004\000\000\000\002\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\016\000\002\000\000\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\002\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\002\004\000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\016\000\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\b\000\002\016\161\128\000\000\004@\000@$\004`\004\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\bB\134\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\001\000\000 \000\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\016\000\004!C\000\000\000\b\128\000\128H\b\192\b\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\002\016\161\128\000\000\004@\000@$\004`\004\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\001\bP\192\000\000\002 \000 \018\0020\002\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\004!C\000\000\000\b\128\000\128H\b\192\b\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\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\000B\0200\000\000\000\136\000\b\004\128\140\000\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\000z\246\175\000\002\000\004\000\000@\001\000\000\000\000\000\000\000\000\000\000\000\000\000!\n\024\000\000\000D\000\004B@F\000@\b\002\016\000\000\000\t\144\197\235\218\188\000\b\000\016\000\001\004\004\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\245\237^\000\132\000\b\000\000\130\002\000\016\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\003\215\181x\000\016\000 \000\002\000\b\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\016\000\000\000\000\000\000\015^\213\224\000@\000\128\000\b \001\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\b\000\002\016\161\128\000\000\004@\000@$\004`\004\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\003\215\181x\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\000\004\000\000\000\002\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\016\000\001\016\000\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\t \000$\026\005\001\156\200\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$\128\000\144h\020\006s \000\016\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\146\000\002A\160P\025\204\128\000B@ \000\000 \128A\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\016\000\130\001\004\245\237^\000\004I\b\001 \208*\012\230@\000! \016\002\000\016@ \158\189\171\192\000\137!\000$\026\005A\156\200\000\004$\002\000@\002\b\004\016\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130z\246\175\000\002$\132\000\144h\021\006s \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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@g2\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000I\000\001 \208(\012\230@\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\000\000\000\000\000\000$\128\000\144h\020\006s \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\146\000\002A\160P\025\204\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\002H\000\t\006\129@g2\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\000b`\155,\150\000\000\n\000@\128\000\r\208\bO\014\224\000\000\000\000\000\000\000\000\000\000\000\004\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={W\128\001\018B\000H4\138\131;\144\000\bH\004\000\128\004\018\b'\175j\240\000\"H@\t\006\129Pg2\000\001\t\000\128\016\000\130\001\004\000\000\000H\000\000\196A\006\001,\000\000\020\000\128\000\000\027 \000\026\029\192\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000@\002\b\004\016\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000l\128\002xw\000\000\000\000\000$\128\000\144h\020\006s \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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000$\128\000\144h\020\006s \000\016\144\b\001\000\b \016@\000\000\004\128\000\012D\019a\018\192\000\001@\b\000\000\0012\000\t\224\220\000\000\000\000\000\146\000\002A\160P\025\204\128\000B@ \004\000 \128A\000\000\000\018\000\0001\016M\132K\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\016\000\130\001\004\000\000\000H\000\000\196A6\017,\000\000\020\000\128\000\000\019 \000\158\r\192\000\000\000\000\t \000$\026\005\001\156\200\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$\128\000\144h\020\006s \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\146\000\002A\160P\025\204\128\000B@ \004\000 \128A\000\000\000\018\000\0001\016M\132K\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\016\000\130\001\004\000\000\000H\000\000\196A6\017,\000\000\020\000\128\000\000\019 \000\158\r\192\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000@\002\b\004\016\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\001\000\b \016@\000\000\004\128\000\012D\019a\018\192\000\001@\b\000\000\0012\000\t\224\220\000\000\000\000\000\146\000\002A\160P\025\204\128\000B@ \004\000 \128A\000\000\000\018\000\0001\016M\132K\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\016\000\130\001\004\000\000\000H\000\000\196A6\017,\000\000\020\000\128\000\000\019 \000\158\r\192\000\000\000\000\t \000$\026\005\001\156\200\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\004\000\000\000\000\000\000\000\000\000$\128\000\144h\020\006s \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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\156\200\000\004$\002\000@\002\b\004\016\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\001\000\b \016@\000\000\004\128\000\012D\019a\018\192\000\001@\b\000\000\0012\000\t\224\220\000\000\000\000\000\146\000\002A\160P\025\204\128\000B@ \004\000 \128A\000\000\000\018\000\0001\016M\132K\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\002H\000\t\006\129@g2\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\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\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\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\004\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\t \000$\026\005\001\156\200\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\002\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\000\000\000\000\000\000\004\000\007\175j\240\000 \000@\000\004\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\014\189\171@\000\128\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\bB\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\002P \000\000\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\b\128\000\128H\b\192\b\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\016\165\012\000\000\000\"\000\002\001 #\000 \004\001\b\000\000\000\004\200b\002\016\161\128\000\000\004@\000@$\004`\004\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\001\bP\192\000\000\002 \000 \018\0020\002\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\004!C\000\000\000\b\128\000\128H\b\192\b\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\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\000B\0200\000\000\000\136\000\b\004\128\140\000\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\001\bP\192\000\000\002 \000 \018\0020\002\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\004!C\000\000\000\b\128\000\128H\b\192\b\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\016\133\012\000\000\000\"\000\002\001 #\000 \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\160@\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\bB\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!J\024\000\000\000D\000\004\002@F\000@\b\002\016\000\000\000\t\144\196\004!C\000\000\000\b\128\000\128H\b\192\b\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\002\016\161\128\000\000\004@\000@$\004`\004\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\bB\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\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\132(`\000\000\001\016\000\016\t\001\024\001\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\002\016\161\128\000\000\004@\000@$\004`\004\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\bB\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!\n\024\000\000\000D\000\004\002@F\000@\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\133(`\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\016\133\012\000\000\000\"\000\002\001 #\000 \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\bB\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!\n\024\000\000\000D\000\004\002@F\000@\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\001\000\000\016\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\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\001\000\000B\0200\000\000\000\136\000\b\004\128\140\000\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\001\bP\192\000\000\002 \000\"\018\0020\002\000@\016\128\000\000\000L\134 \000\000\000\000\000\000\000\000\000 \000\004\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\002\000\000\132(`\000\000\001\016\000\016\t\001\024\001\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\000B\0200\000\000\000\136\000\b\004\128\140\000\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\001\bP\192\000\000\002 \000 \018\0020\002\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\004!C\000\000\000\b\128\000\128H\b\192\b\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\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\000B\0200\000\000\000\136\000\b\004\128\140\000\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\001\bP\192\000\000\002 \000\"\018\0020\002\000@\016\128\000\000\000L\134/^\213\224\000@\000\128\000\b \001\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\002\000\000\132(`\000\000\001\016\000\016\t\001\024\001\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\245\237^\000\004\000\b\000\000\130\002\000\016\000\000\000 \000\000\000\000\001\000\030\189\171\192\000\128\001\000\000\016@@\002\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\016\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\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\002\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\245\237^\000\004\000\b\000\000\130\0020\000\000\000\000\000\000\002\000\000\b\000\030\189\171\192\000\128\001\000\000\016@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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\001\235\218\188\000\b\000\016\000\001\004\004`\000\000\000\000\000\000\000\000\000\016\000={W\128\001\000\002\000\000 \128\140\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\004@\000\245\237^\000\004\000\b\000\000\130\0020\000\000\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\000\000\000\000\000\000\000\000\000\000\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\004\000\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\000\000\000\016\000\000\000\b\000\000\000\000\002\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\245\237^\000\004\000\b\000\000\130\0020\000\000\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\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\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000 \000@\000\004\016\017\128\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\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\b\128\001\235\218\188\000\b\000\016\000\001\004\004`\000\000\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\001\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\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\029{V\128\001\000\002\000\000\000\000\128\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\001\000\000\000\000\000\000\000\245\237^\000\004\000\b\000\000\130\002\000\016\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\bB\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!\n\024\000\000\000D\000\004B@F\000@\b\002\016\000\000\000\t\144\197\235\218\188\000\b\000\016\000\001\004\004\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\133\012\000\000\000\"\000\002\001 #\000 \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\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\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\003\215\181x\000\017$ \004\131H\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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$\128\000\144h\020\006s \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\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\002H\000\t\006\129@g2\000\001\t\000\128\000\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\t \000$\026\005\001\156\200\000\004$\002\000\000\002\b\004\016\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\144\000\001\129\002,\146P\000\000 \000\002\000\0005@!\024#\000\000\000\000\000\000\000\000\000\000\000\000\016\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\245\237^\000\004I\b\001 \210*\012\238@\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\017\000\003\215\181x\000\017$ \004\131H\1683\185\000\000\132\128@\000\000A \130z\246\175\000\002$\132\000\144i\021\006w \000\016\144\b\001\000\b \016@\000\000\004\128\000\012\000\017`\018\128\000\001\000\000\000\000\001\162\000\b\193\024\000\000\000\000\000\146\000\002A\160P\025\204\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\002H\000\t\006\129@g2\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\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\000\000\b \016@\000\000\004\128\000\012\000\017`\018\128\000\001\000\000\000\000\001\"\000\b\192\024\000\000\000\000\000\146\000\002A\160P\025\204\128\000B@ \000\000 \128A\000\000\000\018\000\0000\000E\128J\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\000\000\130\001\004\000\000\000H\000\000\192\001\022\001(\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\t \000$\026\005\001\156\200\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$\128\000\144h\020\006s \000\016\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\146\000\002A\160P\025\204\128\000B@ \000\000 \128A\000\000\000\018\000\0000\000E\128J\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\000\000\130\001\004\000\000\000H\000\000\192\001\022\001(\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000\000\002\b\004\016\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\000\000\b \016@\000\000\004\128\000\012\000\017`\018\128\000\001\000\000\000\000\001\"\000\b\192\024\000\000\000\000\000\146\000\002A\160P\025\204\128\000B@ \000\000 \128A\000\000\000\018\000\0000\000E\128J\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\000\000\130\001\004\000\000\000H\000\000\192\001\022\001(\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\t \000$\026\005\001\156\200\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\004\000\000\000\000\000\000\000\000\000$\128\000\144h\020\006s \000\016\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\146\000\002A\160P\025\204\128\000B@ \000\000 \128A\000\000\000\018\000\0000\000E\128J\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\000\000\130\001\004\000\000\000H\000\000\192\001\022\001(\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\t \000$\026\005\001\156\200\000\004$\002\000\000\002\b\004\016\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\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\000D\144\128\018\r\"\160\206\228\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\004@\000\245\237^\000\004I\b\001 \210*\012\238@\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\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\018@\000H4\n\0039\144\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\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\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\004\144\000\018\r\002\128\206d\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\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\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\001\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\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\128\000\000\000\000\000\000\000\000\000\016\000\000 \000\000\000\000\000\128I\000\001 \208(\012\230@\000! \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\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\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\018@\000H4\n\0039\144\000\bH\004\000\000\004\016\b \000\000\000\000\000\000\000\000\128\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\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\004\000\000\000\000\000\000\004\144\000\018\r\002\128\206d\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={W\128\001\018B\000H4\n\1319\144\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000D\144\128\018\r\002\160\206d\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\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\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\004\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\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\016\133\012\000\000\000\"\000\002! #\000 \004\001\b\000\000\000\004\200b\245\237^\000\004\000\b\000\000\130\002\000\016\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\bB\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\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\b\000\002\016\161\128\000\000\004@\000@$\004`\004\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\000\000\000\000\000\002\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000/^\213\224\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={W\128\001\000\002\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\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\015\255\215\240@F\144\160\016\012b\184\238| \006z\131\000\004iD\n\t\235\218\188\000\b\000\016\000\001\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\002\128\130D\016\002\024\128\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%\002\000\000\000\b\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\001@A\"\b\001\012@\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\003\000\016\005\001\004\136 \0041\000\000\004\128\004;@\144\000!\128\000\000\000 \002\000\160 \145\004\000\134 \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\000\000\000\000\000\000\000\000\000\000\000\016\001\000P\016H\130\000C\016\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\001@A\"\b\001\012@\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\002\000\000\000\000\000\000\000\000\004\000@\020\004\018 \128\016\196\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\016\001\000P\016H\130\000C\016\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\001@A\"\b\001\012@\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\001\000\016\005\001\004\136 \0041\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\000J\004\000\000\000\016\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\002\128\130D\016\002\024\128\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\006\000 \n\002\t\016@\bb\000\000\t\000\bv\129 \000C\000\000\000\000@\004\001@A\"\b\001\012@\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 \002\000\160 \145\004\000\134 \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\128\b\002\128\130D\016\002\024\128\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\128\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(\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 \002\000\160 \145\004\000\134 \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\128\b\002\128\130D\016\002\024\128\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\002\000 \n\002\t\016@\bb\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\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\005\001\004\136 \0041\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\002\128\130D\016\002\024\128\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\002\000 \n\002\t\016@\bb\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\016\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000 \000\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\016\000\000\004\000@\020\004\018 \128\016\196\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\016\001\000P\016H\130\000c\016\000\000H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000\002\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\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\004\000@\020\004\018 \128\016\196\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\016\001\000P\016H\130\000C\016\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\001@A\"\b\001\012@\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\002\000\000\000\000\000\000\000\000\004\000@\020\004\018 \128\016\196\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\007\175j\240\000 \000@\000\004\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\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\b\000\128(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\246\175\000\002\000\004\000\000A\001\000\b\000\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\016\000\000\004\000@\020\004\018 \128\016\196\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\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\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\001\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\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\128\000\b\000\000\000\004\000\000\000\000\000\000\003\215\181x\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\128\000\000 \002\000\160 \145\004\000\134 \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\128\b\002\128\130D\016\003\024\128\000\002@\002\029\160H\000\016\192\000\007\175j\240\000 \000@\000\004\016\016\000\128\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\001\000\000\000@\004\001@A\"\b\001\012@\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\007^\213\160\000@\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004\018 \128\016\196\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\001(\016\000\000\000@\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \n\002\t\016@\bb\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\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\005\001\004\136 \0041\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\002\128\130D\016\002\024\128\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\002\000 \n\002\t\016@\bb\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\002\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 \002\000\160 \145\004\000\134 \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\128\b\002\128\130D\016\002\024\128\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\002\000 \n\002\t\016@\bb\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\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\002P \000\000\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004\018 \128\016\196\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\0000\001\000P\016H\130\000C\016\000\000H\000C\180\t\000\002\024\000\000\000\002\000 \n\002\t\016@\bb\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\005\001\004\136 \0041\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\004\000@\020\004\018 \128\016\196\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\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@\004\001@A\"\b\001\012@\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\001\000\016\005\001\004\136 \0041\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\004\000@\020\004\018 \128\016\196\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\016\001\000P\016H\130\000C\016\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\192\004\001@A\"\b\001\012@\000\001 \001\014\208$\000\b`\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\000\004\000@\020\004\018 \128\016\196\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\016\001\000P\016H\130\000C\016\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\000\000\000\000\000\000\000\000\128\000\b\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\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\128\000\000 \002\000\160 \145\004\000\134 \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\128\b\002\128\130D\016\003\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\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\001\000\000\000@\004\001@A\"\b\001\012@\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 \002\000\160 \145\004\000\134 \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\128\b\002\128\130D\016\002\024\128\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\002\000 \n\002\t\016@\bb\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\002\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 \002\000\160 \145\004\000\134 \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\128\b\002\128\130D\016\003\024\128\000\002@\002\029\160H\000\016\192\000\007\175j\240\000 \000@\000\004\016\016\000\128\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\001\000\000\000@\004\001@A\"\b\001\012@\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\004\000\000\000\002\000\000\000\000\000\000\001\235\218\188\000\b\000\016\000\001\004\004\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\016\001\000P\016H\130\000C\016\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\001@A\"\b\001\140@\000\001 \001\014\208$\000\b`\000\003\215\181x\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\128\000\000 \002\000\160 \145\004\000\134 \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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\206d\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\016\000\000\000\000\001\000\026@\128@1\n#\185\144\128\025\234\012\000\017\133\016( \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\000I\000\001 \208(\012\230@\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\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\127\254\191\128\002\000\004\000\000@\001\000\000\192\000\000\016\000\000\000\192\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\007\175j\240\000 \000@\000\004\000\016\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\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000$\128\000\144j\020\006\243 \000\016\144\b\001\000\b \016@\000\000\000\000\004\144\000\016\012\226\128\206d\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\018@\000@0\n\0039\144\000\024H\004\000\000\004\016\b \000\000\000\000\002H\000\t\006\129@g2\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\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\003\215\181x\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\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@0\n\0039\144\000\024H\004\000\000\004\016\b \000\000\000\000\002H\000\t\006\129@g2\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\t \000 \024\005\001\156\200\000\012$\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$\128\000\128`\020\006s \0000\144\b\000\000\b \016@\000\000\000\000\004\144\000\016\012\002\128\206d\000\006\018\001\000\000\001\004\002\t\235\218\188\000\b\146\016\002A\160T\025\204\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\002\000\000\000\000\000\000\002H\000\b\006\001@g2\000\003\t\000\128\000\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\001\000\000\003\002\004\025$\160\000\000@\000\004\000\000B\128B\004\006\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\001\235\218\188\000\b\146\016\002A\164T\025\220\128\000B@ \004\000 \144A\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\000I\000\001 \208(\012\230@\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\000\000\000\000\000\000\000\000\000\000\000\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@g2\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\002\000\000\002\000\000\000\000\000\000\t \000$\026\005\001\156\200\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\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\146\000\002\001\156P\025\204\128\000\194@ \021\000 \130A\000\000\000\000\000\018@\000@3\138\0039\144\000\024H\004\002\160\004\016\b \000\000\002@\000\006&\t\178\201`\000\000\160\004\b\000\000\221\000\132\168\238\000\000\000\000\128\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 \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\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\t\000\000\024\024 \201%\128\000\002\000\000 \000\0034\002\018\"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\004\000\000\000\000\000\000\000\000\000\004\144\000\016\012\194\128\206d\000\006\018\001\000\136\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\002H\000\b\006a@g2\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\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\001\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\000\012\000\016`\018\128\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000\146\000\002\001\128P\025\204\128\000\194@ \000\000 \128A\000\000\000\016\000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000@\000\000\192\001\006\001(\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\t \000 \024\005\001\156\200\000\012$\002\000\000\002\b\004\016\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000$\128\000\128`\020\006s \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\146\000\002\001\128P\025\204\128\000\194@ \000\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\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000@\000\000\192\001\006\001(\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\t \000 \024\005\001\156\200\000\012$\002\000\000\002\b\004\016\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000$\128\000\128`\020\006s \0000\144\b\000\000\b \016@\000\000\004\000\000\012\000\016`\018\128\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000\146\000\002\001\128P\025\204\128\000\194@ \000\000 \128A\000\000\000\016\000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000@\000\000\192\001\006\001(\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\t \000 \024\005\001\156\200\000\012$\002\000\000\002\b\004\016\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000$\128\000\128`\020\006s \0000\144\b\000\000\b \016@\000\000\004\000\000\012\000\016`\018\128\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000\146\000\002\001\128P\025\204\128\000\194@ \000\000 \128A\000\000\000\016\000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000@\000\000\192\001\006\001(\000\000\016\000\000\000\000\016 \000\129\001\128\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\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\b\016\000\000\000\000\000\000\146\000\002\001\156P\025\204\128\000\194@ \017\000 \130A\000\000\000\000\000\018@\000@3\138\0039\144\000\024H\004\002\160\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\t \000 \025\197\001\156\200\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\140\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\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\128\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\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\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\144\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\000\000\000\000\000\016\000\018\000\000\000\000\000\000\000\000\002\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\245\237^\000\004\000\b\000\000\130\0020\000\000\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\001\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\004\000\000\000\000\000\000\000\000\000\000\000\128\000\b\000\000\000\000\000\000\000\146\000\002A\168P\027\204\128\000B@ \004\000 \128A\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\001\215\181h\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\000 \000\000\000\016\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\128\000\b\000\000\000\000\000\000\000\146\000\002A\168P\027\204\128\000B@ \004\000 \128A\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\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\004\000\000@\000\000\000\000\000\000\004\144\000\018\rB\128\222d\000\002\018\001\000 \001\004\002\b\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\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 \004 \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\0024\133\000\144j\021\199s\225\0003\212\024\001#\2020\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\146\000\002\001\128P\025\204\128\000\194@ \000\000 \128A\000\000\000\000\000\018@\000@0\n\0039\144\000\024H\004\000\000\004\016\b'\175j\240\000\"H@\t\006\129Pg2\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\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$\128\000\128`\020\006s \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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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$\128\000\144h\020\006s \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\146\000\002\001\128P\025\204\128\000\194@ \000\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\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000\000\000I\000\001\000\192(\012\230@\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\000b`\155,\150\000\000\n\000@\128\000\rP\b\n\014\224\000\000\000\000\000\000\000\000\000\000\000\004\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={W\128\001\018B\000H4\138\131;\144\000\bH\004\000\128\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\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\001\156\200\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\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\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\002@\000\006\"\t\176\137`\000\000\160\004\000\000\000\209\000\000\160\238\000\000\000\000\000I\000\001 \208(\012\230@\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\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\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\001\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\004\128\000\012D\019a\018\192\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000\146\000\002\001\128P\025\204\128\000\194@ \000\000 \128A\000\000\000\018\000\0001\016M\132K\000\000\005\000 \000\000\004\136\000\005\003p\000\000\000\000\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000H\000\000\196A6\017,\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\t \000 \024\005\001\156\200\000\012$\002\000\000\002\b\004\016\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000$\128\000\128`\020\006s \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\146\000\002\001\128P\025\204\128\000\194@ \000\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\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000H\000\000\196A6\017,\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\t \000 \024\005\001\156\200\000\012$\002\000\000\002\b\004\016\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000$\128\000\128`\020\006s \0000\144\b\000\000\b \016@\000\000\004\128\000\012D\019a\018\192\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000\146\000\002\001\128P\025\204\128\000\194@ \000\000 \128A\000\000\000\018\000\0001\016M\132K\000\000\005\000 \000\000\004\136\000\005\003p\000\000\000\000\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000H\000\000\196A6\017,\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\t \000 \024\005\001\156\200\000\012$\002\000\000\002\b\004\016\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000$\128\000\144h\020\006s \000\016\144\b\001\128\b \016@\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\146\000\002\001\128P\025\204\128\000\194@ \000\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\002H\000\b\006\001@g2\000\003\t\000\128\000\000\130\001\004\000\000\000H\000\000\196A6\017,\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\t \000 \024\005\001\156\200\000\012$\002\000\000\002\b\004\016\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000$\128\000\128`\020\006s \0000\144\b\000\000\b \016@\000\000\004\128\000\012D\019a\018\192\000\001@\b\000\000\001\"\000\001@\221\235\218\188\000\b\146\016\002A\160T\025\204\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\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\t \b$\026\005\001\156\200\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\015\b\210\020\002\001\140W\029\207\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\000\000\000\002H\000\t\006\129@g2\000\001\t\000\128\016\000\130\001\004\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\006s \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\001\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\255\253\127\004\004i\n\001\000\196+\142\231\194\000g\1680\000F\148@\160\159\255\175\224\128\141!@$\026\133\241\220\248@\012\245\006\000H\210\138\020\019\255\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\015\255\223\248xF\144\160\016\012b\248\238|`\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?\255_\193\001\026B\128@1\138\227\185\240\128\025\234\012\000\017\165\016('\255\235\248 #HP\t\006\161|w>\016\003=A\128\0184\162\133\004\255\253\127\004\004i\n\001 \212+\142\231\194\000g\1680\002F\148A\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000I\000\001 \208(\012\230@\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\001\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\002\0004\129\000\128b\020Gs!\0003\212\024\000#\n P@\000\000\000\000\000\000\000\000\000\000\000\004\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000A \208(\012\230@\000! \016\002\000\016@ \128\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\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\004\144\000\018\r\002\128\206d\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\016\000\000\000\000\001\000\026@\128@1\n#\185\144\128\025\234\012\000\017\133\016( \000\000\000 \003H\016\b\006!Dw2\016\003=A\128\0020\162\005\004\000\000\000\000\000\000\000\000\000\002\000\000@\000\000\000 \000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000@\000\b\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\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\016\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000 \000\004\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\004@\000\000\000\000\000\000\000\000\000\000\002\000\000@\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\002 \000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\016\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\000\144h\020\006s \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\128\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\245\237^\000\004I\b\001 \210*\012\238@\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\001\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\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\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\031\255\175\224\128\141!@$\026\133q\220\248\192\012\245\006\000H\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\223\248xF\144\160\016\012b\248\238|`\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\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\255\253\127\004\004i\n\001\000\198+\142\231\198\000g\1680\000F\148@\160\128\000\000\000\000\000\000\000\004\002\000\000\000\000\128\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\127\254\191\130\0024\133\000\128c\021\199s\227\0003\212\024\000#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\000\000\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\00010M\150K\000\016\005\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@ \016\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\127\254\191\130\0024\133\000\144j\021\199s\227\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\001\255\250\254\b\b\210\020\002\001\140W\029\207\140\000\207P`\000\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\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\237^\000\004I\b\001 \210*\012\238@\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\001\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\004\000\004\000\000F\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\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\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\b\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\016\000 \000\002\b\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\004\000\000\000\000\000\000\000\000\004\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\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \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\b\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\016\000 \000\002\b\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\004\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\016\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\002H\000\t\006\161@o2\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\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\007^\213\160\000@\000\128\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\128\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\002\000\000 \000\000\000\000\000\000\002H\000\t\006\161@o2\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\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?\255_\193\001\026B\128H5\n\227\185\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\b\004\002\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\127\254\191\130\0024\133\000\144j\021\199s\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\128\000\128\000\b\192\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\004\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\128\r @ \024\133\017\220\200@\012\245\006\000\b\194\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\000\000\000\002\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\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\016\000\031\255\191\240\128\141!\192&\026\133\241\220\248\192\028\245&\000\200\242\142\181\152\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\015\255\215\240@F\144\160\016\012b\248\238| \006z\131\000\004yG\026\b\000\000\000\000\000\000\000\000@ \000\000\000\000\000\000\000\000\004\000\000\000\000?\255_\193\001\026B\128@1\139\227\185\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@ \016\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\003\255\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\015\255\215\240@F\144\160\018\rB\248\238| \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\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\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\b\000\000\000\000\000\000\000\000\000\000 \000?\255_\193\001\026B\128@1\139\227\185\240\128\025\234\012\000\017\165\020( \000\000\000\000\000\000\000\001\000\128 \000\000\000\000\000\000\000\016\000\000\128\000\255\253\127\004\004i\n\001\000\198/\142\231\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\004\002\001\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?\255_\193\001\026B\128H5\011\227\185\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\004\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 \002\0020\000\000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000@\003\001\000\000\000\000\000\b\000\000\000 \000\000@\005\255\250\254\b\b\210\020\002\001\140W\029\207\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\000\000\000\000\000\000\"\001\128\128\000\000\000\000\004\000\000\000\016\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\031\255\175\224\128\141!\192&\026\133q\220\248@\028\245\006\000H\210\136\148\027\255\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\001\255\250\254\b\b\210\028\002a\168W\029\207\132\001\207P`\004\141(\137A\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\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\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\b\000\000\000\000\000\000\000\000\000\000 \000?\255_\193\001\026B\128H5\011\227\185\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\004\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\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\128@ \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\007\255\235\248 #HP\t\006\161\\w>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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002$\133\000\128`\021\006s\224\0000\144\b\000\000J P@\000\000\000\000\004\144\004\018\r\002\128\206d\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\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\247\253\127\000\004I\n\001\000\192*\012\231\192\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\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\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={W\128\001\000\002\000\000 \000\128\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\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\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\b\192\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\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\b\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\003\215\181x\000\016\000 \000\002\b\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\004\000\000\000\000\000\000\000\000\004\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\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \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\b\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$\128\000\144j\020\006\243 \000\016\144\b\001\000\b \016@\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\029{V\128\001\000\002\000\000\000\000\128\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\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\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\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\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=\255_\192\001\018B\128@0\n\1319\240\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\000H\000\000\192\193\006I,\000@\016\000\001 \000\024\160\016\016\017\128\000\000\000\000\000\000\b\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$\128\000\144j\020\006\243 \000\016\144\b\001\000\b \016@\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\002$\132\000\144i\021\006w \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\128\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\002\000\002\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\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\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\004\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\b\000\016\000\001\004\004`\000\000\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\002\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\t \000$\026\133\001\188\200\000\004$\002\000@\002\b\004\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\004\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\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \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\014\189\171@\000\128\001\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\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\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\146\000\002A\168P\027\204\128\000B@ \004\000 \128A\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\004\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\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\128\000\000\b\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\016\001\001\024\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\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\255\253\127\004\004i\n\001\000\198+\142\231\194\000g\1680\000F\148@\160\128\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\004\144\000\018\r\002\128\206d\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\002\000\000\000\000?\255_\193\001\026B\128H5\n\227\185\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\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\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\015\255\215\240\000@\000\128\000\b\000 \000\024\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\000\000\000\000\000\000\004\000\000\000\000\000\000\000\002\255\253\127\004\004i\n\001\000\198+\142\231\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\003\255\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\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\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\000I\000\001 \208(\012\230@\000! \016\002\000\016@ \128\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\b\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\004\144\000\018\r\002\128\206d\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\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\004\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\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\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\001\000\026@\128@1\n#\185\144\128\025\234\012\000\017\133\016( \000\000\000\000\000\000 \000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\002\000\000\000\004\000i\002\001\000\196(\142\230B\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\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\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\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\000I\000\001 \208(\012\230@\000! \016\002\000\016@ \128\000\000\000\000\000\000\128\000\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\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\015\255\215\240\000@\000\128\000\b\000 \000\024\000\000\002\000\000\000\b\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\191\255_\192\001\000\002\000\000 \000\128\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\255\253\127\000\004\000\b\000\000\128\002\000\001\128\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\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\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\000\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@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\001\004\137 B\001\000\000\004\128\004)B\144\0001\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\016\000\000\000\000\000\000\000\000\016\001\000P\016H\130\000\002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\b\002\128\128D\016\000\016\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\016\000\000\000\000\000\000\000@\000\000\000 \002\000\160 \145\004\000\004\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\b\000\000\000\000\002\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\016\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\b\000\000\000\000\000\000\002 \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\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\030\189\171\192\001\192A\"\b\016\128@\000\001 \001\n@\164\000\012`\000\003\215\181x\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\000 \002\000\160 \145\132\000\004\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\128\b\002\128\130D\016\000\016\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\128\000\000\000@\004\001@A\"\b\000\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\000\000\000\000\000\000\000\000\000\000\000\128\000\000\016\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\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\b\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\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\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\030\189\171\192\001\192A \b\016\128@\000\001 \001\n@\164\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\000z\246\175\000\007\001\004\000 B\001\000\000\004\128\004)\002\144\0000\128\000\000\000 \002\000\160 \145\004\000\004\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\b\000\000\000\000\000\000\000 @\000\000\016\001\000P\016H\130\000\002\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\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\001\000\016\005\001\004\136 \000 \000\000\004\128\004;@\144\000!\128\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\128\b\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000P\016H\130\000\002\000\000\001H\000C\180\t\000\002\028\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\160 \145\004\000\004\000\000\000\144\000\135h\018\000\0040\000\000\000\004\000@\020\004\018 \128\016\128\000\000R\000\016\237\002@\000\135\000\000\000\000\128\b\002\128\130D\016\000\016\000\000\002@\n\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\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\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\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\030\189\171\192\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@\128\015^\213\224\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\016\001\000P\016H\130\000\003\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\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(\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\002\000\000\000\000\000\000\000\b\000\000\000\004\000@\020\004\018 \128\000\128\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\012\000\000\000\000\b\000\000\001\000\000\000\000\000\000\000\004\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 \002\000\160 \145\004\000D\000\000\000\144\000\135h\018\000\0040\000\000\000\004\000@\020\004\018 \128\000\128\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\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\000P\016H\130\000\002\000\000\000H\000C\180\t\000\002\024\000\000\000\002\000 \011\130\t\016@\001@\000\000)\000\bv\129 \000C\128\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\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\004\000@\020\004\018 \128\000\128\000\000\018\000\016\237\002@\000\134\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\002\000 J\002\t\016@\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\016\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\001\000\000\000\000\128\b\018\128\130D\016\000\016\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\001\128\000\000\000\001\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\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\160 \145\004\000\004\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\000\000\000\000\000\000\000\000\000\000\016\001\000P\016H\130\000\002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000P\b@\128(\b$A\000\001\128\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\005\001\004\136 \0000\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\004\000@\020\004\018 \128\000\192\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\016\001\000P\144H\130\000J\000\000\001H\000C\180\t\000\002\028\000\000\000\002\000 \n\002\t\016@\000@\000\000\t\000(v\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\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\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\016\001\000P\016H\130\000\003\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\001@A\"\b\000\012\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\002\000\000\000\000\000\000\000\b\000\000\000\004\000@\020\004\018 \128\000\128\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\128\000\000\000\b\000\000\001\000\000\000\000\000\000\000\004\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\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\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\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\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\002\004\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\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\004\000@\020\004\018 \128\000\128\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\001\000\000\000\000\000\000\000\004\000\000\000\002\000 \n\002\t\016@\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\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\002\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\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\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\001@A\"\b\000\b\000\000\001 \001\014\208$\000\b`\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\160 \145\004\000\004\000\000\000\144\000\135h\018\000\0040\000\000\000\004\000@\023\004\018 \128\002\128\000\000R\000\016\237\002@\000\135\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\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\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\001\235\222\188@\028\004\018 \129\b\132\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\016\001\000P\016\b\130\000\002\000\000\000H\000C\180\t\000\002\024\000\000\000\002\000 \011\146\t\016@\t`\000\000)\000\bv\129 \000C\128\000\000\000@\004\001@A\"\b\001\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\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 \002\000\160 \145\004\000\004\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\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\002\000\000\000\000\000\000\003\215\189x\1288\b$A\002\017\136\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\005\001\004\136 \000 \000\000\004\128\004;@\144\000!\128\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\128\b\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\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\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\001\000\016\005\001\004\136 \000 \000\000\004\128\004;@\144\000!\128\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@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\146\000\002A\160p\025\204\128\000B@ \004\000 \128A\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\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\146\000\002A\160P\025\204\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\031\255\191\240\128\141!@$\030\135q\220\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\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\007\255\239\252 #HP\t\007\161\\w>\016\003=I\128\0184\162\005f\247\253\255\128\004\000\b\000\000\128\002\000\000\000\000\000\001\000\000\000\000\000\000\030\255\191\240\000\128\001\000\000\016\000@\000\000\000\000\000 \000\000\000\000\000\003\223\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\000!\n\024\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\004!C\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@\000\000\000\000\000\000\016\133\012\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?\255_\193\225\026B\128@1\138\227\185\240\128\025\234\012\000\017\165\016('\255\235\248 #HP\b\0061\\w>\016\003=A\128\0024\162\005\004\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\128\141!@ \024\197q\220\248@\012\245\006\000\b\210\136\021\152\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\000\000\128@ \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\007\255\235\248 #HP\t\006\161\\w>\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\t \000 \025\197\001\156\200\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\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\015\255\215\240xF\144\160\016\012b\184\238| \006z\131\000\004iD\n\t\255\250\254\b\b\210\020\002\001\140W\029\207\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\001\000\007\255\235\248 #HP\b\0061\\w>\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\031\255\175\224\240\141!@ \024\197q\220\248@\012\245\006\000\b\210\136\020\019\255\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=\255\127\224\001\000\002\000\000 \000\128\000\000\000\000\b@\000\000\000\000\000\000\016\133\012\000\000\000\000\000\002\000\000#\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000F\000\000\000\002\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={W\128\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\000\002\000\007\175j\240\000 \000@\000\004\016\017\128\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\017\000\003\215\181x\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\000\000\000 \000z\246\175\000\002\000\004\000\000A\001\024\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\b\128\001\235\218\188\000\b\000\016\000\001\004\004`\000\000\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\136\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\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\b\128\001\235\218\188\000\b\000\016\000\001\004\004`\000\000\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\004\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\b\210\020\002A\168W\029\207\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@\000\000\000\000\000\000\000\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\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\003\255\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!\n\024\000\000\000\004\000\004\000\000F\000\000\000\002\016\000\000\000\000\000\196\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\000\000\000\000\000\000\000$\128\000\144h\028\006s \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\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\000\000\000\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\001\156\200\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\127\254\255\194\0024\133\000\144z\029\199s\225\0003\212\152\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\191\240\128\141!@$\030\133q\220\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\127\254\255\194\0024\133\000\128c\021\199s\225\0003\212\152\000#J V`\000\000\000\000\000\000\000\002\001\000\000\000\000\000\000\000\000\000 \000\000\000\197\255\251\255\b\b\210\020\002\001\140W\029\207\132\000\207R`\000\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\007\255\239\252 #HP\t\006\161\\w>\016\003=I\128\0184\162\005f\255\253\255\132\004i\n\001\000\198+\142\231\194\000g\1690\000F\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\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\015\255\223\248@F\144\160\018\rB\184\238| \006z\147\000$iD\n\204\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\225\001\026B\128H5\n\227\185\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\255\253\255\132\004i\n\001 \212+\142\231\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\bB\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\000\000\255\253\255\132\004i\n\001 \212+\142\231\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\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\015\255\223\248@F\144\160\018\rB\184\238| \006z\147\000$iD\n\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\132(`\000\000\000\016\000\016\000\001\024\000\000\000\b@\000\000\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\004\000\002\000\000\000\000\000\000\000\000\002\004\137p\003\000\000\000\128\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\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\128\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\016 \000\000\000\000\000\000\000\016\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\b\000\000@\128\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\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\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\004\000\000\000\000\000\000\000\000\000\000\000\000\b\001\000\000\000\000\000\000\001\000\000\b\016\000\000\000\000\000\000\000\b\000\000\000\004\000\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\004\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\b\000\000\000\001\000\000\000\000\000\000\000\000\016`\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\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\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\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\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\004\000\000\000\000\000\000\000\000\000\000\000\000\bp\003\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\004\024\001\128\000\000@\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\131\000 \000\000\b\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\002\012\000\128\004\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 \192\b\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\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\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\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\135\0000\000\000\b\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\016`\006\000\000\001\000\000\000\000\001\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\000A\128\016\000\000\004\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\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\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\131\0000\000\000\b\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\016`\004\000\000\001\000\000\000\000\000\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\000A\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\128\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\004\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\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\b\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\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\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\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\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\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\016\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\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\001\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\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\016\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") + (188, "\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\003\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\0000\000\000\000\000\000\000\000\000\000\000\000\128\016`\000\000 C\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\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\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\007\175j\240\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\016\133\012\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\tP\208\002\128\131T\016\018\025\129\024\003@\"\029\224H\000\016\230C\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\017\173\028\000\000\0001\000\001\000\024\017\128\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\001\nP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\016\133\012\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\001\026\209\192\000\000\003\016\000\016\001\129\024\001\000 \b@\000\000\000&C\016\016\133\012\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\016\165\012\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\016\133\012\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\016\133\012\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\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\016\133\012\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\016\133\012\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\016\133\012\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\016\133\012\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\016\165\012\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\016\133\012\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\016\133\012\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\016\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\016\000\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\b\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\004\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\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\016\000\000\000\000 \000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\0001\016\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\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\b\000\001\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\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\b\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\b\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\002\004\000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\016\133\012\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\128\000\016\000\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\004\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\016\133\012\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\000z\246\175\000\001\000\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128\128\004\000\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\000\007\175j\240\004\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\000@\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\016\000 \000\002\000\b\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\016\000\000\000\b\000\000\000\000\000\000\007\175j\240\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\000\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\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\007\175j\240\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\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\002\000\000\"\000\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\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \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\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b'\175j\240\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\n\1319\144\000\bH\004\000\128\004\016\b \000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\018@\000H4\n\0039\144\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\0039\144\000\bH\004\000\128\004\016\b \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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\0039\144\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\018@\000H4\n\0039\144\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \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\002@\000\003\019\004\217d\176\000\000P\002\004\000\000n\128B|w\000\000\000\000\000\000\000\000\000\000\000\000\016\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\000z\246\175\000\001\018B\000H4\138\131;\144\000\bH\004\000\128\004\018\b'\175j\240\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\0039\144\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\00010M\150K\000\000\005\000 @\000\006\232\004'\199p\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\005\000 \000\000\006\200\000'\135p\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\005\000 \000\000\006\200\000'\135p\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\0001\016M\132K\000\000\005\000 \000\000\004\200\000'\131p\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\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\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\018@\000H4\n\0039\144\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\192\004\016\b \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\0039\144\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\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\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\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\016\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\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\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\000\000\000\000\000\000\004\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\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\001\000\000\000\000\000\000\000\000\000\000\004\000\007\175j\240\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\003\175j\208\000\016\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\018\129\000\000\000\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\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\016\165\012\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\016\133\012\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\016\133\012\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\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\016\133\012\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\016\133\012\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\016\133\012\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\016\133\012\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\001(\016\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\001\nP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\016\133\012\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\001\nP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\016\133\012\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\001\000\000\016\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\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\016\133\012\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\016\133\012\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\128\000\016\000\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\004\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\016\133\012\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\016\133\012\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\016\133\012\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\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\016\133\012\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\016\133\012\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128\128\004\000\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\004\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\000z\246\175\000\001\000\002\000\000 \128\128\004\000\000\000\b\000\000\000\000\000@\007\175j\240\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\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\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\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\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\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\000\002\000\007\175j\240\000\016\000 \000\002\b\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\007\175j\240\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\000\000\000 \000z\246\175\000\001\000\002\000\000 \128\140\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\002 \000z\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\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\016\000\000\016\000\000\000\b\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\016\000\000\000\b\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\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\016\000 \000\002\b\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\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\007\175j\240\000\016\000 \000\002\b\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\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\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:\246\173\000\001\000\002\000\000\000\000\128\000\000\000\000\b\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\246\175\000\001\000\002\000\000 \128\128\004\000\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\004\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\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\001\bP\192\000\000\001\016\000\017\t\001\024\001\000 \b@\000\000\000&C\023\175j\240\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\016\133\012\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\b\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\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\000z\246\175\000\001\018B\000H4\n\1319\144\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\0039\144\000\bH\004\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\018@\000H4\n\0039\144\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\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\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\0000 E\146J\000\000\004\000\000@\000\006\168\004#\004`\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\007\175j\240\000\017$ \004\131H\1683\185\000\000\132\128@\b\000A \130z\246\175\000\001\018B\000H4\138\131;\144\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\007\175j\240\000\017$ \004\131H\1683\185\000\000\132\128@\000\000A \130z\246\175\000\001\018B\000H4\138\131;\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000h\128\0020F\000\000\000\000\000\018@\000H4\n\0039\144\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\018@\000H4\n\0039\144\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\192\004\016\b \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\0039\144\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\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\017$ \004\131H\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\007\175j\240\000\017$ \004\131H\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\018@\000H4\n\0039\144\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\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\016\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\004\000\000\000\000\000\000\000\000\000\000\128\000\001\000\000\000\000\000\004\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@\b\000A\000\130\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\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\128\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\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\002\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\007\175j\240\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\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\007\175j\240\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\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\007\175j\240\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\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\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\016\000\002\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\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\001\bP\192\000\000\001\016\000\017\t\001\024\001\000 \b@\000\000\000&C\023\175j\240\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\016\133\012\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\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\016\133\012\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\001\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\023\175j\240\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\007\175j\240\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\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\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\007\255\235\248 Q\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130z\246\175\000\001\000\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\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\001(\016\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\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\003\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000(\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\001\000\016\002\128\130D\016\002\024\128\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\001\000\016\002\128\130D\016\002\024\128\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\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\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\001\000\016\002\128\130D\016\002\024\128\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\001\000\016\002\128\130D\016\002\024\128\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\001\000\016\002\128\130D\016\002\024\128\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\018\129\000\000\000\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\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\0000\001\000(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024\128\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\016\001\000(\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\016\001\000(\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\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\016\001\000(\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\016\001\000(\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\016\001\000(\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\016\001\000(\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\0000\001\000(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024\128\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\016\001\000(\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\016\001\000(\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\016\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\016\000\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\004\000\000\001\000\016\002\128\130D\016\002\024\128\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\001\000\016\002\128\130D\016\003\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\b\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\016\001\000(\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\001\000\016\002\128\130D\016\002\024\128\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\001\000\016\002\128\130D\016\002\024\128\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\001\000\016\002\128\130D\016\002\024\128\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\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\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\000z\246\175\000\001\000\002\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\016\001\000(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128\128\004\000\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\004\000\000\001\000\016\002\128\130D\016\002\024\128\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\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\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\000\128\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\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\001\000\000\016\000\000\000\b\000\000\000\000\000\000\007\175j\240\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\016\001\000(\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\016\001\000(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128\128\004\000\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\004\000\000\001\000\016\002\128\130D\016\002\024\128\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\003\175j\208\000\016\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\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\018\129\000\000\000\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\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\0000\001\000(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024\128\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\016\001\000(\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\016\001\000(\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\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\016\001\000(\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\016\001\000(\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\016\001\000(\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\016\001\000(\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\001(\016\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\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\003\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000(\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\001\000\016\002\128\130D\016\002\024\128\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\001\000\016\002\128\130D\016\002\024\128\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\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\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\001\000\016\002\128\130D\016\002\024\128\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\001\000\016\002\128\130D\016\002\024\128\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\001\000\016\002\128\130D\016\002\024\128\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\003\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000(\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\001\000\016\002\128\130D\016\002\024\128\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\001\000\016\002\128\130D\016\002\024\128\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\001\000\000\016\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\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\016\001\000(\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\016\001\000(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\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\004\000\000\001\000\016\002\128\130D\016\002\024\128\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\016\001\000(\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\016\001\000(\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\016\001\000(\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\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\016\001\000(\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\016\001\000(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128\128\004\000\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\004\000\000\001\000\016\002\128\130D\016\002\024\128\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\016\000\001\000\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128\128\004\000\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\004\000\000\001\000\016\002\128\130D\016\002\024\128\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\001\000\016\002\128\130D\016\003\024\128\000\002@\002\029\160H\000\016\192\000\007\175j\240\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\016\001\000(\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\000\000\000\000\016\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\002\000\000\000\000\000 A\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\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\016\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\002\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\254\191\128\001\000\002\000\000 \000\128\000`\000\000\b\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\000z\246\175\000\001\000\002\000\000 \000\128\000\000\000\000\b\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\002\000\000\000\000\000\000\000\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\n\1319\144\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\0039\144\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\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\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\002\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\000\000\000\000\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\018@\000H4\n\0039\144\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\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\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\0000 A\146J\000\000\004\000\000@\000\004(\004 @`\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\007\175j\240\000\017$ \004\131H\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\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\018@\000H4\n\0039\144\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\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\016\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\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\128\000\000\128\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\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\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\018@\000@3\138\0039\144\000\024H\004\002\160\004\016\b \000\000\002@\000\003\019\004\217d\176\000\000P\002\004\000\000n\128BTw\000\000\000\000@\000\000\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\018@\000H5\n\003y\144\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\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\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\002@\000\003\003\004\025$\176\000\000@\000\004\000\000f\128BDF\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@3\n\0039\144\000\024H\004\002 \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\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\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\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\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\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\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\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\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\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\002\004\000\000\000\000\000\000\018@\000@3\138\0039\144\000\024H\004\002\160\004\016H \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\018@\000@3\138\0039\144\000\024H\004\002\160\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\016\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\016\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\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\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\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\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\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\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\016\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\018@\000H5\n\003y\144\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\001\000\001 \000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\016\000\018\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\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\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\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\016\000\000\000\000\000\000\000\000\000\000\002\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\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\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:\246\173\000\001\000\002\000\000\000\000\128\000\000\000\000\b\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\016\000\000\000\000\000\000\000\000\000\000\002\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\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\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\016\000\000\000\b\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\000\018@\000H5\n\003y\144\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\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\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\007\255\235\248 Q\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\n\1319\144\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\016H4\n\0039\144\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\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\127\254\191\131\197\026B\128@1\138\227\185\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \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\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\007\255\235\248 Q\164(\004\003\016\174;\159\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128H5\011\227\185\240\128\025\234\012\000\145\165\020('\175j\240\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\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\002\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\018@\000@0\n\0039\144\000\024H\004\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\018@\000H4\n\0039\144\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\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\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\00010M\150K\000\000\005\000 @\000\006\168\004\005\007p\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\007\175j\240\000\017$ \004\131H\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\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\018@\000H4\n\0039\144\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\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\016\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\0001\016M\132K\000\000\005\000 \000\000\006\136\000\005\007p\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\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\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\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\192\004\016\b \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\0039\144\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\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\248N\204\000\000\000\000\000\000\004\178\007\130\000\015\007\182N\158\000\000\000\000\006\246\000\000\007\b\007\216N\158\007L\000\000\000\000\000\000\001rO\134\000\000\000\000\000\000\007V\b`\000\000\bd\000\000\027\142\002\218KH\007\154\019\194\000\000O\182KH\007\158\019\194\000\000\000\000\000\127\b\154\000\000\000\000\000\000\0008\000\000\000\000\0216\000\000\000\000\000\000\000\000\000\000\000\000\000\000P\0066\234\007\184\000\000\000\000P\006\000\000P\006K&\000\000\000\000C~\000\127\000\000\0216\003F\025n\0216\"\1386\234\000\0006\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Q\176K&Z\182K&[HK&[\182K&\000\000K&\000\000K&\\\030K&\\\140K&\\\246K&]dK&]\204K&^:6\234\007\228K&\000\000K&^\164K&_\018K&_z\003t\022\158\000\000\000\000\003\138\024\006\000\000\000\000\000\000\007\190\000\0006\234\007\188\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\196\000\0006\234\007\200\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\000\007\208\000\000\000\000\007\212K&\000\000\000\000\007\214\000\000\000zH(\b\1486\234\b\\\000\000\000\000K&\000z\000\000\007\226\000\000\007\2326\234\000\000\026x\007\234\000\000\000\000\b\190\000\000\026x\007\250\000\000\000\000\007\248\000\000\000\000\005\172\000\000\b\234\000\000P\182KH\b\n\019\194\000\000\000\000\b\144\000\000\b\022\019\194\000\000\000\000\002\2040\244\000\0000\244\000\000\b\n\000\000\002\204\000\000\017n%B\019\156\000\000\006$\019\156\000\000\019\156\019\156\000\000\000\000\019\156\000\000\019\156\000\000\bN\b\134\019\156\000\000\019\156\000\000\019\156\000\000\019\156\000\000\006\210\019\156\000\000\019\188\019\156\000\000\000\000\019\156\000\000\019\156\000\000\b^\b\140\019\156\000\000\019\156\000\000\019\156\000\000\019\156\000\000\019\194\019\156\000\000\000\000\019\156\000\000\019\156\000\000\002\236\000*\b8\019\156\000\000\019\188\000*\b<\019\156\000\000\000\000\019\156\000\000\019\156\000\000\019\156\000\000\bl\b\154\019\156\000\0000\244\bJ\000\000\019\194KH\bD\019\156\000\000\000\000\000\015\000\000\001D\000\015\000\000\000\000\000\000\t2\000\000\0040KH\bN\019\156\000\0002\242KH\bP\019\156\000\000\000\000G \019\156\000\000\007\142\019\156\000\000\019\198\019\156\000\000\000\000\019\156\000\000\019\156\000\000\b\136\b\184\019\156\000\000\019\156\000\000\019\156\000\000\019\156\000\000\b@\019\156\000\0002\242\019\156\000\000\000\000\019\156\000\000\019\156\000\000\b\146\b\192\019\156\000\000\019\156\000\000\019\156\000\000\019\156\000\000D\030\019\156\000\000\000\000\019\156\000\000\019\156\000\000\004~\000*\bh\019\156\000\000D\030\000*\bj\019\156\000\000\000\000\019\156\000\000\019\156\000\000\019\156\000\000\b\158\b\204\019\156\000\000D:KH\bt\019\156\000\000\000\000\006ZKH\bv\019\156\000\000DdKH\bx\019\156\000\000\000\000\000\000\000\000\000\000\000\000\tH6\234\b\132\029\220\tL6\234\b\140\tL0\244\000\000\000\000\000\0000\244\000\127\000\000\002\2066\2340\218\000\000SN6\234\b\150\000\000\026x\b\150\000\000\b\156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000S\2466\234\000\000S\246\000\000S\246T\128\026x\b\160T\128\000\000\000\000ZR\000\127\000\000\0216\b\162\000\0006\234\b\162\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\234\000\b6\234\b\166\000\000\000\0000\2180\218 \248\001\228\tf6\234\000\000\t,\000\000\000\000\000\127\000\000\"\014\000\000\b\2260\218\000\000\b\2220\218\000\000\000\180\000\000\000\000\028\018T\128\029TT\128!\172T\1284\164T\128\000\000T\128\000\000T\128U\180T\128_\232T\128`\224Ub?@Ub@T\026x\t\"\000\000\000\000B\210\000\000\n\014\000\000\001r\t\2306\234\t\172\000\000\t\2366\234\t\178\000\000\000\003\000\000\007B\007B\001r\000\000\001r\000\000\017n\007B\007B\000\000\000\000\000\000\000\000\000\000\000\000\t\2526\234\t8\029\220\030\180\000\127\n\"\000\000\n\006E&\n(E&\n*6\234\tF\029\220\029\220\006\244\006\220\005\198\000\020\006\220\000\000\000\000\006d\007X\000\000\006x\bh\000\000\000\000\000\000\000\000\000\000\tH\000\000\000\000\n0\000\000\n2\000\000\000\000\nl\n\0246\234\tT\n>\000\000\n \0216\t\\\029\220\000\000\000\000\t\136\000\000\000C\000\000\005\206\000\000\000\000\001r\000\000\t\222\000\000\r\018\0016\000\000\r\018\000\000\000\000\"\014\000\000\0016\000\000\000\000\n*\000\000\r\018\000\000\n,\0216\tj\nT\000\000\001\166\000\000\n$\000\127\tr\n:N\158\tx\004\158\000\0006\234\nb\000\000\nJN\158\t\134\nn\000\000\00506\234\nv\000\000\n~\000\000\027\142\000\127\005\1786\234\n\128\000\000\n\140\000\000\000\000\000\000\n*\000\000\000\000\0016\000\000\007B\000\000\001\200\000\000\000\000\001`\030\180\000\000\001`\000\000\000\000\t\170\000\000\002\170\000\003\029\220\000\000\004Z\000Q\004Z\000\000\000C\000\000\007B\000\000\007B\000\000\000\000\000\000\t\164\000\000\000\000\t\178\000\000\001~\005\206\000I\004Z\000\000\000\000\000\000\000\150\000\000\007B\000\000\001~\000\000\000\000\007 \000Q\017n\000\000\018\006\000\000\b\182\017n\000\000\000\000\b\182\000\000\000\000\t\176\000\000\000\000\t\182\000\000\002x\007B\000\000\002x\000\000\000\000\n4\000\000\0016\000\000\007B\000\000\000\000\000\000\018\214E\164\000\000\n\158\000\000\018\214\000\000\n\160\000\000\n\162\000\0000\244\000\127\004\216\000\0006\234\n\164\000\000\006\002\nt\000\127\t\194\n\142N\158\t\202\005\250\000\0006\234\n\186\000\000\006f\000\0006\234\n\190\000\000\027\142\000\127\006\154\000\0006\234\n\194\000\000\004\148\018\214\000\000\"\014\007R\000\0006\234\n\196\000\000\000\000\000\000\003\128\000\000\n\166\0216\t\226\n\202\000\000\003\018\000\000\n\158\000\127\t\236\n\180N\158\t\240\007v\000\0006\234\n\216\000\000\007\190\000\0006\234\n\218\000\000\027\142\000\127\007\192\000\0006\234\n\220\000\000\004\148\000\000\000\000\t\250\000\000\003\128\b\148\nx\000\000\000\000\000\000\nz\000\000\0044\000\003\000\000\017n\n\216\000\000\000\0006\234\n2\007B\000\000\n\004\000\000\002\244\000\0000\244\000\000\000\000\003\202\017n\000\000\017n\000\000\t\246\000\000\003\202\000\0006\234\003\2086\234\000\0006\234\000\000\t\250\000\000\003\208\000\0006\234\003\208\t\252\000\000\029\220\004\162\029\220\000\000\029\220\000\000\n\000\000\000\004\162\000\0006\234\003\208\n\004\000\0000\244\005@0\244\000\0000\244\000\000\n\006\000\000\005@\000\0006\234\003\208\n\b\000\000\000\000\0290\000\000\000\000\n|\023\222\000\000\000\000\000\000\000\000\000\000\nP\004Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\023\222\000\000\000\n\007f\000\000\nR\000\127\000\000\000\000\000\000\006T\007f\000\000\000\000\000\000\000\000\n\176\000\000\000\000\000\000\000\000 \162#\130\000\000\022v\000\000\023\222\000\000\006\176\023\222\000\000\006\220\001\246\001\246\000\000\006\218\001\246\000\000\n(\000\000\000\000\000\000\000\000\n\180\000\000#\252\000\000%B\023\222\000\000\004,\023\222\000\000\n\184\000\000\023\222\n\188\000\000W\238A\154\n\194\000\000\n\196\000\000X>H\194@\212\000\000\000\000\n^\023\222\n\252\000\000\n\254\000\000\011\000\000\0000\244\000\000\006\2440\244\000\000\nx\019\156\000\000\000\205\023\222\000\000\006\210\023\222\000\000\001\136\011\130\000\000\011\132\000\000\023\222\023\222\n\128\000\000\000\000\000\000\000\000\000\000\000\000\011\012\000\000Y\004@\212\011\014\000\000\011\016\000\000\023\222\011\018\000\000@\212\n\186\000\127\000\000\000\000\007\158@\212\000\000\001\136\000\000\011\024\000\000\023\222\011\026\000\000\023\222\011 \000\000Fv\019\156\000\000\019\156\000\000A\154@\212\n\156\023\222\011&\000\000\011*\000\000\019\156\000\000VT\000\000\000\000\007\164\023\222\000\000\002\242\003\166\001\246\n\162\000\000\000\000\003\156\002~\000\000\000\000\000\000\007>\002~\000\000\n\164\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\222\000\000\007\178\023\222\000\000\001\250\006\220\000\127\n\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0114\000\000\0118\000\000\023\222\011:\000\000YT@\212\011<\000\000\011@\000\000\023\222\011B\000\000\027\224\n\232Z\0262\242V\178\n\190\000\000\023\222\011J\000\000\011L\000\000\011\028\027\224\023\222\011P\000\000\023\222\011R\000\000\011V\000\000\023\222\011X\000\000\000\127\n\200\000\000\000\000\0290\000\000\000\000\002\150\011\194\000\000\000\000\000\235\000\000\000\000\000\0006\234\000\000\000\000\000\000\002\230\000\000\005\168\000\000\000\000\000\000\004ZB\236B\236B\236\000\000\003\236\003\236\003\236\003\236\000\000\000\000\000\000\000\000\000\000\000\000\001r\017n\011\184\014\134\000\150\000\000\000\000\000\150\000\000\n*\000\0000\218\n\226\000\000\001r\017n\n\234\015\250\000\000\001r\014\134\000\000\000\000\000\000B\236\006&\000\000\000\000\000\000\011:\005\172\011\190Q\174Q\174\000\000\006\134X\002Q\174\007\154Rf\000\000\000\000\b\136\011\174\000\127\000\000\007\166R\148\000\000\000\000\000\000\000\000\000\000\n\252\011\194\007B\011\006\000\000\000\150\000\000\n*\000\000\028\246\001@\000\000\000\000\011\192\000\000\000\000\002\150\000\000\006\254\000\000\000\000\000\0006\234\000\000\002\230\000\000\007(\000\000\000\000\000\000\005\206\000\000\011\158\004J\011\158\000\000\007B\011\158\000\000\004J\000\000\007B\000\000\007B\000\000\007B\000\000\021b\000\000\000\000\000\000\000\000\000\000\007B\000\000\004J\000\000\007B\000\000$\030\000\000\000\000\000\220\011H\000\127\007\246\011\234\001V\000\000\001V\012\020\000\000\012\026\000\000\012\028\000\000\000\000\003:\001V\003z\001V\000\000\000\000\005\132\004\002\011\028\000\000\011\030\000\000\011\\\000\127\004\002\011\"\000\000\000\220\012&\000\000\004\016\006b\012<\005\n\012<\000\000\000\000\006\248\000\127\000\000\004\242\000\000\000\000\000\232\000\000\011,\000\000\000\000\000\000\011r\000\127\004\002\011:\000\000\000\000\000\220\004\016\006b\006\248\004\242\000\232\011>\000\000\004\016\006b\006\248\004\242\000\232\011@\000\000\003@\002\232\011^\000\127\011X\006\\\b\"\011\134\000\127\000\000\011\136\000\127\000\000\011\230\000\000\011l\003\006\011f\006\\\011\236\000\000\011j\006\\\011\240\000\000\000\000\006\\\000\000\011\242\000\000"), (16, "\r1\r1\r1\r1\r1\r1\r1\r1\r1\r1\r1\r1\r1\r1\b1\r1\r1\r1\r1\r1\r1\r1\r1\r1\r1\017\214\000&\016\138\b1\r1\t\157\016\138\005\157\024\158\016\138\001B\016\190\r1\0007\000;\016\190\r1\r1\016\190\r1\016\178\000*\r1\005\129\014z\005e\005\157\r1\r1\r1\000N\b\230\022\022\022>\022N\022v\022\134\022\174\r1\027\031\027#\r1\r1\000\n\027'\003\218\004\n\r1\r1\004\018\r1\004\"\r1\001J\016\182\n:\b1\r1\004*\r1\r1\r1\r1\r1\017F\001^\001B\r1\r1\r1\001b\r1\r1\r1\001f\001>\r1\r1\r1\r1\r1\012\253\005F\001B\r1\r1\017\230\012\017\0042\003\242\017\230\001j\000\150\017\230\001B\r1\r1\r1\005\157\000\n\r1\r1\r1\r1\006\225\r1\001B\r1\017\214\b1\r1\005e\020\026\r1\r1\014~\000\n\016\138\005\157\020\030\005\017\b1\004B\020\"\019\030\r1\016\190\000\n\r1\023R\r\026\006\185\r1\r1\r1\r1\005e\029^\r1\000\n\r1\005\146\r\018\023F\r1\r1\r1\001F\r1\012\017\r1\r1\000\154\r1\r&\r1\r1\021\154\b\153\r1\r1\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\177\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\006\233\028\143\b\022\017\214\004\133\006\233\016\142\016\158\016\174\028\147\r\r\004\133\016\138\006\233\029r\001\134\017\230\006\233\006\233\028\150\006\233\016\190\b\161\006\233\029\198\006\225\024\182\024\190\006\233\006y\006\233\000\n\005j\rR\029\218\029v\t\005\005e\005\017\006\233\000\242\0302\029z\029\222\005\017\005\017\r\229\r\229\006\233\006\233\030\030\r\229\018\250\006\233\006\233\r\229\005\017\005\017\006\233\018J\006\233\006\233\006\233\006\233\006\233\r:\024\198\019n\006\233\006\233\006\233\004\209\006\233\006\233\006\233\018N\018J\006\233\006\233\006\233\006\233\006\233\005\017\024\182\024\190\006\233\006\233\025\182\005\249\001:\001\150\000\246\018N\t\193\022\234\002\146\017\230\006\233\006\233\014\138\002\158\006\233\006\233\006\233\006\233\002&\006\233\029\130\006\233\001B\001Z\006\233\002\146\001\146\006\233\006\233\014\138\002\158\005v\023\202\b\177\nB\b\245\026\"\001>\001B\r\229\r\229\018\238\006\233\004\209\r\229\000\n\006\233\006\233\006\233\006\233\004\209\006\217\006\233\029\138\006\233\000\n\001B\005\202\006\233\006\233\006\233\002e\000\n\t\185\006\233\006\233\006\193\006\233\t\193\006\233\006\233\000\n\001N\006\233\006\233\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\000\n\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\007\t\b\181\007\t\017\214\004\210\007\t\019\238\001\162\007\t\007\t\001F\007\t\030\142\007\t\0025\004\141\b\198\007\t\007\t\027\014\007\t\012\181\004\141\007\t\001B\025\182\t\185\030\202\007\t\007\t\007\t\003\218\007\t\007\t\007\t\b\165\012\181\007\t\007\t\007\t\004^\007\t\007\t\004f\012\181\004v\025\210\005\246\007\t\007\t\007\t\007\t\004~\007\t\000\n\021\022\t\194\000\n\007\t\027\014\007\t\025\202\007\t\007\t\007\t\014^\007\t\001B\007\t\007\t\007\t\021\026\007\t\007\t\007\t\007\t\001B\007\t\007\t\007\t\007\t\007\t\004\134\b\206\004Q\002\146\007\t\029\154\t\177\014\138\002\158\002\146\006\201\001z\030\138\014\138\002\158\007\t\007\t\007\t\000\n\007\t\007\t\007\t\007\t\007\t\007\t\000\n\007\t\000\n\020\250\007\t\012B\011\242\007\t\007\t\004\150\006\185\011\246\004Q\007\t\005\153\000\n\027j\022\234\011\250\007\t\014\170\000\n\007\t\011\254\027n\014F\007\t\007\t\014\202\007\t\005}\003\218\007\t\005\153\007\t\014\254\021\246\025\206\007\t\022\030\014F\006\137\025\186\t\177\000\n\007\t\021\198\007\t\014F\007\t\007\t\006i\004U\007\t\007\t\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\022\214\001&\027V\001.\011\250\0016\001\214\001\222\001\226\011\254\027Z\004Q\022\218\025\210\029\170\012\002\006\158\004Q\004Q\r\254\by\000\n\022\222\001\234\022\226\029\162\b\189\002R\012\018\004Q\015\006\001\182\022\230\015\n\021\254\017\214\005\153\022&\001\242\007f\016z\022\242\n^\bi\016\138\022\246\004Q\001\202\006\185\002^\007v\022\250\027\142\016\190\002\021\004Q\005\153\029\162\016\210\015\018\027\186\027\198\001B\016\214\019*\001\246\0051\022\254\002\134\012\213\002\138\005A\002\006\017\222\016\222\022V\012\165\018j\015&\002\146\016\226\011^\015*\r2\002\158\001\250\004U\015.\0152\012&\012*\0156\004U\004U\023\002\000\n\016\230\023\006\029j\006\161\020\206\001B\006\153\005\138\004U\029j\020Z\012\134\015:\012\181\023\n\016\234\016\238\015>\016\242\023\014\000\n\023\018\017\006\023\022\023\026\005\029\023\030\004U\017\018\015F\014\n\001B\017\230\023\"\004U\024\018\023&\b\205\000\n\021\174\027\218\002\030\012\213\0172\000\006\000\"\022^\0176\017\130\005A\012.\023*\0026\015J\012\181\017\134\023.\0232\022\142\015N\005A\005A\t\221\t\221\000\n\005A\017\142\t\221\015R\003\130\007\017\007\017\018n\004Y\002\206\007\017\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\006\209\001&\027V\001.\011\250\0016\001\214\001\222\001\226\011\254\027Z\020^\003\173\030\018\014\230\012\002\003\173\014\026\029\154\004\245\030\022\006\169\003\202\001\234\002E\012\157\006a\002R\012\018\012\181\015\006\012\157\012\157\015\n\014F\022\150\011\242\003\210\001\242\b\250\016z\011\246\t\002\012\157\t\018\002N\027j\000.\011\250\002^\0046\t\026\016\138\011\254\027n\018\146\029\246\004\245\016\210\015\018\027\186\016\190\002\146\016\214\019r\020\138\002\154\002\158\002\134\012\157\002\138\005Q\002\006\017\222\016\222\014F\004:\004\138\015&\002\146\016\226\t\"\015*\r2\002\158\020n\004Y\015.\0152\012&\012*\0156\004Y\004Y\029\238\017\226\016\230\004\142\004\218\000\n\006\145\006\129\006\129\014^\004Y\002\146\030\158\012\134\015:\014\138\002\158\016\234\016\238\015>\016\242\t2\000\n\006a\017\006\020\158\018\178\005\029\004\238\002\146\017\018\015F\tN\014\138\002\158\tV\004Y\tf\029\162\011\202\001>\005\022\017\230\006a\tn\0172\014F\006a\000\n\0176\017\130\020\186\012.\027G\027K\015J\017B\017\134\027O\001B\b\149\015N\020\142\005Q\005\026\r\021\000\n\005.\017\142\030\243\015R\0051\007!\007!\tv\005J\002\206\007!\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\000\n\001&\027V\001.\011\250\0016\001\214\001\222\001\226\011\254\027Z\006\249\026&\017:\023\198\012\002\t\134\006\249\006\249\r\005\001F\005R\005V\001\234\020\162\017:\018J\002R\012\018\006\249\015\006\023r\001B\015\n\n\150\r\021\012\237\n\158\001\242\n\174\016z\007\025\018N\017V\001B\0029\n\182\b\133\023V\002^\020\190\020\222\016\138\017b\003\242\006\249\023Z\002%\016\186\015\018\028\030\016\190\002\146\016\214\b\233\000\n\014\138\002\158\002\134\0216\002\138\005m\002\006\016\218\016\222\017:\n\190\000\n\015&\002\146\016\226\023\186\015*\r2\002\158\017>\007\001\015.\0152\012&\012*\0156\007\001\007\001\001B\r\237\016\230\017>\024\170\000\n\005\142\023f\023\214\007\025\030\006\021J\021f\012\134\015:\012\197\n\206\016\234\016\238\015>\016\242\024\134\000\n\005\150\017\006\004\173\005\166\005\029\012\173\n\234\017\018\015F\n\242\000\n\011\002\005\174\007\001\030\162\028\175\028\179\005\178\011\n\017\230\028\183\012\245\0172\006\177\012\221\020\226\0176\017\130\005m\012.\017>\012\229\015J\030\174\017\134\025\226\028\207\028\211\015N\005m\005m\028\215\012\189\021:\005m\017\142\005\186\015R\011\018\t\229\t\229\005\222\b\137\002\206\t\229\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\005\226\001&\005\234\001.\011\250\0016\001\214\001\222\001\226\011\254\021N\021j\028*\011\"\025.\012\002\b\217\025\170\028J\005\254\000\n\006\018\002U\001\234\026\022\017:\021\022\002R\012\018\006&\015\006\006j\007B\015\n\007\138\007\150\028:\007\194\001\242\b9\016z\007\206\021\026\007\242\001B\007\254\029j\b\014\b\030\002^\b&\b>\016\138\b9\003\242\bF\bV\bb\016\186\015\018\001B\016\190\002\146\016\214\bn\bz\014\138\002\158\002\134\b\142\002\138\004U\002\006\016\218\016\222\b\158\b\174\000\n\015&\002\146\016\226\b\182\015*\r2\002\158\b\219\t&\015.\0152\012&\012*\0156\t*\000\n\tz\t~\016\230\017>\t\202\000\n\t\222\n\006\n\n\n\026\n*\nV\b9\012\134\015:\nf\nz\016\234\016\238\015>\016\242\n\194\000\n\n\198\017\006\002)\011\022\011\026\011f\011z\017\018\015F\011\162\011\166\011\186\011\210\011\230\003\173\012\006\012\014\012\022\003\173\017\230\012\030\012\"\0172\006\177\012Z\012f\0176\017\130\012n\012.\012\178\012\210\015J\012\222\017\134\r\"\r>\rJ\015N\rf\rr\014.\b9\014:\014B\017\142\014V\015R\014b\014j\014n\014v\014\134\002\206\b9\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\014\150\001&\014\158\001.\011\250\0016\001\214\001\222\001\226\011\254\014\162\014\178\014\186\014\210\014\218\012\002\014\238\014\246\015\002\015\026\015\"\015v\015\130\001\234\015\202\016J\016r\002R\012\018\016\134\015\006\016\146\016\154\015\n\016\162\016\170\016\246\016\254\001\242\017\014\016z\017\022\017\030\017&\017.\017~\017\138\017\146\017\158\002^\017\162\017\170\016\138\017\174\017\182\017\190\017\206\017\242\016\186\015\018\0186\016\190\018>\016\214\018B\018R\018Z\018^\002\134\018f\002\138\018v\002\006\016\218\016\222\018~\018\134\018\138\015&\002\146\016\226\018\154\015*\r2\002\158\018\162\018\186\015.\0152\012&\012*\0156\018\194\019\018\019Z\r\237\016\230\019f\019\218\019\230\020\006\0202\020B\020J\020f\020r\020z\012\134\015:\020~\020\134\016\234\016\238\015>\016\242\020\150\000\n\020\170\017\006\020\198\020\234\021\002\021\n\021\014\017\018\015F\021\030\021&\021*\0212\021B\021V\021r\021\134\021\150\021\166\017\230\012\205\012\205\0172\021\190\021\206\021\218\0176\017\130\022\011\012.\0223\022K\015J\022k\017\134\022\131\022\163\022\187\015N\022\210\022\238\023^\023\139\023\226\023\247\017\142\024\031\015R\024+\r\237\r\237\024;\024C\002\206\r\237\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\024^\001&\027V\001.\011\250\0016\001\214\001\222\001\226\011\254\027Z\024g\024o\024w\024\146\012\002\024\186\024\194\024\210\024\239\024\255\025\007\025\019\001\234\025\030\025C\025O\002R\012\018\025[\015\006\025~\025\135\015\n\025\143\025\194\025\238\026.\001\242\026O\016z\026W\026c\026s\012\205\026{\026\135\026\146\026\162\002^\026\175\026\183\026\190\026\203\026\215\012\205\026\223\026\235\016\210\015\018\026\247\012\205\012\205\016\214\028\230\027\018\027\154\027\194\002\134\027\210\002\138\028\006\002\006\017\222\016\222\028\014\028>\028f\015&\002\146\016\226\028j\015*\r2\002\158\028r\000\022\015.\0152\012&\012*\0156\028\155\012\205\029b\029n\016\230\029~\012\205\012\205\029\134\029\142\029\187\029\195\029\202\029\215\029\226\012\134\015:\029\242\030'\016\234\016\238\015>\016\242\0306\000\n\030C\017\006\030g\030\131\005\029\030\146\030\154\017\018\015F\030\166\030\178\030\191\030\198\030\206\030\215\030\222\030\231\030\251\000\000\000\000\000\000\000\000\0172\000\000\000\000\000\000\0176\017\130\000\000\012.\000\000\000\000\015J\000\000\017\134\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\017\142\000\000\015R\000\000\t\201\t\201\000\000\000\000\002\206\t\201\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\000\000\001&\000\000\001.\011\250\0016\001\214\001\222\001\226\011\254\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\002R\012\018\000\000\015\006\000\000\000\000\015\n\000\000\000\000\000\000\000\000\001\242\000\000\016z\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\016\210\015\018\000\000\000\000\000\000\016\214\017\250\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\017\222\016\222\000\000\000\000\000\000\015&\002\146\016\226\000\000\015*\r2\002\158\000\000\000\000\015.\0152\012&\012*\0156\000\000\000\000\000\000\r\201\016\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\134\015:\000\000\000\000\016\234\016\238\015>\016\242\000\000\000\n\000\000\017\006\000\000\000\000\000\000\000\000\000\000\017\018\015F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0172\000\000\000\000\000\000\0176\017\130\000\000\012.\000\000\000\000\015J\000\000\017\134\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\017\142\000\000\015R\000\000\r\201\r\201\000\000\000\000\002\206\r\201\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\000\000\001&\000\000\001.\011\250\0016\001\214\001\222\001\226\011\254\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\002R\012\018\000\000\015\006\000\000\000\000\015\n\000\000\000\000\000\000\000\000\001\242\000\000\016z\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\016\210\015\018\000\000\000\000\000\000\016\214\027\158\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\017\222\016\222\000\000\000\000\000\000\015&\002\146\016\226\000\000\015*\r2\002\158\000\000\000\000\015.\0152\012&\012*\0156\000\000\000\000\000\000\000\000\016\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\134\015:\000\000\000\000\016\234\016\238\015>\016\242\000\000\000\n\000\000\017\006\000\000\000\000\000\000\000\000\000\000\017\018\015F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0172\000\000\000\000\000\000\0176\017\130\000\000\012.\000\000\000\000\015J\000\000\017\134\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\017\142\000\000\015R\000\000\014\021\014\021\000\000\000\000\002\206\014\021\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\000\000\001&\000\000\001.\011\250\0016\001\214\001\222\001\226\011\254\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\002R\012\018\000\000\015\006\000\000\000\000\015\n\000\000\000\000\000\000\000\000\001\242\000\000\016z\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\016\210\015\018\000\000\000\000\000\000\016\214\027\158\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\017\222\016\222\000\000\000\000\000\000\015&\002\146\016\226\000\000\015*\r2\002\158\000\000\000\000\015.\0152\012&\012*\0156\000\000\000\000\000\000\000\000\016\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\134\015:\000\000\000\000\016\234\016\238\015>\016\242\000\000\000\n\000\000\017\006\000\000\000\000\000\000\000\000\000\000\017\018\015F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0172\000\000\000\000\000\000\0176\017\130\000\000\012.\000\000\000\000\015J\000\000\017\134\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\017\142\000\000\015R\000\000\014\017\014\017\000\000\000\000\002\206\014\017\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\000\000\001&\000\000\001.\011\250\0016\001\214\001\222\001\226\011\254\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\002R\012\018\000\000\015\006\000\000\000\000\015\n\000\000\000\000\000\000\000\000\001\242\000\000\016z\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\016\210\015\018\000\000\000\000\000\000\016\214\019\166\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\017\222\016\222\000\000\000\000\000\000\015&\002\146\016\226\000\000\015*\r2\002\158\000\000\000\000\015.\0152\012&\012*\0156\000\000\000\000\000\000\000\000\016\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\134\015:\000\000\000\000\016\234\016\238\015>\016\242\b1\000\n\000\000\017\006\017\214\000\000\000\000\000\000\000\000\017\018\015F\000\000\000\000\016\138\b1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\190\000\000\0172\000\000\000\000\000\000\0176\017\130\000\000\012.\000\000\000\000\015J\000\000\017\134\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\017\142\000\000\015R\000\000\000R\000V\000f\000\170\002\206\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\000\000\001&\b1\001.\011\250\0016\001\214\001\222\001\226\011\254\003\254\004\006\000\170\000\000\000\174\000\000\004J\004R\004Z\004\158\000\000\004\166\004\174\001\234\004\190\000\000\004\198\002R\004\206\004\250\015\006\005\002\017\230\015\n\000\000\000\000\000\000\000\000\001\242\000\000\020&\000\000\000\000\000\000\000\000\000\000\005\n\000\000\000\000\002^\000\000\000\000\000\000\000\000\000\000\b1\000\000\000\000\0206\015\018\000\000\005\018\000\000\000\000\000\000\000\000\000\000\b1\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\015&\002\146\000\000\000\000\015*\002\154\002\158\000\000\000\000\015.\0152\012&\020:\0156\000\000\000\000\000\000\005\"\000\000\000\000\t\006\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\134\015:\000\000\006Y\006Y\000\000\015>\tZ\006Y\000\n\t\162\006Y\n\162\006Y\006Y\006Y\006Y\000\000\015F\000\000\006Y\006Y\000\000\006Y\006Y\006Y\000\000\000\000\000\000\000\000\006Y\000\000\006Y\006Y\000\000\006Y\000\000\006Y\000\000\012.\006Y\000\000\015J\006Y\020>\006Y\006Y\000\000\015N\006Y\006Y\006Y\006Y\006Y\006Y\020F\006Y\015R\006Y\006Y\000Z\000\000\006Y\002\206\006Y\000\000\000\000\000\000\000\000\000\000\006Y\t\214\000\000\006Y\n\"\006Y\000Z\000\000\006Y\000Z\006Y\000Z\006Y\006Y\000\000\006Y\006Y\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\006Y\006Y\006Y\006Y\006Y\006Y\006Y\006Y\000\000\006Y\000\000\000\000\006Y\006Y\000\000\000\000\006Y\000\000\006Y\006Y\006Y\006Y\006Y\006Y\006Y\006Y\006Y\006Y\006Y\000\000\006Y\000\000\006Y\000\000\006Y\006Y\000\000\006Y\006Y\006Y\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\006Y\000\000\006Y\006Y\000\000\006Y\006Y\006Y\006Y\000\000\006Y\006Y\000\000\000\000\006Y\000\000\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\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\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\011\246\000\000\000\000\000\000\001\234\027j\000\000\011\250\002R\000\000\000\000\002f\011\254\027n\002j\000\000\000\000\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\000\002^\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\002\242\002\130\000\000\002~\000\000\000\000\006>\018J\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\006B\002\146\000\000\018N\006F\002\154\002\158\000\000\006J\006N\006R\000\000\000\000\006V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\146\000\000\000\000\000\000\014\138\002\158\000\000\006Z\000\000\000\000\000\000\000\000\006^\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\154\000\000\000\n\000\000\000\000\000\000\000\000\0051\000\000\000\000\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\000\006v\000\000\000\000\004\165\000\000\t\161\000\000\000\000\000\000\006z\000\000\000R\000V\000f\000\170\002\206\000\174\t\161\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\t\161\001.\t\161\0016\001\214\001\222\001\226\000\000\000\000\000\000\t\161\000\000\000\000\000\000\000\000\000\000\t\161\000\000\000\000\t\161\000\000\001\234\000\000\t\161\023\170\002R\000\000\000\000\002f\t\161\000\000\002j\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\161\000\000\002^\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\002\242\002\130\000\000\002~\000\000\000\000\006>\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\t\161\000\000\000\000\t\161\006B\002\146\000\000\000\000\006F\002\154\002\158\000\000\006J\006N\006R\000\000\t\161\006V\000\000\000\000\000\000\t\161\t\161\t\161\000\000\t\161\t\161\000\000\t\161\000\000\000\000\000\000\000\000\000\000\006Z\t\161\000\000\000\000\t\161\006^\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006n\000\000\t\161\000\000\000\000\000\000\000\000\t\161\t\161\000\000\000\000\006\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\006r\000\000\000\000\000\000\000\000\000\000\006v\000\000\000\000\bm\000\000\022\214\000\000\000\000\000\000\006z\000\000\000R\000V\000f\000\170\002\206\000\174\022\218\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\022\222\001.\022\226\0016\001\214\001\222\001\226\000\000\000\000\000\000\022\230\000\000\000\000\000\000\000\000\000\000\022\234\000\000\000\000\022\242\000\000\001\234\000\000\022\246\000\000\002R\000\000\000\000\002f\022\250\000\000\002j\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\024\202\000\000\000\000\000\000\022\254\000\000\002^\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\002\242\002\130\000\000\002~\000\000\000\000\006>\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\023\002\000\000\000\000\023\006\006B\002\146\000\000\000\000\006F\002\154\002\158\000\000\006J\006N\006R\000\000\023\n\006V\000\000\000\000\000\000\023\014\000\n\023\018\000\000\023\022\023\026\000\000\023\030\000\000\000\000\000\000\000\000\000\000\006Z\023\"\000\000\000\000\023&\006^\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006n\000\000\023*\000\000\000\000\000\000\000\000\023.\0232\000\000\000\000\006\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\006r\000\000\000\000\000\000\000\000\000\000\006v\000\000\000\000\002\025\000\000\000\000\000\000\000\000\000\000\006z\000\000\000R\000V\000f\000\170\002\206\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\001\214\001\222\001\226\000\000\000\000\000\000\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\002R\000\000\000\000\002f\000\000\000\000\002j\000\000\000\000\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\000\002^\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\002\242\002\130\000\000\002~\000\000\000\000\006\162\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\006B\002\146\000\000\000\000\006F\002\154\002\158\000\000\006J\006N\006R\000\000\000\000\006V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\000\000\000\006^\000\000\000\000\000\n\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\006n\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\000\006v\001\234\000\000\b}\000\000\002R\000\000\000\000\002V\006z\000\000\002Z\000\000\000\000\000\000\002\206\001\242\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\002b\000\000\000\000\000\000\000\000\000\000\002z\002v\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\000\000\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\000\000\000\000\000\000\000\000\002\174\000\000\000\000\000\000\000\000\002\178\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\186\003\254\004\006\000\170\000\000\000\174\000\000\004J\004R\004Z\004\158\002\190\004\166\004\174\000\000\004\190\000\000\004\198\000\000\004\206\004\250\000\000\005\002\000\000\002\194\000\000\000\000\000\000\000\000\000\000\002\198\000\000\000\000\000\000\000\000\000\000\000\000\005\n\000\000\002\202\000\000\000R\b\238\b\246\000\170\002\206\000\174\000\000\t:\tB\tJ\t\142\005\018\t\150\t\158\022\214\t\174\000\000\t\182\000\000\t\190\t\234\001\222\t\242\000\000\000\000\000\000\022\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\222\t\250\022\226\000\000\000\000\000\000\000\000\000\000\000\000\005\"\022\230\000\000\000\000\000\000\r\138\000\000\026\142\000\000\000\000\022\242\000\000\000\000\000\000\022\246\000\000\000\000\000\000\000\000\000\000\022\250\000\000\000\000\000\000\000\000\000\000\000\000\n\018\r\146\r\186\000\000\000\000\024z\000\000\000\000\000\000\022\254\025\154\000\000\000\000\000\000\n\030\000\000\r\154\000\n\000\000\000\000\000\000\000\000\r\226\r\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\194\000\000\000\000\r\162\023\002\r\178\000\000\023\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\023\n\000\000\000\000\000\000\000\000\023\014\000\n\023\018\r\202\023\022\023\026\000\000\023\030\000\000\000\000\000\000\000\000\000\000\000\000\023\"\000\000\011\242\023&\000\000\000\000\000\000\011\246\000\000\000\000\000\000\000\000\027j\000\000\011\250\000\000\000\000\000\000\023*\011\254\027n\000\000\000\000\023.\0232\001M\001M\001M\001M\r\210\001M\000\000\001M\001M\001M\001M\r\170\001M\001M\000\000\001M\000\000\001M\000\000\001M\001M\001M\001M\000\000\000\000\005\225\000\000\022\198\018J\000\000\000\000\000\000\005\225\000\000\000\000\000\000\001M\001M\001M\000\000\r\242\r\218\000\000\000\189\018N\000\000\001M\000\000\000\000\000\000\000\000\000\000\001M\000\000\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\022\202\000\000\002\146\001M\r\146\r\186\014\138\002\158\000\000\000\000\001M\000\000\000\000\000\000\000\000\001M\000\000\000\000\000\000\r\154\000\000\000\000\000\000\000\000\001M\000\189\000\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\194\000\000\000\000\r\162\000\n\r\178\000\000\000\000\000\000\0051\000\000\001M\000\000\000\000\001M\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\r\202\000\000\002R\012\018\001M\015\006\001M\000\000\015\n\001M\000\000\022\206\000\000\000\000\000\000\016z\001M\000\000\001M\000\000\000\000\001M\000\000\000\000\002^\000\000\007\249\007\249\000\000\000\000\000\000\007\249\000\000\017\002\015\018\000\000\001M\001M\016\214\000\000\r\210\001M\001M\002\134\000\000\002\138\000\000\r\170\000\000\016\222\000\000\000\000\023\142\015&\002\146\016\226\000\000\015*\r2\002\158\000\000\000\189\015.\0152\000\000\000\000\0156\000\000\000\189\000\000\000\000\016\230\000\000\000\000\000\000\000\000\000\189\r\218\000\000\000\000\000\000\000\000\012\134\015:\000\000\000\000\016\234\016\238\015>\016\242\000\000\000\n\000\000\017\006\000\000\000\000\000\000\000\000\012\002\017\018\015F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002R\012\018\000\000\015\006\0172\000\000\015\n\000\000\0176\017\130\000\000\000\000\000\000\016z\015J\000\000\017\134\000\000\000\000\000\000\015N\000\000\002^\000\000\000\000\000\000\000\000\017\142\000\000\015R\000\000\015\014\015\018\000\000\000\000\002\206\016\214\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\016\222\000\000\000\000\000\000\015&\002\146\016\226\000\000\015*\r2\002\158\000\000\000\000\015.\0152\000\000\000\000\0156\000\000\000\000\000\000\000\000\016\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\134\015:\000\000\000\000\016\234\016\238\015>\016\242\000\000\000\n\000\000\017\006\000\000\000\000\000\000\000\000\000\000\017\018\015F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015E\000\000\000\000\015E\0172\000\000\000\000\000\000\0176\017\130\000\000\000\000\000\000\000\000\015J\000\000\017\134\000\000\000\000\000\000\015N\000\000\000\000\015E\015E\000\000\000\000\017\142\015E\015R\000\000\002\230\015E\000\000\000\000\002\206\000\000\000\000\015E\000\000\000\000\015E\015E\000\000\015E\015E\000\000\000\000\002\238\000\000\015E\007\198\000\000\000\000\015E\000\000\000\000\015E\000\000\015E\015E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015E\000\000\015E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015E\000\000\000\000\011\145\011\145\011\145\011\145\007\210\011\145\000\000\011\145\011\145\011\145\011\145\000\000\011\145\011\145\000\000\011\145\000\000\011\145\000\000\011\145\011\145\011\145\011\145\000\000\015E\015E\000\000\015E\015E\007\214\000\000\015E\000\000\000\000\000\000\000\000\011\145\011\145\011\145\000\000\007\222\000\000\000\000\000\000\000\000\015E\011\145\000\000\015E\015E\015E\015E\011\145\000\000\000\000\023\158\015E\015E\015E\023\166\015E\015E\015E\000\000\000\000\011\145\000\000\000\000\005\129\000\000\000\000\005\129\011\145\000\000\000\000\000\000\000\000\011\145\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\145\000\000\000\000\000\000\000\000\005\129\005\129\000\000\000\000\000\000\005\129\000\000\000\000\005\129\005\129\000\000\000\000\000\000\000\000\000\000\005\129\000\000\011\145\005\129\005\129\011\145\005\129\005\129\000\000\000\000\005\129\000\000\005\129\005\129\000\000\000\000\005\129\000\000\011\145\005\129\000\000\005\129\005\129\011\145\000\000\011\145\000\000\000\000\011\145\000\000\000\000\000\000\000\000\000\000\000\000\011\145\000\000\011\145\000\000\000\000\011\145\000\000\000\000\000\000\005\129\000\000\005\129\000\000\000\000\000\000\000\000\000\000\000\165\000\000\000\000\011\145\011\145\005\129\000\000\000\000\023\250\011\145\000\000\000\000\005\129\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\000\000\000\000\000\000\000\000\000\000\000\005\129\005\129\000\000\005\129\005\157\005\129\r\154\005\129\000\000\000\000\000\000\000\000\000\165\000\165\000\000\000\000\005\129\005}\000\000\000\000\005}\005\129\000\165\000\000\005\129\r\162\005\129\r\178\005\129\000\000\000\000\000\000\005\129\005\129\005\129\000\000\005\129\005\129\005\129\000\000\005}\005}\000\000\000\000\000\000\005}\000\000\000\000\005}\005}\000\165\000\000\000\000\000\000\000\000\005}\000\000\000\000\005}\005}\000\000\005}\005}\000\000\000\000\005}\000\000\005}\005}\000\000\000\000\005}\000\000\000\000\005}\000\000\005}\005}\000\000\001\169\000\000\000\000\001\169\000\000\000\000\000\000\000\000\000\000\000\000\001B\000\165\000\000\000\000\000\000\000\000\000\000\000\000\r\170\000\000\005}\000\000\005}\001\169\001\169\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\165\005}\000\000\000\000\000\000\000\000\001\169\000\165\005}\000\000\001\169\000\n\001\169\001\169\000\000\000\165\000\165\000\000\000\000\000\000\000\000\000\000\001\169\000\000\000\000\001\169\000\000\001\169\005}\005}\000\000\005}\005\153\005}\000\000\005}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005}\000\000\000\000\000\000\000\000\005}\001\169\000\000\005}\000\000\005}\000\000\005}\000\000\000\000\000\000\005}\005}\005}\000\000\005}\005}\005}\011\129\011\129\011\129\011\129\000\000\011\129\000\000\011\129\011\129\011\129\011\129\000\000\011\129\011\129\000\000\011\129\000\000\011\129\000\000\011\129\011\129\011\129\011\129\001\169\006\170\000\000\001\169\000\000\000\000\000\000\001\169\000\000\000\000\000\000\000\000\000\000\011\129\011\129\011\129\000\000\000\000\000\000\000\000\000\000\001\169\000\000\011\129\000\000\001\169\001\169\000\000\000\000\011\129\000\000\000\000\006\178\000\000\000\000\000\000\001\169\001\169\011\133\011\133\011\133\011\133\011\129\011\133\000\000\011\133\011\133\011\133\011\133\011\129\011\133\011\133\000\000\011\133\011\129\011\133\000\000\011\133\011\133\011\133\011\133\011\242\000\000\011\129\000\000\000\000\011\246\000\000\000\000\000\000\000\000\027j\000\000\011\250\011\133\011\133\011\133\000\000\011\254\027n\000\000\000\000\000\000\000\000\011\133\011\129\000\000\000\000\011\129\000\000\011\133\000\000\000\000\023\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\129\000\000\011\133\000\000\000\000\011\129\000\000\011\129\000\000\011\133\011\129\018J\000\000\000\000\011\133\000\000\000\000\011\129\000\000\011\129\000\000\000\000\011\129\011\133\000\000\000\000\000\000\018N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\129\011\129\000\000\000\000\000\000\023\162\011\129\000\000\011\133\000\000\002\146\011\133\000\000\000\000\014\138\002\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\133\000\000\000\000\000\000\000\000\011\133\000\000\011\133\000\000\000\000\011\133\000\000\000\000\000\000\000\000\000\000\000\000\011\133\000\000\011\133\000\000\000\000\011\133\000\n\000\000\000\000\000\000\000\000\0051\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\133\011\133\000R\b\238\b\246\000\170\011\133\000\174\000\000\t:\tB\tJ\t\142\000\000\t\150\t\158\000\000\t\174\000\000\t\182\000\000\t\190\t\234\001\222\t\242\000\000\000\000\015\153\000\000\000\000\015\153\000\000\000\000\000\000\000\000\000\000\n\021\n\021\024\006\t\250\024\"\n\021\000\000\000\000\000\000\000\000\000\000\000\000\024.\000\000\015\153\015\153\000\000\000\000\n\002\015\153\000\000\000\000\015f\015\153\000\000\000\000\000\000\000\000\000\000\015\153\000\000\024F\015\153\015\153\000\000\015\153\015\153\000\000\n\018\015n\000\000\015\153\015z\024z\000\000\015\153\000\000\000\000\015\153\000\000\015\153\015\153\n\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\153\024\154\015\153\000\000\024\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\153\000\000\000\000\000\000\025\n\000\000\000\000\015\134\000\000\025\022\000\000\t\153\000\000\000\000\025F\000\000\000\000\000\000\000\000\000\000\000\000\025R\000\000\025^\000\000\000\000\026Z\015\153\015\153\000\000\015\153\000\000\015\138\000\000\015\153\000\000\000\000\000\000\000\000\000\000\000\000\026f\026~\015\146\000\000\001\153\000\000\026\138\001\153\000\000\000\000\015\153\000\000\015\153\000\000\000\000\000\000\000\000\000\000\015\153\015\153\015\153\000\000\015\153\015\153\015\153\000\000\000\000\001\153\001\153\000\000\000\000\000\000\001\153\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\001\153\001\153\000\000\001\153\001\153\000\000\000\000\000\000\003\"\001\153\000\000\003z\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\000\000\000\000\000\000\000\000\000\000\003*\003R\000\000\000\000\000\000\001\245\000\000\000\000\000\000\001\245\001\153\000\000\001\153\000\000\000\000\0032\000\000\000\000\001\245\001\245\000\000\003\154\003\162\001\153\000\000\000\000\000\000\001\245\000\000\000\000\000\000\003Z\000\000\000\000\003:\000\000\003J\001\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\003\002\000\000\001\153\001\153\000\000\000\000\001\153\000\000\003b\000\000\001\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\001\245\000\000\001\153\001\153\001\153\001\153\000\000\000\000\000\000\000\000\003\178\001\153\001\153\000\000\001\153\001\153\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\001\245\001\245\000\000\000\000\003B\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\001\245\000\000\000\000\001\245\001\245\001\245\001\245\000\000\000\000\000\000\000\000\000\000\001\245\001\245\000\000\003\170\003r\001\245\003*\003R\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\0032\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\003Z\000\000\000\000\003:\000\000\003J\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\003b\000\000\000\129\000\000\000\000\0032\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\003:\000\000\003J\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\003j\000\000\000\000\000\129\000\129\000\000\000\000\003B\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\003r\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\003B\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\003:\000\000\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\003:\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\003B\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\003B\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\0032\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\003:\000\000\003J\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003*\003R\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000e\000\000\000e\000\000\000\000\0032\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\003:\000\000\003J\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\003B\000\000\003b\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\003B\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\003*\003R\000\000\000\000\000\000\000m\000\000\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\0032\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:\000\000\003J\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003*\003R\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000m\000\000\000m\000\000\000\000\0032\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\003:\000\000\003J\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\003B\000\000\003b\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\003B\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\003*\003R\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\000\0032\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\000\003\"\000y\000\000\000\137\000\000\003Z\000\000\000\000\003:\000\000\003J\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003*\003R\000\000\000\000\000\000\000\137\000\000\000\000\000\000\000\137\003b\000\000\000y\000\000\000\000\0032\000\000\000\000\000\137\000\137\000\000\000\137\003\162\000y\000\000\000\000\000\000\000\137\000\000\000\000\000\000\003Z\000\000\000\000\003:\000\000\003J\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\003j\000\000\000\000\000y\000y\000\000\000\000\003B\000\000\003b\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\003j\000\000\000\000\000\137\000\137\000\000\000\000\003B\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\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\170\003r\000\137\003*\003R\000\000\000\000\000\000\000}\000\000\000\000\000\000\000}\000\000\000\000\000\000\000\000\000\000\0032\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\000\003\"\000}\000\000\000\133\000\000\003Z\000\000\000\000\003:\000\000\003J\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003*\003R\000\000\000\000\000\000\000\133\000\000\000\000\000\000\000\133\003b\000\000\000}\000\000\000\000\0032\000\000\000\000\000\133\000\133\000\000\000\133\003\162\000}\000\000\000\000\000\000\000\133\000\000\000\000\000\000\003Z\000\000\000\000\003:\000\000\003J\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\003j\000\000\000\000\000}\000}\000\000\000\000\003B\000\000\003b\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}\003r\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\133\000\133\000\000\000\000\003B\000\000\000\000\000\000\000\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\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\003r\000\133\000R\000V\000f\000\170\b\234\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\000\000\001&\000\000\001.\011\250\0016\001\214\001\222\001\226\011\254\000\000\000\000\000\000\000\000\002R\000\000\000\000\012J\000\000\000\000\012N\000\000\000\000\001\234\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\242\000\000\000\000\000\000\000\000\000\000\000\000\012R\012\170\000\000\000\000\r\018\r*\r.\000\000\000\000\000\000\002\134\000\000\002\138\002\002\000\000\000\000\000\000\000\000\000\000\000\000\012r\002\146\000\000\000\000\012v\r2\002\158\002\006\000\000\012z\012~\000\000\000\000\012\130\000\000\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\012&\012*\000\000\000\000\000\000\012\134\012\138\000\000\000\000\002R\000\000\012\142\012J\000\000\000\n\012N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\150\000\000\000\000\000\000\000\n\000\000\000\000\000\000\002^\006y\000\000\r6\000\000\rR\000\000\000\000\000\000\012R\012\170\000\000\000\000\r\018\r*\r.\012\154\000\000\000\000\002\134\000\000\002\138\012\158\000\000\000\000\006q\012.\000\000\004\181\012r\002\146\012\162\000\000\012v\r2\002\158\006q\002\206\012z\012~\000\000\006q\012\130\000\000\000\000\000\000\000\000\002R\000\000\000\000\012J\000\000\000\000\012N\000\000\000\000\000\000\000\000\012\134\012\138\000\000\000\000\000\000\000\000\012\142\000\000\000\000\000\n\000\000\002^\000\000\000\000\000\000\000\000\000\000\000\000\012\150\000\000\012R\012\170\000\000\000\000\r\018\r*\r.\006y\000\000\r6\002\134\rR\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012r\002\146\012\154\000\000\012v\r2\002\158\000\000\012\158\012z\012~\000\000\000\000\012\130\b\193\000\000\000\000\012\162\000\000\000\000\000\000\000\000\000\000\002\206\000\000\000\000\000\000\000\000\000\000\012\134\012\138\000\000\000\000\000\000\000\000\012\142\n\246\006Y\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\150\000\000\006Y\000\000\000\000\000\000\000\000\000\000\000\000\006y\000\000\r6\006Y\rR\006Y\011\149\011\149\000\000\000\000\011\149\000\000\000\000\006Y\000\000\012\154\000\000\000\000\000\000\006Y\000\000\012\158\006Y\000\000\000\000\002R\006Y\002I\012J\000\000\012\162\012N\006Y\000\000\000\000\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\006Y\nr\000\000\011\149\002^\006Y\000Z\000\000\000\000\000\000\006Y\000\000\000\000\012R\012\170\000\000\000\000\r\018\r*\014\014\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\011\149\000\000\006Y\012r\002\146\006Y\000\000\012v\r2\002\158\000\000\000\000\012z\012~\000\000\000\000\012\130\000\000\006Y\000\000\000\000\000\000\000\000\006Y\006Y\006Y\000\000\006Y\006Y\000\000\006Y\000\000\012\134\012\138\000\000\000\000\000\000\006Y\012\142\000\000\006Y\000\n\000\000\001\177\000\000\000\000\001\177\000\000\000\000\000\000\012\150\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\006y\006Y\006Y\011\149\rR\000\000\000\000\001\177\001\177\000\000\000\000\000\000\001\177\000\000\000\000\012\154\001\177\000\000\000\000\000\000\000\000\012\158\001\177\000\000\000\000\001\177\001\177\b\209\001\177\001\177\012\162\000\000\000\000\000\000\001\177\000\000\002\206\000\000\001\177\000\000\000\000\001\177\000\000\001\177\001\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\153\003\157\001\177\000\000\000\000\000j\003\157\000\000\000r\000\000\000\130\003\157\000\000\003\157\000\000\000\000\000\000\000\138\003\157\003\157\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\000\001\177\015\182\000\000\001\177\000\000\000\000\000\000\001\177\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\146\003\157\000\000\000\000\000\000\003\157\001\177\000\153\001\177\000\000\r\162\000\000\000\153\000\000\015\190\001\177\001\177\000\000\001\177\001\177\001\177\003\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\157\000\162\000\153\000\000\000\000\000\000\000\000\000\000\003\157\000\000\000\000\000\000\003\157\003\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\153\000\000\003\157\000\000\000\198\003\153\000\000\000\206\000\000\000\222\003\153\000\000\003\153\003\157\000\000\000\000\000\230\003\153\003\153\000\000\000\153\000\000\000\000\003\157\000\000\000\000\000\000\r\170\003\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\238\003\153\000\153\000\000\000\000\003\153\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\003\157\000\000\000\000\003\157\003\157\001\153\003\153\003\157\001\153\000\000\000\000\000\000\003\157\003\157\000\000\000\000\000\000\003\157\003\153\000\254\000\000\000\000\000\000\000\000\000\000\000\000\003\153\000\000\001\153\001\153\003\153\003\153\000\000\001\153\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\003\153\001\153\000\000\000\000\000\000\000\000\000\000\001\153\001\153\000\000\000\000\003\153\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\001\153\003\153\001\153\001\153\000\000\000\000\003\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\003\153\000\000\000\000\003\153\003\153\000\000\000\000\003\153\000\000\000\000\000\000\000\000\003\153\003\153\000\000\000\000\000\000\003\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\002\250\000\000\001\153\001\153\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002R\000\000\000\000\002V\000\000\000\000\002Z\001\153\001\153\000\000\001\153\000\000\000\000\000\000\000\000\003\190\001\153\001\153\000\000\001\153\001\153\001\153\002^\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\002r\002v\000\000\002~\000\000\012F\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\rB\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\234\000\000\000\000\016B\000\000\000\000\000\000\000\000\002\174\000\000\000\000\000\000\000\000\002\178\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\015\242\016\026\002\186\000\000\000\000\002\005\000\000\000\000\000\000\002\005\000\000\000\000\000\000\002\190\t\169\015\250\000\000\000\000\002\005\002\005\000\000\016R\016Z\000\000\000\000\0015\002\194\002\005\0015\000\000\000\000\016\"\002\198\000\000\016\002\t\169\016\018\002\005\000\000\000\000\000\000\002\202\000\000\000\000\000\000\000\000\000\000\002\206\015\242\016\026\000\000\000\000\000\000\0015\000\000\000\000\000\000\0015\000\000\016*\000\000\002\005\000\000\015\250\000\000\000\000\0015\0015\000\000\0015\0015\000\000\002\005\000\000\000\000\0015\000\000\000\000\000\000\016\"\000\000\000\000\016\002\000\000\016\018\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\0162\000\000\000\000\002\005\000\000\000\000\000\000\016\n\016*\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0015\000\000\000\000\002\005\000\000\002\005\000\000\000\000\000\000\000\000\000\000\000\000\002\005\002\005\000\000\016b\016:\002\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0162\000\000\000\000\0015\000\000\000\000\000\000\016\n\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\000\000\0015\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\0015\0015\000\000\0015\016:\0015\001\029\001\029\000\000\000\000\000\000\001\029\000\000\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\015\250\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\016\002\000\000\016\018\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\000\000\000\000\001\017\000\000\000\000\000\000\001\017\000\000\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\000\000\000\000\001\017\000\000\000\000\016\002\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\000\000\001\029\000\000\000\000\001\029\000\000\000\000\000\000\016\n\001\017\000\000\001\017\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\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\001\017\000\000\000\000\001\017\000\000\000\000\000\000\016\n\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\000\000\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\001\021\001\021\000\000\000\000\000\000\001\021\000\000\000\000\000\000\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\001\025\000\000\001\021\001\025\000\000\000\000\001\021\000\000\000\000\016\002\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\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\001\021\000\000\001\021\000\000\015\250\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\000\000\000\000\001\025\000\000\000\000\016\002\000\000\016\018\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\001\021\000\000\000\000\001\021\000\000\000\000\000\000\016\n\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\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\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\000\000\016\n\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\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\025\015\242\016\026\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\000\000\000\000\000\000\015\250\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\016\002\000\000\016\018\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\242\016\026\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\016*\000\000\001)\000\000\015\250\000\000\000\000\001!\001!\000\000\001!\001!\000\000\001)\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\000\000\016\002\000\000\016\018\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\000\001)\000\000\000\000\000\000\016\n\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!\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\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\016\n\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\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!\015\242\016\026\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\000\000\000\000\000\000\000\000\015\250\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\016\002\000\000\016\018\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\242\016\026\000\000\000\000\000\000\001-\000\000\000\000\000\000\001-\000\000\016*\000\000\001%\000\000\015\250\000\000\000\000\001-\001-\000\000\001-\001-\000\000\001%\000\000\000\000\001-\000\000\000\000\000\000\016\"\000\000\000\000\016\002\000\000\016\018\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\000\001%\000\000\000\000\000\000\016\n\016*\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\001%\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\001%\001%\000\000\001%\001%\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0162\000\000\000\000\001-\000\000\000\000\000\000\016\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\234\000\000\000\000\001=\000\000\000\000\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-\015\242\016\026\000\000\000\000\000\000\001=\000\000\000\000\000\000\001=\000\000\000\000\000\000\000\000\000\000\015\250\000\000\000\000\001=\001=\000\000\001=\016Z\000\000\000\000\015\234\000\000\001=\0011\000\000\000\000\016\"\000\000\000\000\016\002\000\000\016\018\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\242\016\026\000\000\000\000\000\000\0011\000\000\000\000\000\000\0011\000\000\016*\000\000\001=\000\000\015\250\000\000\000\000\0011\0011\000\000\0011\0011\000\000\001=\000\000\000\000\0011\000\000\000\000\000\000\016\"\000\000\000\000\016\002\000\000\016\018\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\0162\000\000\000\000\001=\000\000\000\000\000\000\016\n\016*\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\016b\016:\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0162\000\000\000\000\0011\000\000\000\000\000\000\016\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\234\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\016:\0011\015\242\016\026\000\000\000\000\000\000\0019\000\000\000\000\000\000\0019\000\000\000\000\000\000\000\000\000\000\015\250\000\000\000\000\0019\0019\000\000\0019\016Z\000\000\000\000\000\000\000\000\0019\000\000\000\000\022\214\016\"\000\000\000\000\016\002\000\000\016\018\0019\000\000\000\000\000\000\000\000\022\218\000\000\000\000\000\000\000\000\000\000\000\000\025\026\000\000\000\000\022\222\000\000\022\226\011\233\011\233\000\000\000\000\016*\000\000\0019\022\230\000\000\000\000\000\000\000\000\000\000\022\234\000\000\000\000\022\242\0019\000\000\000\000\022\246\000\000\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\000\000\000\000\000\000\000\000\000\000\011\233\000\000\022\254\000\000\0162\000\000\000\000\0019\000\000\000\000\000\000\016\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\000\000\011\233\0019\023\002\0019\000\000\023\006\000\000\022\214\000\000\000\000\0019\0019\000\000\0019\016:\0019\024R\000\000\023\n\022\218\000\000\000\000\000\000\023\014\000\n\023\018\000\000\023\022\023\026\022\222\023\030\022\226\000\000\000\000\000\000\000\000\011\189\023\"\000\000\022\230\023&\000\000\000\000\000\000\000\000\022\234\000\000\000\000\022\242\000\000\000\000\000\000\022\246\000\000\000\000\023*\000\000\000\000\022\250\000\000\023.\0232\011\233\000\000\000\000\000\000\000\000\000\000\000\000\025v\000\000\000\000\011\189\000\000\022\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\189\000\000\023\002\000\000\000\000\023\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\023\n\000\000\000\000\000\000\000\000\023\014\000\n\023\018\000\000\023\022\023\026\000\000\023\030\000\000\000\000\000\000\000\000\000\000\000\000\023\"\000\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\023*\000\000\000\000\000\000\000\000\023.\0232\011\189\000R\000V\000f\000\170\000\000\000\174\011\242\000\178\000\186\000\194\001\006\011\246\001\014\001\022\000\000\001&\027V\001.\011\250\0016\001\214\001\222\001\226\011\254\027Z\000\000\000\000\000\000\002R\000\000\000\000\002V\000\000\000\000\002Z\000\000\000\000\001\234\000\000\000\000\000\000\000\000\000\000\000\000\016~\000\000\000\000\000\000\000\000\000\000\002^\000\000\001\242\002b\000\000\000\000\000\000\000\000\000\000\002r\002v\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\002\002\000\000\000\000\000\000\000\000\000\000\002\014\002\142\002\146\000\000\000\000\002\150\002\154\002\158\002\006\000\000\002\162\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\015}\002\018\000\000\015}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\174\000\000\000\000\000\000\000\000\002\178\000\000\000\000\000\n\000\000\000\000\000\000\015}\015}\000\000\000\000\000\000\002\186\000\000\000\000\006\142\000\n\000\000\000\000\000\000\000\000\005\029\015}\002\190\000\000\000\000\015}\000\000\015}\015}\000\000\000\000\006\150\000\000\000\000\007\142\002\194\000\000\015}\000\000\000\000\015}\002\198\015}\000\000\000\000\000\000\t\169\000\000\000\000\000\000\002\202\011>\006Y\000\000\000\000\000\000\002\206\000\000\000\000\000\000\002u\000\000\000\000\000\000\006Y\015}\006Y\000\000\000\000\000\000\000\000\000\000\006Y\000\000\006Y\000\000\006Y\006Y\006Y\000v\000\000\000\000\006Y\000\000\006Y\007\154\000\000\006Y\006Y\006Y\006Y\000\000\000\000\006Y\000\000\000\000\000\000\006Y\006Y\006Y\000\000\000\000\000\000\006Y\006Y\015}\015}\006Y\015}\006Y\007\158\006Y\015}\000\000\006Y\011r\000\000\006Y\000\000\006Y\000Z\007\166\000\000\006Y\006Y\006Y\015}\000\000\006Y\011\178\015}\015}\006Y\006Y\000Z\000\000\000\000\015}\006Y\006Y\000\000\015}\015}\001\194\000\000\000\000\006Y\000\000\000Z\006Y\011\222\006Y\000\000\000\000\006Y\000Z\000\000\000\000\000\000\006Y\006Y\000\000\006Y\006Y\006Y\000\000\000\000\006Y\006Y\006Y\000\000\006Y\006Y\000\000\006Y\006Y\006Y\000\000\000\000\000\000\000\000\006Y\006Y\006Y\006Y\006Y\006Y\000\000\006Y\000\000\000\000\000\000\000\000\000\000\000\000\006Y\006Y\006Y\006Y\006Y\000\000\006Y\006Y\006Y\006Y\006Y\006Y\006Y\000\000\006Y\000\000\002R\000\000\006Y\002V\000\000\006Y\002Z\006Y\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\169\000\000\000\000\000\000\000\000\000\000\002^\006Y\000\000\002b\006Y\006Y\006Y\006Y\006Y\002r\002v\000\000\002~\006Y\006Y\000\000\000\000\000\000\006Y\002\134\000\000\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\002R\002\170\000\000\002V\000\000\000\000\002Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020*\000\000\002\174\000\000\000\000\000\000\002^\002\178\000\000\002b\000\n\000\000\000\000\000\000\000\000\002r\002v\000\000\002~\002\186\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\002\190\000\000\000\000\000\000\000\000\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\002\194\002\162\002\166\000\000\000\000\002\170\002\198\000\000\025b\000\000\025j\000\000\000\000\000\000\000\000\002\202\000\000\000\000\000\000\025r\000\000\002\206\002\174\000\000\025\146\000\000\000\000\002\178\000\000\000\000\000\n\022\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\186\000\000\022\222\000\000\022\226\000\000\000\000\000\000\000\000\000\000\000\000\002\190\022\230\000\000\000\000\000\000\000\000\000\000\022\234\000\000\000\000\022\242\000\000\000\000\002\194\022\246\000\000\000\000\000\000\000\000\002\198\022\250\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\002\206\000\000\022\254\025\154\000\000\000\000\000\000\n\138\n\146\000\170\000\000\000\174\000\000\n\214\n\222\n\230\011*\000\000\0112\011:\000\000\011J\000\000\011R\000\000\011Z\011\134\000\000\011\142\023\002\000\000\000\000\023\006\000\000\002R\000\000\000\000\002V\000\000\000\000\002Z\000\000\000\000\011\150\000\000\023\n\000\000\000\000\000\000\000\000\023\014\000\n\023\018\000\000\023\022\023\026\002^\023\030\011\158\002b\000\000\000\000\000\000\000\000\023\"\002r\bf\023&\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\002R\000\000\000\000\002V\023*\000\000\002Z\002\142\002\146\023.\0232\002\150\002\154\002\158\011\174\000\000\002\162\002\166\000\000\000\000\002\170\000\000\002^\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\002r\002\182\000\000\002~\000\000\000\000\002\174\000\000\000\000\000\000\002\134\002\178\002\138\000\000\000\n\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\002\186\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\000\000\002\170\002\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\002\194\000\000\000\000\002\174\000\000\000\000\002\198\000\000\002\178\000\000\000\000\000\n\000\000\000\000\b\026\002\202\000\000\000\000\000\000\000\000\002\186\002\206\000\000\004}\000\000\000\000\004}\000\000\000\000\004}\000\000\002\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\002\194\004}\000\000\000\000\004}\000\000\002\198\000\000\000\000\000\000\004}\004}\000\000\004}\000\000\002\202\000\000\000\000\000\000\000\000\004}\002\206\004}\000\000\000\000\000\000\000\000\000\000\000\000\022\214\004}\004}\000\000\000\000\004}\004}\004}\000\000\000\000\004}\004}\022\218\000\000\004}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\222\000\000\022\226\000\000\000\000\000\000\000\000\000\000\000\000\004}\022\230\000\000\000\000\000\000\004}\000\000\022\234\004}\000\000\022\242\000\000\000\000\000\000\022\246\000\000\000\000\004}\000\000\000\000\022\250\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\024N\006Y\000\000\000\210\000\000\022\254\006Y\000\000\006Y\000\000\004}\000\000\000\000\006Y\006Y\000\000\004}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004}\000\000\000\000\000\000\006Y\011\189\004}\023\002\000\000\006Y\023\006\001\026\000\000\000\000\006Y\000\000\006Y\000\000\006Y\000\000\000\000\006Y\006Y\023\n\000\000\000\000\000\000\000\000\023\014\000\n\023\018\000\000\023\022\023\026\000\000\023\030\000\000\000\000\006Y\000\000\000\000\000\000\023\"\000\000\000\000\023&\000\000\000Z\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\000\000\000\000\006Y\000\000\023*\000\000\006Y\006Y\000\000\023.\0232\011\189\000\000\000\000\000\000\006Y\000\000\000\000\006Y\002\n\000\000\000\000\000\000\000\000\000Z\000\000\000\000\006Y\000\000\006Y\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\000\000\006Y\000\000\000\000\006Y\006Y\000\000\000\000\006Y\000\000\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\006Y\006Y\000\000\000\000\006Y\000\000\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\004\149\004\149\004\149\004\149\000\000\004\149\000\000\004\149\004\149\004\149\004\149\000\000\004\149\004\149\000\000\004\149\000\000\004\149\000\000\004\149\004\149\004\149\004\149\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\004\149\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\004\149\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\002R\000\000\000\000\002f\000\000\000\000\002j\000\000\000\000\000\000\004\149\000\000\000\000\001\234\000\000\000\000\004\149\000\000\000\000\000\000\000\000\000\000\002^\000\000\004\149\002b\000\000\000\000\001\242\000\000\000\000\002n\002\130\000\000\002~\000\000\000\000\004\149\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\002\002\000\000\000\000\006B\002\146\000\000\002\014\006F\002\154\002\158\000\000\000\000\006N\006R\002\006\000\000\006V\000\000\000\000\000\000\004\149\000\000\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\000\000\000\006^\000\000\000\000\000\n\000\000\000\000\000\000\002R\000\000\000\000\002f\000\000\006n\002j\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\004\149\000\000\002^\000\000\000\000\002b\000\000\000\000\000\000\006r\000\000\002n\bN\002\022\002~\006v\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\006z\000\000\000\000\000\000\000\000\000\000\002\206\006B\002\146\000\000\000\000\006F\002\154\002\158\r\145\000\000\006N\006R\006Y\000\000\006V\000\000\006Y\006Y\000\000\004\022\000\000\006Y\006Y\004j\006Y\000\000\006Y\000\000\006Y\006Y\006Y\006Z\000\000\006Y\006Y\000\000\006^\000\000\006Y\000\n\004\178\000\000\000\000\006Y\000\000\006Y\000\000\006Y\006n\000\000\006Y\006Y\006Y\000\000\000\000\000\000\000\000\006Y\000\000\006Y\000\000\000\000\006Y\006Y\006Y\006Y\000\000\006Y\000\000\006Y\000\000\000\000\006r\000\000\006Y\006Y\000\000\000\000\006v\006Y\006Y\000\000\000\000\006Y\006Y\000\000\000\000\006z\000Z\000\000\000\000\006Y\000Z\002\206\006Y\006Y\000\000\000\000\006Y\006Y\006Y\000\000\000\000\006Y\006Y\000\000\000\000\006Y\006Y\000Z\000\000\000\000\006Y\000\000\006Y\006Y\000\000\000\000\004\230\006Y\006Y\000\000\000\000\000Z\006Y\006Y\006Y\000\000\005&\000\000\006Y\000\000\000\000\000Z\006Y\000\000\006Y\000\000\006Y\006Y\006Y\006Y\000\000\000\000\006Y\006Y\000\000\006Y\006Y\006Y\006Y\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\006Y\006Y\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\006Y\000\000\006Y\006Y\006Y\000\000\000\000\006Y\006Y\000\000\000\000\006Y\006Y\006Y\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\000\000\000\000\006Y\006Y\000\000\000\000\006Y\000\000\000\000\000\000\000\000\006Y\006Y\006Y\000\000\000\000\006Y\006Y\000\000\000\000\006Y\000\000\000\000\006Y\000\000\006Y\006Y\006Y\000\000\000\000\006Y\000\000\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\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\001\214\001\222\001\226\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\001\234\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000R\000V\000f\000\170\000\000\000\174\001\242\000\178\000\186\000\194\001\006\000\000\001\014\001\022\001\234\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\002\002\000\000\000\000\001\242\000\000\000\000\002\014\000\000\000\000\000\000\000\000\001\234\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\001\242\002\018\000\000\005Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\005^\005b\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\005Z\000\000\000\000\000\000\000\000\000\000\000\n\000\000\002\006\000\000\000\000\000\000\005^\005b\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\002\022\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\005f\006Y\002}\001\234\000\000\000\000\006Y\000\000\006Y\000\000\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\001\242\000\000\000\000\000\000\004\197\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\002\002\000\000\000\000\000\000\000\000\006Y\005Z\b\249\000\000\006Y\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\005^\005b\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\006\n\000\000\000\000\000\000\002R\000Z\000\000\002f\006Y\000\000\002j\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\000\000\002^\000\000\000\000\002b\000\000\000\000\006Y\000\000\000\000\002n\006b\000\000\002~\000\000\000\000\000\000\000\000\006Y\000\000\002\134\000\000\002\138\000\000\005f\000\000\000\000\000\000\006Y\000\000\006B\002\146\006Y\006Y\006F\002\154\002\158\006Y\000\000\006N\006R\000\000\006Y\006V\006Y\000\000\002i\000\000\000\000\006Y\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\000\000\000\006^\006Y\000\000\000\n\006Y\006Y\000\000\000\000\006Y\000\000\000\000\000\000\006n\006Y\006Y\000\000\000\000\000\000\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\006r\000\000\b\150\000\000\000\000\000\000\006v\000Z\000\000\000\000\006Y\000\000\000\000\000\000\000\000\006z\000\000\000\000\006Y\000\000\000\000\002\206\006Y\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\006Y\000\178\000\186\000\194\001\006\006Y\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\006\226\000\000\000\000\007:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\000\000\000\000\000\000\006Y\000\000\000\000\006Y\006Y\006\234\007\018\006Y\001\242\000\000\000\000\000\000\006Y\006Y\000\000\000\000\000\000\006Y\000\000\000\000\006\242\000\000\000\000\000\000\001\253\000\000\007J\007R\002\002\000\000\000\000\000\000\000\000\000\000\028\018\000\000\007\026\000\000\000\000\006\250\000\000\007\n\002\006\000\000\000\000\000\000\028\022\005b\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&\007\"\001.\000\000\0016\001\214\001\222\001\226\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\001\234\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\007*\000\000\028\026\001\253\001\234\000\000\000\000\007\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\001\242\000\000\001\253\028\018\000\000\004\189\001\253\001\253\000\000\000\000\000\000\002\006\000\000\000\000\000\000\028\022\005b\007Z\0072\000\000\002\002\000\000\000\000\000\000\000\000\000\000\028\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\028\022\005b\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\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\028\026\000\000\001\234\000\000\000\000\000\000\000\000\002R\000\000\000\000\012J\000\000\000\000\012N\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\b\221\028\026\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\002\002\012R\012^\000\000\000\000\000\000\005n\000\000\002Y\000\000\000\000\002\134\000\000\002\138\002\006\000\000\000\000\000\000\005^\005b\000\000\012r\002\146\000\000\000\000\012v\002\154\002\158\000\000\000\000\012z\012~\000\000\000\000\012\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\012\134\012\138\000\000\000\000\002R\000\000\012\142\012J\000\000\000\n\012N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\150\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\012R\012\146\000\000\000\000\000\000\000\000\000\000\012\154\000\000\000\000\002\134\000\000\002\138\012\158\000\000\t\t\000\000\000\000\000\000\000\000\012r\002\146\012\162\000\000\012v\002\154\002\158\000\000\002\206\012z\012~\000\000\000\000\012\130\000\000\000\000\000\000\000\000\002R\000\000\000\000\012J\000\000\000\000\012N\000\000\000\000\000\000\000\000\012\134\012\138\000\000\000\000\000\000\000\000\012\142\000\000\000\000\000\n\000\000\002^\000\000\000\000\000\000\000\000\000\000\000\000\012\150\000\000\012R\012\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\002R\000\000\000\000\015\006\000\000\000\000\015\n\012r\002\146\012\154\000\000\012v\002\154\002\158\000\000\012\158\012z\012~\000\000\000\000\012\130\000\000\002^\000\000\012\162\000\000\000\000\000\000\000\000\000\000\002\206\015\014\016j\000\000\000\000\000\000\012\134\012\138\000\000\000\000\000\000\002\134\012\142\002\138\000\000\000\n\000\000\000\000\000\000\000\000\000\000\015&\002\146\000\000\012\150\015*\002\154\002\158\000\000\000\000\015.\0152\000\000\000\000\0156\000\000\000\000\000\000\000\000\002R\000\000\000\000\015\006\000\000\000\000\015\n\000\000\000\000\012\154\000\000\012\134\015:\000\000\000\000\012\158\000\000\015>\000\000\000\000\000\n\000\000\002^\000\000\012\162\000\157\000\000\000\000\000\000\015F\002\206\015\014\015\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\002R\000\000\000\000\015\006\000\157\000\157\015\n\015&\002\146\015J\000\000\015*\002\154\002\158\000\000\015N\015.\0152\000\000\000\157\0156\000\000\002^\000\000\015R\000\157\000\157\000\000\000\000\000\000\002\206\015\014\015B\000\000\000\000\000\157\012\134\015:\r\162\000\000\000\157\002\134\015>\002\138\000\000\000\n\000\000\000\000\000\000\000\000\ba\015&\002\146\000\000\015F\015*\002\154\002\158\000\000\000\000\015.\0152\ba\000\157\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ba\000\000\ba\000\000\000\000\000\000\015J\000\000\012\134\015:\ba\000\000\015N\000\000\015>\000\000\ba\000\n\000\000\ba\000\000\015R\000\000\ba\000\000\007)\015F\002\206\000\000\ba\000\000\000\157\000\000\000\000\000\000\000\000\000\000\007)\r\170\000\000\000\000\000\000\000\000\000\000\000\000\ba\025\154\007)\000\000\007)\015J\000\000\000\157\000\000\000\000\000\000\015N\007)\000\000\000\157\000\000\000\000\000\000\007)\000\000\015R\007)\000\157\000\157\000\000\007)\002\206\ba\000\000\000\000\ba\007)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\158\ba\000\000\000\000\000\000\007)\ba\ba\ba\000\000\ba\ba\000\000\ba\000\000\000\000\000\000\000\000\000\000\000\000\ba\000\000\000\000\ba\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007)\000\000\000\000\007)\000\000\000\000\ba\000\000\000\000\000\000\000\000\ba\ba\000\000\000\000\000\000\007)\000\000\000\000\000\000\000\000\007)\007)\007)\000\000\007)\007)\000\000\007)\000\000\000\000\000\000\000\000\000\000\000\000\007)\000\000\000\000\007)\000\000\000\000\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)\000\000\000\000\000\000\000\000\007)\007)\000R\000V\000f\000\170\0242\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\022\218\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\022\222\000\000\022\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\230\001\234\000\000\000\000\000\000\000\000\022\234\000\000\024J\022\242\000\000\000\000\000\000\022\246\000\000\000\000\001\242\000\000\000\000\022\250\022\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\222\000\000\022\226\000\000\000\000\022\254\002\002\000\000\000\000\000\000\022\230\000\000\028\"\000\000\000\000\000\000\022\234\000\000\000\000\022\242\002\006\000\000\000\000\022\246\028\022\005b\000\000\000\000\000\000\022\250\000\000\000\000\023\002\000\000\000\000\023\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\254\000\000\000\000\023\n\000\000\000\000\000\000\000\000\023\014\000\n\023\018\000\000\023\022\023\026\000\000\023\030\000\000\000\000\000\000\000\000\000\000\000\000\023\"\000\000\000\000\023&\000\000\023\002\000\000\000\000\023\006\000\000\022\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023*\000\000\000\000\023\n\022\218\023.\0232\000\000\023\014\000\n\023\018\000\000\023\022\023\026\022\222\023\030\022\226\000\000\000\000\000\000\000\000\b\237\023\"\000\000\022\230\023&\000\000\000\000\000\000\000\000\022\234\000\000\022\214\022\242\000\000\000\000\000\000\022\246\000\000\000\000\023*\000\000\000\000\022\250\022\218\023.\0232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\222\000\000\022\226\000\000\000\000\024\246\000\000\000\000\000\000\000\000\022\230\000\000\000\000\000\000\000\000\000\000\022\234\000\000\000\000\022\242\000\000\000\000\000\000\022\246\000\000\000\000\000\000\000\000\000\000\022\250\000\000\000\000\023\002\000\000\000\000\023\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026j\000\000\000\000\023\n\000\000\000\000\000\000\000\000\023\014\000\n\023\018\000\000\023\022\023\026\000\000\023\030\000\000\000\000\000\000\000\000\000\000\000\000\023\"\000\000\000\000\023&\000\000\023\002\000\000\000\000\023\006\000\000\022\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023*\000\000\000\000\023\n\022\218\023.\0232\000\000\023\014\000\n\023\018\000\000\023\022\023\026\022\222\023\030\022\226\000\000\000\000\000\000\000\000\000\000\023\"\000\000\022\230\023&\000\000\000\000\000\000\000\000\000\000\015a\000\000\022\242\000\000\000\000\000\000\022\246\000\000\000\000\023*\000\000\000\000\022\250\000\000\023.\0232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015a\015a\000\000\000\000\000\000\022\254\000\000\000\000\012\194\000\000\000\000\000\000\000\000\000\000\000\000\015a\000\000\000\000\000\000\000\000\000\000\015a\015a\000\000\000\000\012\202\000\000\000\249\012\214\000\000\000\249\015a\023\002\000\000\015a\023\006\015a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\n\000\000\006\234\007\018\000\000\023\014\026\150\023\018\000\000\023\022\023\026\015a\023\030\000\000\000\000\000\000\000\000\006\242\000\000\023\"\000\000\000\249\023&\000\249\000\249\000\000\000\000\000\000\000\000\000\000\000\000\012\226\000\000\007\026\000\000\000\000\006\250\023*\007\n\000\000\000\000\000\000\023.\0232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015a\000\225\000\000\000\000\000\225\012\230\000\000\015a\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\012\238\000\000\000\000\000\000\000\000\015a\000\000\000\000\000\225\000\225\000\000\000\000\015a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015a\015a\000\000\006\242\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\000\007*\000\000\000\000\000\249\000\000\000\225\000\213\007\002\006\250\000\213\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\249\000\000\000\000\000\000\000\249\000\249\000\000\000\000\000\213\000\213\000\000\000\000\000\225\000\000\000\000\000\249\0072\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\213\000\217\000\000\006\250\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\000\007\002\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\217\000\000\000\225\000\225\000\217\000\000\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\225\000\225\000\000\000\217\000\221\000\000\006\250\000\221\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\000\007\002\000\221\000\221\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\006\242\000\000\000\213\000\213\000\221\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\213\000\213\000\237\000\221\000\000\000\237\006\250\000\000\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\000\007\002\000\000\006\234\007\018\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\006\242\000\217\000\217\000\000\000\237\000\000\000\237\000\237\000\000\000\000\000\000\000\000\000\217\000\217\000\000\000\000\000\237\000\229\000\000\006\250\000\229\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\000\000\000\007\002\000\000\006\234\007\018\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\006\242\000\221\000\221\000\000\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\221\000\221\000\233\000\000\000\229\000\233\000\000\006\250\000\000\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\007\002\006\234\007\018\000\000\000\000\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\237\000\000\006\242\000\000\000\237\000\237\000\233\000\000\000\233\000\233\000\000\000\000\000\000\000\000\000\000\000\237\000\237\000\000\000\233\000\241\000\000\006\250\000\241\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\229\000\000\000\000\000\229\000\000\000\000\000\000\007\002\006\234\007\018\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\229\000\000\006\242\000\000\000\229\000\229\000\241\000\000\000\241\000\241\000\000\000\000\000\000\000\000\000\000\000\229\000\229\006\226\007\026\000\000\001\001\006\250\000\000\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\233\000\000\000\000\000\000\007\002\000\000\006\234\007\018\000\000\000\000\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\006\242\000\233\000\233\000\000\001\001\000\000\001\001\007R\000\000\000\000\000\000\000\000\000\233\000\233\000\000\000\000\007\026\006\226\000\000\006\250\000\245\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007*\000\000\000\000\000\241\000\000\000\000\000\000\007\002\000\000\006\234\007\018\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\006\242\000\241\000\241\000\000\000\245\000\000\000\245\000\245\000\000\000\000\000\000\000\000\000\241\000\241\006\226\000\000\007\026\000\253\000\000\006\250\000\000\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007*\000\000\000\000\001\001\000\000\000\000\000\000\007\002\006\234\007\018\000\000\000\000\000\000\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\001\001\000\000\006\242\000\000\001\001\001\001\000\253\000\000\000\253\007R\000\000\000\000\000\000\000\000\000\000\007Z\0072\000\000\007\026\000\161\000\000\006\250\000\000\007\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007*\000\000\000\000\000\245\000\000\000\000\000\000\007\002\000\161\000\161\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\000\r\154\000\000\000\245\000\245\000\177\000\000\000\161\000\161\000\000\000\000\000\000\000\000\000\000\000\245\0072\000\169\000\161\000\000\000\000\r\162\000\000\r\178\000\000\000\000\000\000\000\000\000\000\r\146\r\186\007*\000\000\000\000\000\253\000\000\000\000\000\000\007\002\000\000\r\146\r\186\000\000\000\000\r\154\000\000\000\161\000\000\000\000\000\000\000\177\000\177\000\253\000\000\000\000\r\154\000\253\000\253\000\173\000\000\000\177\000\169\000\169\r\162\000\000\r\178\000\000\000\253\0072\000\000\000\000\000\169\000\000\000\000\r\162\000\000\r\178\000\000\000\000\000\000\000\000\r\146\r\186\000\000\000\000\000\000\000\161\000\000\r\202\000\000\000\000\000\000\000\000\r\170\000\000\000\000\r\154\000\000\000\000\000\169\000\000\000\000\000\173\000\173\000\000\000\000\000\000\000\161\000\000\000\181\000\000\000\000\000\173\000\000\000\161\r\162\000\000\r\178\000\000\000\000\000\000\000\000\000\161\000\161\000\000\000\000\000\000\000\000\000\177\000\000\000\000\000\000\r\146\r\186\000\000\r\170\000\000\000\000\000\000\000\169\r\202\000\000\000\000\000\000\000\000\000\000\r\170\r\154\r\138\000\177\000\000\000\000\000\000\000\181\000\181\000\000\000\177\000\000\000\000\000\000\000\169\000\000\000\000\r\194\000\177\000\177\r\162\000\169\r\178\000\000\000\000\r\146\r\186\000\000\000\000\000\169\000\169\000\000\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\r\154\r\170\000\000\r\138\000\000\r\202\000\197\r\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\r\194\000\000\000\000\r\162\000\000\r\178\000\173\000\000\000\000\000\000\r\146\r\186\000\000\000\000\000\173\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\154\000\000\000\000\r\202\r\210\000\000\000\185\000\185\000\000\000\000\000\000\r\170\000\000\r\138\000\000\000\000\r\194\000\000\000\000\r\162\000\000\r\178\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\r\146\r\186\000\000\000\000\000\181\000\181\000\000\r\210\r\202\000\000\000\000\000\000\000\000\000\000\r\170\r\154\000\000\000\000\000\000\000\000\000\000\000\193\r\234\000\000\000\000\000\000\000\000\000\000\000\197\000\000\000\000\r\194\000\000\000\000\r\162\000\197\r\178\000\000\000\000\000\000\000\000\000\000\000\000\r\242\r\218\000\000\000\000\000\000\r\210\000\000\000\000\000\000\000\000\000\000\000\000\r\170\000\000\000\000\000\000\r\202\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\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\r\218\000\000\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\210\000\000\000\000\000\000\000\000\000\000\000\000\r\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\000\000\000\193\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\193\r\218")) + ((16, "\001d\000\237\000\000\000\000\000\236\000\237\000\000\000\000\000F\000\000\000\000\000\000\001\t\000\000\000\000\000\000\001d\000\000\000u\030\002\000\000\019\220\019\220\000\000\000\000>\004\019\220\000\000\027\204\019\220\000\000\000\000\019\220\000\000\019\220\000\000\000K\000h\019\220\000\000\019\220\000\000\000\000\000\000\019\220\000\000\019\220\000\000>\186\019\220\000\000S\012\019\220\000\000\000\000\019\220\000\000\019\220\000\000\000\154\001\016\019\220\000\000\019\220\000\000\019\220\000\000\019\220\000\000S&\019\220\000\000\000\000\019\220\000\000\019\220\000\000\000k\004x\004x\000\000\000r\001\170\000k\000\000\000f\001\"\000\000\000\000\000\000\000\000\000\000\000\000\001\220\000\000\000\000\001\212\005\186\000\000\002n\001\188\004x\000\000\002\170\007&\000\000\000\000\000\000\001\206\019\220\000\000S\012\004x\001\230\019\220\000\000\000\000\019\220\000\000\000\000\019\220\000\000\019\220\000\000\002\022\002\\\019\220\000\000\030\002S$J\244\000\000\000\000T\156\002\232:\232\001\220J\244\000\000\000\000\002,\019\220\000\000J\244\000\000\000k\0005J\210\000\000\000\000N\180On\000\000Tz\000\000O\236?4\026\160\026\160Tz?4\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000PD?4\000\000\000\000PDPDPD\000\000PD\000\000?4PD\000\000\000\000\000\000\031\216\000k\000\000\021R\026\160?4\000\000 \236?4(\150?4(\174?4\000\000\000\000\000\000\000\000\000\000\000\0001\026?4\000\0002\028?4)\196?4*&?4\000\000?4\000\000?4+(?4+\138?4,\140?4,\238?4-\240?4.R?4\003(?4\000\000\000\000\000\000\000\000\000\000?42~?43\128?43\226?44\228?4/T?4/\182?40\184?45F?46H?4\000\000?46\170?47\172?48\014?4\000\000?49\016?49r?4\000\000\000\000?4\000\000\003D\000\000\000\000\000k\000\000\000\000\000\000\003Z\000\000\003\168\000\000\000y?4\000\000\000y\000\000\000\000\002,\030\002\000\000\019 \019\220\000\000\000z\019\220\000\000UH\019\220\000\000\000\000\019\220\000\000\019\220\000\000\004\016\004\164\019\220\000\000\019\220\000\000\019\220\000\000\019\220\000\000\006 \019\220\000\000UT\019\220\000\000\000\000\019\220\000\000\019\220\000\000\004\146\004\200\019\220\000\000\019\220\000\000\019\220\000\000\019\220\000\000Up\019\220\000\000\000\000\019\220\000\000\019\220\000\000\002\000\004x\004\168\019\220\000\000S&\004x\005N\019\220\000\000\000\000\019\220\000\000\019\220\000\000\019\220\000\000\005\192\006>\019\220\000\000UTJ\244\006<\019\220\000\000[ZVj\000\000\001\"\007\\\000k\006\178\007\168W&W&\000\000\000\000\000\170[\138W&\0014W\224\000\000\000\000\000\000\004\184\007\180\000\018\007\228W&\000\000\000\000\007\"\000\000\0078\b\bW&\007D\000\000\000\000\000\000\003FX\016\000\000\000\000\000\000\007L\b4\000\000\b@\000\000\021\130\002\220J\244\007Z\019\220\000\000X(J\244\007~\019\220\000\000\000\000\000k\bn\000\000\000\000\000\000\002,\000\000\000\000\026\160\007\152\000\000\007\154Tz\000\000\000\000\000\000\000\000\000\000\000\000PD\000\000\000\000PD\000\000\000\000PD\000\000Tz\000\000\000\000K~\000k\000\000\021R\021R\000\000\004\186\025\144\021R$\000?4\000\000?4\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%V?4=\214?4\007\200?4\000\000?4`d?4aP?4a\192?4b\018?4bR?4b\210?4\000\000?4c\018?4cd?4c\212?4\000\000?4d&?4df\004\198\022\188\000\000\000\000\005\144\024&\000\000\000\000\000\000\000\000\007\160\000\000?4\007\160\000\000\000\000\000k\000\000\000\000\000\000\000\000\007\178\000\000\000\000\000\000\000\000\000\000\000\000\007\182\000\000\000\000\000\000\007\182\000\000\000\174P\194\bt?4\bB\000\000\000\000Tz\000\174\000\000\007\200\000\000\007\204?4\000\000\026\160\007\206\000\000\000\000\b\170\000\000\026\160\007\222\000\000\000\000\026\160\007\224\000\000\000\000\007\222\000\000\000\000\0005\000\000\b\208\000\000X@J\244\007\230\019\220\000\000\000\000\bp\000\000\007\242\019\220\000\000\000\000\002.\030\002\000\000\030\002\000\000\007\228\000\000\002.\000\000\017\134'\148\019\182\000\000\0066\019\182\000\000\019\182\019\182\000\000\000\000\019\182\000\000\019\182\000\000\b.\b\\\019\182\000\000\019\182\000\000\019\182\000\000\019\182\000\000\006\220\019\182\000\000\019\198\019\182\000\000\000\000\019\182\000\000\019\182\000\000\b2\b`\019\182\000\000\019\182\000\000\019\182\000\000\019\182\000\000L&\019\182\000\000\000\000\019\182\000\000\019\182\000\000\004\002\004x\b\n\019\182\000\000\019\214\004x\b\014\019\182\000\000\000\000\019\182\000\000\019\182\000\000\019\182\000\000\bD\br\019\182\000\000\030\002\b\"\000\000\019\220J\244\b\"\019\182\000\000\000\000\000k\000\000\001F\000k\000\000\000\000\000\000\t\022\000\000\004>J\244\b,\019\182\000\000L&J\244\b8\019\182\000\000\000\000\022\236\019\182\000\000\007\150\019\182\000\000LP\019\182\000\000\000\000\019\182\000\000\019\182\000\000\bh\b\150\019\182\000\000\019\182\000\000\019\182\000\000\019\182\000\000\bR\019\182\000\000L\158\019\182\000\000\000\000\019\182\000\000\019\182\000\000\bp\b\158\019\182\000\000\019\182\000\000\019\182\000\000\019\182\000\000L\198\019\182\000\000\000\000\019\182\000\000\019\182\000\000\005\178\004x\bF\019\182\000\000L\158\004x\bH\019\182\000\000\000\000\019\182\000\000\019\182\000\000\019\182\000\000\bz\b\168\019\182\000\000L\214J\244\bP\019\182\000\000\000\000\006bJ\244\bR\019\182\000\000L\228J\244\b\\\019\182\000\000\000\000\000\000\000\000\000\000\000\000\t6?4\bv\030\b\b\246\000\000\t@?4\b\132\tL:\232\000\000\000\000\000\000!\164\000k\000\000\000\172?4:\206\000\000Q\026\026\160\b\144\000\000\000\000?4\b\148\000\000\026\160\b\148\000\000\b\154[\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000PD\000\000\000\000PD\000\000\000\000PD\000\000[\170\000\000\000\000`\204\000k\000\000\021R\b\158\000\000?4\b\164\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\000\000\000?4\002@?4\b\168\000\000\000\000:\206:\206\"b\003\138\th?4\000\000\t0\000\000\000\000\000k\000\000#\132\000\000\b\230:\206\000\000\b\226:\206\000\000\000\174\000\000\000\000d\230?4e&?4e\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\000=*?4\000\000?4\000\000\tF\000\000\000y\000\000\000\000\000\000\000\000\000\000?\230?4@H?4\tp?4\000\000?4AJ?4A\172?4B\174?4C\016?4D\018?4Dt?4\000\000?4Ev?4E\216?4F\218?4\000\000?4G\000\000\001t\000\000\001t\000\000\017\134\007L\007L\000\000\000\000\000\000\000\000\000\000\000\000\n\022?4\tR\030\b\030\224\000k\n:\000\000\n\028J\210\nBJ\210\nF?4\tb\030\b\030\b\006b\006b\005\206\002\202\006b\000\000\000\000\005\218\007\016\000\000\005\228\b\152\000\000\000\000\000\000\000\000\000\000\tf\000\000\000\000\nN\000\000\nP\000\000\000\000\n\140\n4?4\tt\n^\000\000\nB\021R\t~\030\b\000\000\000\000\t\170\000\000\000.\000\000\005\214\000\000\000\000\001t\000\000\n\000\000\000\r$\000Q\000\000\r$\000\000\000\000#\132\000\000\0018\000\000\000\000\n8\000\000\r$\000\000\nL\021R\t\138\nx\000\000\001\168\000\000\nH\000k\t\150\nlW&\t\168\006T\000\000?4\n\154\000\000\n|W&\t\184\n\166\000\000\002\248?4\n\168\000\000\n\170\000\000\021\130\000k\003\000?4\n\172\000\000\n\174\000\000\000\000\000\000\n8\000\000\000\000\000.\000\000\007L\000\000\003\022\000\000\000\000\003`\030\224\000\000\003`\000\000\000\000\t\204\000\000\003\144\000\003\030\b\000\000\004`\000Q\004`\000\000\000.\000\000\007L\000\000\007L\000\000\000\000\000\000\t\198\000\000\000\000\t\208\000\000\005\184\005\214\000M\004`\000\000\000\000\000\000\002\014\000\000\007L\000\000\005\184\000\000\000\000\005\180\b\184\017\134\000\000\018D\000\000\b\194\017\134\000\000\000\000\b\194\000\000\000\000\t\206\000\000\000\000\t\216\000\000\006P\007L\000\000\006P\000\000\000\000\nV\000\000\000.\000\000\007L\000\000\000\000\000\000\018\240M\184\000\000\n\200\000\000\018\240\000\000\n\208\000\000\n\210\000\000!\164\000k\006\142\000\000?4\n\216\000\000\001\204\n\172\000k\t\250\n\194W&\t\254\007\014\000\000?4\n\230\000\000\007\016\000\000?4\n\232\000\000\021\130\000k\007&\000\000?4\n\234\000\000\006Z\018\240\000\000#\132\007L\000\000?4\n\236\000\000\000\000\000\000\005F\000\000\n\206\021R\n\n\n\244\000\000\007*\000\000\n\196\000k\n\020\n\220W&\n\024\007Z\000\000?4\011\004\000\000\007f\000\000?4\011\b\000\000\021\130\000k\007\128\000\000?4\011\n\000\000\006Z\000\000\000\000\n*\000\000\005F\007*\n\170\000\000\000\000\000\000\n\172\000\000\000\016\000\198\000\000\017\134\011\006\000\000\000\000?4\n`\007L\000\000\n2\000\000\000\t\000\000:\232\000\000\000\000\002>\017\134\000\000\017\134\000\000\n\"\000\000\002>\000\000?4\003\180?4\000\000?4\000\000\n$\000\000\003\180\000\000?4\003\180\n(\000\000\030\b\004&\030\b\000\000\030\b\000\000\n,\000\000\004&\000\000?4\003\180\n2\000\000:\232\004\222:\232\000\000:\232\000\000\n4\000\000\004\222\000\000?4\003\180\nV\000\000\000\000\029\\\000\000\000\000\n\220H\178\000\000\000\000\000\000\000\000\000\000\n\176\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\002\222H\178\000\000\002\240\004\238\000\000\n\178\000\237\000\000\000\000\000\000\000\149\004\238\000\000\000\000\000\000\000\000\011\016\000\000\000\000\000\000\000\000\"b$\250\000\000\\\182\000\000H\178\000\000\006@H\178\000\000\003^\005,\005,\000\000\0066\005,\000\000\n\138\000\000\000\000\000\000\000\000\011\022\000\000&L\000\000'\148H\178\000\000\000{H\178\000\000\011\028\000\000H\178\011\030\000\000^\142I\160\011&\000\000\011(\000\000^\250R^I\160\000\000\000\000\n\162H\178\0110\000\000\0114\000\000\0116\000\000\030\002\000\000\006\194\030\002\000\000\n\176\019\182\000\000\0032H\178\000\000\006\244H\178\000\000\003r\011\184\000\000\011\186\000\000H\178H\178\n\182\000\000\000\000\000\000\000\000\000\000\000\000\011D\000\000_\200H\178\011H\000\000\011J\000\000H\178\011L\000\000H\178\n\242\000\237\000\000\000\000\007\012H\178\000\000\003r\000\000\011P\000\000H\178\011R\000\000H\178\011T\000\000N\140\019\182\000\000\019\182\000\000I\160I\160\n\206H\178\011Z\000\000\011\\\000\000\019\182\000\000]\014\000\000\000\000\007\022H\178\000\000\004>\006B\005,\n\212\000\000\000\000\005 \000>\000\000\000\000\000\000\006\210\000>\000\000\n\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\178\000\000\007^H\178\000\000\000\003\007h\000\237\n\216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011d\000\000\011f\000\000H\178\011h\000\000`\026H\178\011n\000\000\011p\000\000H\178\011r\000\000\028\n\011\028\031\216\019\198]\220\n\242\000\000H\178\011|\000\000\011\128\000\000\011R\028\nH\178\011\140\000\000H\178\011\142\000\000\011\144\000\000H\178\011\152\000\000\000\237\011\n\000\000\000\000\029\\\000\000\000\000\002\144\011\252\000\000\000\000\000\235\000\000\000\000\000\000?4\000\000\000\000\000\000\002\234\000\000\004\030\000\000\000\000\000\000\004`&\242&\242&\242\000\000\000\226\000\226\000\226\000\226\000\000\000\000\000\000\000\000\000\000\000\000\001t\017\134\011\252\014\154\000Q\000\000\000\000\0018\000\000\n8\000\000:\206\011&\000\000\001t\017\134\011,\016\016\000\000\001t\014\154\000\000\000\000\000\000J\244\014\230\000\000\000\000\000\000\011z\003\016\011\250Y\182Y\182\000\000\006v^\134Y\182\006\220Y\230\000\000\000\000\005\202\011\234\000k\000\000\007\006Z\160\000\000\000\000\000\000\000\000\000\000\0118\011\248\007L\0116\000\000\0018\000\000\n8\000\000\n\132\005\014\000\000\000\000\011\228\000\000\000\000\002\144\000\000\005R\000\000\000\000\000\000?4\000\000\002\234\000\000\005\198\000\000\000\000\000\000\005\214\000\000\011\174\002\218\011\174\000\000\007L\011\174\000\000\002\218\000\000\007L\000\000\007L\000\000\007L\000\000\n\132\000\000\000\000\000\000\000\000\000\000\007L\000\000\002\218\000\000\007L\000\000\rp\000\000\000\000\b\194\011j\000\237\005 \012\012\001X\000\000\001X\0124\000\000\0126\000\000\012<\000\000\000\000\001l\001X\006l\001X\000\000\000\000\002\n\004\022\011<\000\000\011F\000\000\011\134\000\237\004\022\011N\000\000\003\180\012R\000\000\004\022\007\226\012f\005\162\012f\000\000\000\000\004\250\000\237\000\000\000\229\000\000\000\000\003\218\000\000\011V\000\000\000\000\000\000\011\152\000\237\004\022\011^\000\000\000\000\003\180\004\022\007\226\004\250\000\229\003\218\011`\000\000\004\022\007\226\004\250\000\229\003\218\011b\000\000\005\144\000\164\011~\000\237\011x\b2\b0\011\162\000\237\000\000\011\164\000\237\000\000\012\002\000\000\011\136\b.\011\130\b2\012\b\000\000\011\134\b2\012\014\000\000\000\000\b2\000\000\012\016\000\000"), (16, "\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\000\n\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\030\178\001:\004~\015\210\rm\015\210\005-\030\182\006\157\rQ\n\218\rm\017^\rm\017^\025V\025^\rm\rm\026V\rm\001B\r\017\rm\005\157\0007\000;\002N\rm\rm\rm\000N\t\134\022\182\022\222\022\238\023\022\023&\023N\rm\027\191\027\195\rm\rm\005-\027\199\014!\004\174\rm\rm\004\182\rm\004\198\rm\000\n\026\194\000&\018v\rm\004\206\rm\rm\rm\rm\rm\001J\015\210\024\018\rm\rm\rm\rQ\rm\rm\rm\017^\000*\rm\rm\rm\rm\rm\t\245\001B\024\178\rm\rm\018\134\006\245\018\134\004\214\r\017\000\150\031.\012\225\012\146\rm\rm\rm\006\157\012\150\rm\rm\rm\rm\028\n\rm\012\154\rm\014!\005\157\rm\012\158\028\014\rm\rm\000\n\014!\014!\006\157\012\241\015\250\014!\006\157\004\230\019\190\rm\r\t\r\t\rm\026r\007\029\015\162\rm\rm\rm\rm\005\t\000\n\rm\r\182\rm\012\241\022f\t\245\rm\rm\rm\006\165\rm\018\134\rm\rm\022N\rm\015\254\rm\rm\0066\000\154\rm\rm\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\001Z\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\000\006\000\"\000\n\018v\007%\015\214\015\230\015\246\005\234\005\t\rI\007%\015\210\007%\030\018\004\189\005\t\007%\007%\000\242\007%\017^\004\189\007%\012\234\006\181\020\186\b\166\007%\r\246\007%\001^\001B\020\190\r\t\030\022\001b\020\194\005i\007%\001f\030:\030\026\006\014\014\234\r\t\015N\tA\007%\007%\007\029\r\t\r\t\007%\007%\014!\000\246\001j\007%\018\234\007%\007%\007%\007%\007%\000\n\014\234\015\002\007%\007%\007%\022:\007%\007%\007%\018\238\000\022\007%\007%\007%\007%\007%\001N\r\t\004\145\007%\007%\002\146\r\t\r\t\001\150\015.\002\158\021\014\000.\002\146\018\134\007%\007%\015.\002\158\007%\007%\007%\007%\002&\007%\030\"\007%\001B\018v\007%\006\026\002\146\007%\007%\t1\015.\002\158\015\210\030:\n\226\tf\005v\000\n\001B\014!\014!\017^\007%\022\150\014!\000\n\007%\007%\007%\007%\001z\005\157\007%\030*\007%\000\n\001B\030J\007%\007%\007%\006\189\006\189\000\n\007%\007%\004\150\007%\030B\007%\007%\000\n\007E\007%\007%\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\000\n\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\b\241\004\145\tn\007E\007E\001\134\007E\004\145\004\145\001\182\022\158\007E\b\221\007E\027\174\007E\018\134\007E\007E\004\145\007E\001\202\001\246\007E\007E\018v\012\241\007E\007E\007E\007E\012\241\007E\007E\015\210\001\250\007E\005\157\017\230\007E\012\241\r\190\007E\017^\012\241\004\145\006\154\030B\007E\007E\007E\007E\006\237\007E\002\030\018\234\0026\001B\007E\027\174\007E\007E\007E\007E\007E\r\202\001B\006\197\007E\007E\007E\018\238\007E\007E\007E\006\221\r9\007E\007E\007E\007E\007E\001\146\025V\025^\012M\007E\r\222\002\146\b\237\000\n\002\146\002\154\002\158\007E\015.\002\158\007E\007E\000\n\007E\007E\007E\007E\007E\005\213\007E\019\142\007E\007E\005I\007E\001\162\024f\007E\007E\018v\015n\018\134\002m\019\154\005\185\015\138\025f\005\213\000\n\007E\023\242\000\n\007E\022\190\0192\b\213\007E\007E\019R\007E\014\234\023\230\007E\007U\007E\014\234\t\217\004~\007E\025>\012M\n\025\n\025\t\253\014\234\007E\n\025\007E\014\234\007E\007E\003\162\004\141\007E\007E\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\023v\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\022\246\023z\026V\006n\012\162\005\209\nb\002\157\004R\005\213\022\198\012\178\023~\001\234\023\130\007U\004n\002R\012\186\007\021\015\170\005\181\023\134\015\174\005\209\t\253\001B\005I\001\242\005\213\015\194\023\146\030~\005I\005I\023\150\n\254\004\197\026j\002b\014\162\023\154\028.\006\245\004\197\005I\005I\b\249\017r\016\006\028Z\028f\030\190\017v\019\202\004v\001B\023\158\002\134\000\n\002\138\005y\002\006\018~\017~\t\237\001>\022\254\016\030\002\146\017\130\005I\016\"\r\214\002\158\006\213\004\141\016&\016*\012\206\012\210\016.\004\141\004\141\023\162\001B\017\134\023\166\004\218\000\n\0065\023\246\023.\006.\004\141\030\n\005\209\r>\0162\023\250\023\170\017\138\017\142\0166\017\146\023\174\000\n\023\178\017\166\023\182\023\186\005U\023\190\029/\017\178\016>\005\209\001B\000\n\023\194\004\141\0293\023\198\027\231\027\235\015\030\028z\t\237\027\239\017\210\023\138\0296\006\229\017\214\018\"\005y\012\214\023\202\001F\016B\004\222\018&\023\206\023\210\024\006\016J\005y\005y\021\154\026n\000\n\005y\018.\005.\016N\024j\007M\007M\0052\0236\002\214\007M\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\004~\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\005~\003\229\007V\007=\012\162\003\229\b\181\026r\b\030\007=\007=\012\178\b\165\001\234\031*\000\n\018\234\002R\012\186\014\174\015\170\030\166\005\002\015\174\014\190\005\n\t\t\005\026\001\242\015\"\015\194\002}\018\238\t\154\005\"\011\254\t\162\006\205\t\178\002b\001>\030\n\015\210\028\218\004\150\t\186\020\014\007=\017r\016\006\028Z\017^\002\146\017v\020\018\001B\015.\002\158\002\134\001B\002\138\005\137\002\006\018~\017~\005*\004\141\001B\016\030\002\146\017\130\000\n\016\"\r\214\002\158\006\245\t\194\016&\016*\012\206\012\210\016.\023\138\005\146\004\137\018\130\017\134\012\217\000\n\000\n\029O\029S\000\n\012\217\012\217\029W\019\n\r>\0162\005:\000\n\017\138\017\142\0166\017\146\012\217\000\n\026Z\017\166\b.\t\210\005U\001F\002M\017\178\016>\t\238\005\186\030\150\t\246\004\137\n\006\020\142\012j\017\218\020\250\018\134\021n\n\014\017\210\006\237\012\217\006\253\017\214\018\"\rA\012\214\b\225\003\229\016B\017\226\018&\003\229\001B\b\209\016J\017\246\005\137\029o\029s\b\193\018\002\018.\029w\016N\002]\007]\007]\005\190\n\022\002\214\007]\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\n\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\019\014\004\137\021*\021>\012\162\024v\n&\004\137\004\137\017\222\024Z\012\178\r\001\001\234\021Z\005\210\021\182\002R\012\186\004\137\015\170\007\005\0116\015\174\017\218\011>\007\r\011N\001\242\020\254\015\194\004\229\021\186\021~\011V\001>\004\137\028\190\r)\002b\021\214\t%\015\210\001B\004\150\004\137\021\234\030B\016\002\016\006\r1\017^\002\146\017v\001B\r\025\015.\002\158\002\134\022\006\002\138\005\165\002\006\017z\017~\011^\005\238\026\198\016\030\002\146\017\130\005\246\016\"\r\214\002\158\025&\000\n\016&\016*\012\206\012\210\016.\012\233\026\130\030\142\014)\017\134\000\n\028\202\000\n\012\249\r!\t\021\021.\021B\005\250\017\222\r>\0162\011n\025J\017\138\017\142\0166\017\146\021^\000\n\001F\017\166\028\234\0062\005U\025\206\002\141\017\178\016>\011\138\026J\b\197\011\146\000\n\011\162\031B\031j\021\130\006:\018\134\006J\011\170\017\210\006\237\021\218\002q\017\214\018\"\005\165\012\214\021\238\006R\016B\031>\018&\031N\006V\006^\016J\005\165\005\165\006\130\006\134\022\n\005\165\018.\026\182\016N\006\142\n!\n!\006\162\011\178\002\214\n!\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\006\182\001&\006\202\001.\012\154\0016\001\214\001\222\001\226\012\158\006\234\006\242\0075\007\170\bF\012\162\bR\011\194\0075\0075\005I\031\147\012\178\br\001\234\b\142\b\158\b\174\002R\012\186\0075\015\170\b\182\b\206\015\174\bm\b\214\b\230\029\254\001\242\bu\015\194\b\242\000\n\017\218\b\254\t\014\t\026\015\210\bm\002b\t.\t>\015\210\bu\tN\0075\017^\tV\016\002\016\006\t{\017^\001B\017v\t\198\t\202\n\026\n\030\002\134\nj\002\138\n~\002\006\017z\017~\n\166\n\170\n\186\016\030\002\146\017\130\n\202\016\"\r\214\002\158\n\246\011\006\016&\016*\012\206\012\210\016.\011\026\011b\011f\000\n\017\134\011\182\011\186\012\006\012\026\bm\012B\012F\012Z\012r\bu\r>\0162\030f\012\134\017\138\017\142\0166\017\146\017\222\000\n\012\166\017\166\030z\012\174\012\182\012\190\005I\017\178\016>\030\210\012\198\030~\005I\005I\018\134\012\202\r\002\r\018\r\030\018\134\002a\r&\017\210\r\134\005I\005I\017\214\018\"\r\146\012\214\r\198\r\226\016B\r\238\018&\014\n\014\022\bm\016J\014\210\014\222\014\230\bu\014\250\015\006\018.\015\014\016N\015\018\bm\005I\015\026\015*\002\214\bu\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\015:\001&\015B\001.\012\154\0016\001\214\001\222\001\226\012\158\015F\015V\015^\015v\015~\012\162\015\146\015\154\015\166\015\186\015\206\015\218\012\178\015\226\001\234\015\234\015\242\016\014\002R\012\186\012\146\015\170\016\022\016v\015\174\012\150\016\130\016\186\016\234\001\242\028\n\015\194\012\154\017\150\017\158\017\174\017\182\012\158\028\014\017\190\002b\017\198\017\206\015\210\018\030\018*\0182\018>\018B\016\002\016\006\018J\017^\018N\017v\018V\018^\018n\018\146\002\134\018\214\002\138\018\222\002\006\017z\017~\018\226\018\242\018\250\016\030\002\146\017\130\018\234\016\"\r\214\002\158\018\254\019\006\016&\016*\012\206\012\210\016.\019\022\019\030\019&\014)\017\134\018\238\019*\019:\019B\019Z\019b\019\178\019\250\020\006\020z\r>\0162\020\134\020\166\017\138\017\142\0166\017\146\020\210\000\n\002\146\017\166\020\226\020\234\015.\002\158\021\006\017\178\016>\021\018\021\026\021\030\021&\0216\021J\021f\021\138\021\162\021\170\018\134\021\174\021\190\017\210\021\198\021\202\021\210\017\214\018\"\021\226\012\214\021\246\022\018\016B\022&\018&\0226\022F\000\n\016J\022^\022n\022z\005i\022\171\022\211\018.\022\235\016N\023\011\014)\014)\023#\023C\002\214\014)\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\023[\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\023r\023\142\023\254\024+\012\162\024\130\024\151\b5\b5\024\191\024\203\012\178\b5\001\234\024\219\024\227\024\254\002R\012\186\025\007\015\170\025\015\025\023\015\174\0252\025Z\025b\025r\001\242\025\143\015\194\025\159\025\167\025\179\025\190\025\227\025\239\025\251\026\030\002b\026'\026/\026b\026\142\026\206\026\239\026\247\027\003\017r\016\006\027\019\027\027\027'\017v\029\134\0272\027B\027O\002\134\027W\002\138\027^\002\006\018~\017~\027k\027w\027\127\016\030\002\146\017\130\027\139\016\"\r\214\002\158\027\151\027\178\016&\016*\012\206\012\210\016.\028:\028b\028r\028\166\017\134\028\174\028\222\029\006\029\n\029\018\029;\030\002\030\014\030\030\030&\r>\0162\030.\030[\017\138\017\142\0166\017\146\030c\000\n\030j\017\166\030w\030\130\005U\030\146\030\199\017\178\016>\030\214\030\227\031\007\031#\0312\031:\031F\031R\031_\031f\031n\031w\031~\017\210\031\135\031\155\000\000\017\214\018\"\000\000\012\214\000\000\000\000\016B\000\000\018&\000\000\000\000\000\000\016J\000\000\000\000\000\000\000\000\000\000\000\000\018.\000\000\016N\000\000\n\005\n\005\000\000\000\000\002\214\n\005\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\000\000\000\000\000\000\000\000\012\162\000\000\000\000\000\000\000\000\000\000\000\000\012\178\000\000\001\234\000\000\000\000\000\000\002R\012\186\012\146\015\170\000\000\000\000\015\174\012\150\000\000\000\000\000\000\001\242\028\n\015\194\012\154\000\000\000\000\000\000\000\000\012\158\028\014\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017r\016\006\000\000\000\000\000\000\017v\018\154\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\018~\017~\000\000\000\000\000\000\016\030\002\146\017\130\018\234\016\"\r\214\002\158\000\000\000\000\016&\016*\012\206\012\210\016.\000\000\000\000\000\000\014\005\017\134\018\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\002\146\017\166\000\000\000\000\015.\002\158\000\000\017\178\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\017\210\000\000\000\000\000\000\017\214\018\"\000\000\012\214\000\000\000\000\016B\000\000\018&\000\000\000\000\000\n\016J\000\000\000\000\000\000\005i\000\000\000\000\018.\000\000\016N\000\000\014\005\014\005\000\000\000\000\002\214\014\005\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\000\000\000\000\000\000\000\000\012\162\000\000\000\000\nQ\nQ\000\000\000\000\012\178\nQ\001\234\000\000\000\000\000\000\002R\012\186\012\146\015\170\000\000\000\000\015\174\012\150\000\000\000\000\000\000\001\242\028\n\015\194\012\154\000\000\000\000\000\000\000\000\012\158\028\014\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017r\016\006\000\000\000\000\000\000\017v\028>\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\018~\017~\000\000\000\000\000\000\016\030\002\146\017\130\000\000\016\"\r\214\002\158\000\000\000\000\016&\016*\012\206\012\210\016.\000\000\000\000\000\000\000\000\017\134\015\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\002\146\017\166\000\000\000\000\015.\002\158\000\000\017\178\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\017\210\000\000\000\000\000\000\017\214\018\"\000\000\012\214\000\000\000\000\016B\000\000\018&\000\000\000\000\000\n\016J\000\000\000\000\000\000\005i\000\000\000\000\018.\000\000\016N\000\000\014Q\014Q\000\000\000\000\002\214\014Q\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\000\000\000\000\000\000\000\000\012\162\000\000\000\000\000\000\000\000\000\000\000\000\012\178\000\000\001\234\000\000\000\000\000\000\002R\012\186\000\000\015\170\000\000\000\000\015\174\000\000\000\000\000\000\000\000\001\242\000\000\015\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017r\016\006\000\000\000\000\000\000\017v\028>\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\018~\017~\000\000\000\000\000\000\016\030\002\146\017\130\000\000\016\"\r\214\002\158\000\000\000\000\016&\016*\012\206\012\210\016.\000\000\000\000\000\000\000\000\017\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\000\000\017\166\000\000\000\000\000\000\000\000\000\000\017\178\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\017\210\000\000\000\000\000\000\017\214\018\"\000\000\012\214\000\000\000\000\016B\000\000\018&\000\000\000\000\000\000\016J\000\000\000\000\000\000\000\000\000\000\000\000\018.\000\000\016N\000\000\014M\014M\000\000\000\000\002\214\014M\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\000\000\000\000\000\000\000\000\012\162\000\000\000\000\000\000\000\000\000\000\000\000\012\178\000\000\001\234\000\000\000\000\000\000\002R\012\186\000\000\015\170\000\000\000\000\015\174\000\000\000\000\000\000\000\000\001\242\000\000\015\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017r\016\006\000\000\000\000\000\000\017v\020F\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\018~\017~\000\000\000\000\000\000\016\030\002\146\017\130\000\000\016\"\r\214\002\158\000\000\000\000\016&\016*\012\206\012\210\016.\000\000\000\000\000\000\000\000\017\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\000\000\017\166\000\000\000\000\000\000\000\000\000\000\017\178\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bm\000\000\000\000\000\000\018v\017\210\000\000\000\000\000\000\017\214\018\"\000\000\012\214\015\210\bm\016B\000\000\018&\000\000\000\000\000\000\016J\017^\000\000\000\000\000\000\000\000\000\000\018.\000\000\016N\000\000\000R\000V\000f\000\170\002\214\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\004\162\004\170\000\170\000\000\000\174\000\000\004\238\004\246\004\254\005B\bm\005J\005R\001\234\005b\000\000\005j\002R\005r\005\158\015\170\005\166\000\000\015\174\000\000\000\000\000\000\000\000\001\242\000\000\020\198\000\000\000\000\000\000\000\000\000\000\000\000\005\174\000\000\002b\018\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\214\016\006\000\000\000\000\005\182\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\bm\000\000\000\000\000\000\000\000\016\030\002\146\000\000\000\000\016\"\002\154\002\158\bm\000\000\016&\016*\012\206\020\218\016.\000\000\000\000\000\000\000\000\005\198\t\166\006\149\000\000\000\000\000\000\000\000\000\000\000\000\t\250\006\149\r>\0162\006\149\006\149\000\000\000\000\0166\006\149\000\000\000\n\006\149\006\149\006\149\000\000\006\149\000\000\006\149\000\000\016>\006\149\006\149\000\000\006\149\000\000\006\149\011\209\011\209\000\000\000\000\011\209\006\149\000\000\006\149\006\149\000\000\006\149\000\000\006\149\006\149\012\214\006\149\006\149\016B\006\149\020\222\006\149\006\149\000\000\016J\006\149\006\149\006\149\006\149\006\149\006\149\020\230\006\149\016N\000\000\006\149\000Z\000\000\006\149\002\214\006\149\011\209\000\000\006\149\000Z\000\000\006\149\nv\006\149\006\149\n\194\006\149\000Z\000\000\006\149\000Z\006\149\000\000\006\149\006\149\000\000\000\000\006\149\000\000\000\000\006\149\006\149\000\000\011\209\000\000\006\149\006\149\000\000\006\149\000\000\000\000\000\000\000\000\006\149\000\000\000\000\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\000\000\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\000\000\000\000\000\000\006\149\000\000\006\149\006\149\000\000\000\000\006\149\006\149\006\149\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\011\209\006\149\000\000\000\000\006\149\000\000\006\149\006\149\000\000\006\149\006\149\006\149\000\000\000\000\006\149\006\149\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\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\001\214\001\222\001\226\000\000\000\000\004\162\004\170\000\170\000\000\000\174\000\000\004\238\004\246\004\254\005B\000\000\005J\005R\001\234\005b\000\000\005j\002R\005r\005\158\002j\005\166\000\000\002n\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\174\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002\254\006\226\000\000\002~\005\182\000\000\007J\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\006\246\002\146\000\000\000\000\006\250\002\154\002\158\000\000\007N\006\254\007\002\000\000\000\000\007\006\000\000\000\000\000\000\000\000\005\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\n\000\000\000\000\000\000\000\000\007\014\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007R\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\026\000\000\000\000\000\000\000\000\000\000\007\"\000\000\000\000\004\221\000\000\000\000\000\000\000\000\000\000\007&\000\000\000R\000V\000f\000\170\002\214\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\001\214\001\222\001\226\000\000\000\000\011*\0112\000\170\000\000\000\174\000\000\011v\011~\011\134\011\202\000\000\011\210\011\218\001\234\011\234\000\000\011\242\002R\011\250\012&\002j\012.\000\000\002n\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0126\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002\254\006\226\000\000\002~\012>\000\000\007J\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\006\246\002\146\000\000\000\000\006\250\002\154\002\158\000\000\007N\006\254\007\002\000\000\000\000\007\006\000\000\000\000\000\000\000\000\012N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\n\000\000\000\000\000\000\000\000\007\014\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\022\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\026\000\000\000\000\000\000\000\000\000\000\007\"\000\000\000\000\b\169\000\000\000\000\000\000\000\000\000\000\007&\000\000\000R\000V\000f\000\170\002\214\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\001\214\001\222\001\226\000\000\000\000\000\000\000\000\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\002R\000\000\000\000\002j\000\000\000\000\002n\000\000\000\000\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\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002\254\006\226\000\000\002~\000\000\000\000\007J\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\006\246\002\146\000\000\000\000\006\250\002\154\002\158\000\000\007N\006\254\007\002\000\000\000\000\007\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\007\n\000\000\000\000\000\000\000\000\007\014\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\022\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\026\000\000\000\000\000\000\000\000\000\000\007\"\000\000\000\000\002Q\000\000\000\000\000\000\000\000\000\000\007&\000\000\000R\000V\000f\000\170\002\214\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\001\214\001\222\001\226\000\000\000\000\000\000\000\000\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\002R\000\000\000\000\002j\000\000\000\000\002n\000\000\000\000\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\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002\254\006\226\000\000\002~\000\000\000\000\007Z\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\006\246\002\146\000\000\000\000\006\250\002\154\002\158\000\000\007N\006\254\007\002\000\000\000\000\007\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\007\n\000\000\000\000\000\000\000\000\007\014\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\007\022\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\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\007\026\000\000\000\000\000\000\000\000\000\000\007\"\000\000\000\000\b\185\001\234\000\000\000\000\000\000\002R\007&\000\000\002V\000\000\000\000\002Z\002\214\000\000\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\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002z\002v\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\000\000\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\000\000\000\000\000\000\000\000\002\174\000\000\000\000\000\000\000\000\002\178\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\190\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\000\000\000v\002\194\000\000\006\149\000\000\006\149\000\000\002\206\000\000\000\000\006\149\006\149\000\000\000\000\000\000\000\000\002\222\000\000\000R\t\142\t\150\000\170\002\214\000\174\000\000\t\218\t\226\t\234\n.\000\000\n6\n>\023v\nN\000\000\nV\000\000\n^\n\138\001\222\n\146\006\149\000\000\000\000\023z\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023~\n\154\023\130\000\000\000\000\000\000\006\149\000\000\000\000\000\000\023\134\000\000\000\000\000\000\000\000\000Z\027.\000\000\006\149\023\146\000\000\000\000\000\000\023\150\000\000\000\000\006\149\000\000\000\000\023\154\006\149\006\149\000\000\000\000\000\000\000\000\n\178\000\000\000\000\000\000\000\000\025\026\006\149\000\000\000\000\023\158\026:\000\000\000\000\000\000\n\190\000\000\000\000\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\023\162\000\000\000\000\023\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\023\170\000\000\000\000\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\006\149\000\000\000\000\006\149\006\149\000\000\023\194\006\149\000\000\023\198\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\000\000\000\000\023\202\000\000\000\000\000\000\000\000\023\206\023\210\001\133\001\133\001\133\001\133\000\000\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\000\000\001\133\001\133\001\133\001\133\000\000\000\000\000\000\000\000\023f\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\000\000\000\000\001\133\000\000\000\000\023j\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\001\133\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\001\214\001\222\001\226\000\000\000\000\000\000\001\133\000\000\000\000\001\133\000\000\000\000\012\162\000\000\000\000\000\000\000\000\000\000\001\234\012\178\000\000\000\000\001\133\000\000\000\000\002R\012\186\001\133\015\170\001\133\000\000\015\174\001\133\001\242\023n\000\000\000\000\000\000\015\194\001\133\000\000\001\133\000\000\000\000\001\133\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\017\162\016\006\000\000\001\133\001\133\017v\000\000\000\000\001\133\001\133\002\134\002\006\002\138\000\000\000\000\000\000\017~\000\000\000\000\024.\016\030\002\146\017\130\000\000\016\"\r\214\002\158\000\000\000\000\016&\016*\000\000\000\000\016.\000\000\000\000\000\000\000\000\017\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\000\000\017\166\000\000\000\000\000\000\012\162\000\000\017\178\016>\000\000\000\000\000\000\012\178\000\000\000\000\000\000\000\000\000\000\002R\012\186\000\000\015\170\017\210\000\000\015\174\000\000\017\214\018\"\000\000\000\000\000\000\015\194\016B\000\000\018&\000\000\000\000\000\000\016J\000\000\002b\000\000\000\000\000\000\000\000\018.\000\000\016N\000\000\016\026\016\006\000\000\000\000\002\214\017v\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\017~\000\000\000\000\000\000\016\030\002\146\017\130\000\000\016\"\r\214\002\158\000\000\000\000\016&\016*\000\000\000\000\016.\000\000\000\000\000\000\000\000\017\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\000\000\017\166\000\000\000\000\000\000\000\000\023v\017\178\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\241\023z\000\000\015\241\000\000\017\210\000\000\000\000\000\000\017\214\018\"\000\000\023~\000\000\023\130\016B\000\000\018&\000\000\000\000\000\000\016J\023\134\000\000\015\241\015\241\000\000\000\000\018.\015\241\016N\023\146\002\242\015\241\000\000\023\150\002\214\000\000\000\000\015\241\000\000\023\154\015\241\015\241\000\000\015\241\015\241\000\000\000\000\002\250\000\000\015\241\003\014\000\000\000\000\015\241\000\000\023\158\015\241\000\000\015\241\015\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\241\023\162\015\241\000\000\023\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\241\000\000\000\000\000\000\023\170\000\000\000\000\004V\000\000\023\174\0276\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\000\000\000\000\000\000\000\000\023\194\000\000\000\000\023\198\015\241\015\241\000\000\015\241\015\241\004Z\000\000\015\241\000\000\000\000\000\000\000\000\000\000\000\000\023\202\015\129\004b\000\000\015\129\023\206\023\210\015\241\000\000\000\000\015\241\015\241\015\241\015\241\015\241\000\000\000\000\000\000\015\241\015\241\015\241\000\000\015\241\015\241\015\241\015\129\015\129\000\000\000\000\000\000\015\129\000\000\000\000\002\242\015\129\000\000\000\000\000\000\000\000\000\000\015\129\000\000\000\000\015\129\015\129\000\000\015\129\015\129\000\000\000\000\002\250\000\000\015\129\003\014\000\000\000\000\015\129\000\000\000\000\015\129\000\000\015\129\015\129\000\000\000\000\000\000\000\000\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\000\000\001&\015\129\001.\015\129\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\015\129\000\000\000\000\000\000\000\000\000\000\000\000\004V\000\000\001\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\242\000\000\000\000\015\129\015\129\000\000\015\129\015\129\004Z\000\000\015\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004b\002\002\000\000\000\000\000\000\015\129\000\000\000\000\015\129\015\129\015\129\015\129\015\129\000\000\000\000\002\006\015\129\015\129\015\129\000\000\015\129\015\129\015\129\011\205\011\205\011\205\011\205\000\000\011\205\000\000\011\205\011\205\011\205\011\205\000\000\011\205\011\205\000\000\011\205\000\000\011\205\000\000\011\205\011\205\011\205\011\205\000\000\000\000\005\185\000\000\000\000\005\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\011\205\011\205\011\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\205\000\000\005\185\005\185\000\000\000\000\011\205\005\185\000\000\024>\005\185\005\185\000\000\024F\000\000\000\000\000\000\005\185\000\000\011\205\005\185\005\185\000\000\005\185\005\185\000\000\011\205\005\185\000\000\005\185\005\185\011\205\000\000\005\185\000\000\000\000\005\185\000\000\005\185\005\185\011\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\185\011\205\005\185\000\000\011\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\185\000\000\000\000\000\000\011\205\000\000\000\000\005\185\000\000\011\205\000\000\011\205\000\000\000\000\011\205\000\000\000\000\000\000\000\000\000\000\000\000\011\205\000\000\011\205\000\000\000\000\011\205\005\185\005\185\000\000\005\185\005\213\005\185\000\000\005\185\000\000\000\000\000\000\000\000\000\000\000\000\011\205\011\205\005\185\000\000\000\000\024\154\011\205\005\185\005\181\000\000\005\185\005\181\005\185\000\000\005\185\000\000\000\000\000\000\005\185\005\185\005\185\000\000\005\185\005\185\005\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\181\005\181\000\000\000\000\000\000\005\181\000\000\000\000\005\181\005\181\000\000\000\000\000\000\000\000\000\000\005\181\000\000\000\000\005\181\005\181\000\000\005\181\005\181\000\000\000\000\005\181\000\000\005\181\005\181\000\000\000\000\005\181\000\000\000\000\005\181\000\000\005\181\005\181\001\225\000\000\000\000\001\225\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\005\181\000\000\005\181\001\225\001\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\181\000\000\000\000\000\000\000\000\001\225\000\000\005\181\000\000\001\225\000\n\001\225\001\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\000\000\001\225\000\000\001\225\005\181\005\181\000\000\005\181\005\209\005\181\000\000\005\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\181\000\000\000\000\000\000\000\000\005\181\001\225\000\000\005\181\000\000\005\181\000\000\005\181\000\000\000\000\000\000\005\181\005\181\005\181\000\000\005\181\005\181\005\181\011\189\011\189\011\189\011\189\000\000\011\189\000\000\011\189\011\189\011\189\011\189\000\000\011\189\011\189\000\000\011\189\000\000\011\189\000\000\011\189\011\189\011\189\011\189\001\225\007b\000\000\001\225\000\000\000\000\000\000\001\225\000\000\000\000\000\000\000\000\000\000\000\000\011\189\011\189\011\189\000\000\000\000\000\000\000\000\001\225\000\000\000\000\011\189\001\225\001\225\000\000\000\000\000\000\011\189\000\000\007j\000\000\000\000\000\000\001\225\001\225\000\000\000\000\000\000\000\000\000\000\011\189\000\000\000\000\000\000\000\000\007\154\000\000\011\189\007\162\000\000\000\000\000\000\011\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\178\007\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\011\189\007\194\000\000\011\189\000\000\0025\000\000\007\202\007\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\189\007\218\000\000\000\000\007\226\011\189\007\234\011\189\000\000\000\000\011\189\000\000\000\000\000\000\000\000\000\000\000\000\011\189\000\000\011\189\000\000\000\000\011\189\000\000\000\000\000\000\000\000\000\000\000\000\007\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\189\011\189\000\000\000\000\000\000\024B\011\189\011\193\011\193\011\193\011\193\000\000\011\193\000\000\011\193\011\193\011\193\011\193\000\000\011\193\011\193\000\000\011\193\000\000\011\193\000\000\011\193\011\193\011\193\011\193\000\000\000\000\007\250\000\000\000\000\0025\000\000\000\000\000\000\b\002\000\000\000\000\000\000\000\000\011\193\011\193\011\193\000\000\000\000\000\000\000\000\000\000\000\000\0025\011\193\000\000\000\000\0025\0025\000\000\011\193\000\000\000\000\024\158\000\000\000\000\000\000\000\000\b\n\b\018\000\000\000\000\000\000\011\193\000\000\000\000\000\000\000\000\000\000\000\000\011\193\000\000\000\000\000\000\000\000\011\193\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\011\193\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\000\000\011\193\000\000\000\000\011\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\011\193\000\000\000\000\000\000\000\000\011\193\000\000\011\193\000\000\000\000\011\193\001\242\000\000\000\000\000\000\000\000\000\000\011\193\000\000\011\193\000\000\000\000\011\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\011\193\011\193\000R\t\142\t\150\000\170\011\193\000\174\002\006\t\218\t\226\t\234\n.\000\000\n6\n>\000\000\nN\000\000\nV\000\000\n^\n\138\001\222\n\146\000\000\000\000\015\213\000\000\000\000\015\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\166\n\154\024\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\206\000\000\015\213\015\213\000\000\000\000\n\162\015\213\005U\000\000\016f\015\213\000\000\000\000\000\000\000\000\000\000\015\213\000\000\024\230\015\213\015\213\000\000\015\213\015\213\000\000\n\178\016n\000\000\015\213\016z\025\026\000\000\015\213\000\000\000\000\015\213\000\000\015\213\015\213\n\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\000\000\000\000\000\000\000\000\000\000\000\000\015\213\025:\015\213\000\000\025\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\213\000\000\000\000\000\000\025\170\000\000\000\000\016\134\000\000\025\182\000\000\t\213\000\000\000\000\025\230\000\000\000\000\000\000\000\000\000\000\000\000\025\242\000\000\025\254\000\000\000\000\026\250\015\213\015\213\000\000\015\213\000\000\016\138\001\209\015\213\000\000\001\209\000\000\000\000\000\000\000\000\027\006\027\030\016\146\000\000\001\209\000\000\027*\001\209\000\000\000\000\015\213\000\000\015\213\000\000\000\000\000\000\001\209\001\209\015\213\015\213\015\213\001\209\015\213\015\213\015\213\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\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\003\022\000\000\001\209\001\209\000\000\000\000\001\209\000\000\000\000\000\000\000\000\001\209\003\030\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\004F\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\003R\000\000\000\000\001Y\001Y\000\000\001Y\001Y\000\000\000\000\001M\000\000\001Y\001M\000\000\000\000\001Y\000\000\000\000\003Z\000\000\003j\001Y\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\001Y\000\000\001Y\000\000\000\000\001M\000\000\000\000\001M\001M\000\000\001M\001M\001Y\000\000\000\000\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\003Z\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\001Y\000\000\000\000\001Y\001Y\000\000\000\000\003b\000\000\001M\000\000\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Y\001M\000\000\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\001M\000\000\000\000\001M\001M\000\000\001Q\003b\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\001U\000\000\001Q\001U\000\000\000\000\001Q\000\000\000\000\003Z\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\001U\001U\000\000\000\000\000\000\001U\000\000\000\000\000\000\001U\001Q\000\000\001Q\000\000\000\000\003R\000\000\000\000\001U\001U\000\000\001U\001U\001Q\000\000\000\000\000\000\001U\000\000\000\000\000\000\001U\000\000\000\000\003Z\000\000\003j\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\001Q\000\000\000\000\001Q\001Q\000\000\000\000\003b\000\000\001U\000\000\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\001U\000\000\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\001U\000\000\000\000\001U\001U\000\000\001e\003b\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\003J\003r\000\000\001U\001U\001e\001U\001U\001U\001e\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001e\001e\000\000\001e\001e\000\000\000\000\001]\000\000\001e\001]\000\000\000\000\001e\000\000\000\000\003Z\000\000\003j\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\001]\000\000\000\000\000\000\001]\003\130\000\000\001e\000\000\000\000\003R\000\000\000\000\001]\001]\000\000\001]\001]\001e\000\000\000\000\000\000\001]\000\000\000\000\000\000\001]\000\000\000\000\003Z\000\000\003j\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\001e\000\000\000\000\001e\001e\000\000\000\000\003b\000\000\001]\000\000\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001e\001]\000\000\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\001]\000\000\000\000\001]\001]\000\000\001a\003b\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\003J\003r\000\000\001]\001]\001a\001]\001]\001]\001a\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001a\001a\000\000\001a\001a\000\000\000\000\001i\000\000\001a\001i\000\000\000\000\001a\000\000\000\000\003Z\000\000\003j\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\001i\000\000\000\000\000\000\001i\003\130\000\000\001a\000\000\000\000\003R\000\000\000\000\001i\001i\000\000\001i\001i\001a\000\000\000\000\000\000\001i\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\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\001a\000\000\000\000\001a\001a\000\000\000\000\003b\000\000\003\130\000\000\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001a\001i\000\000\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\003\138\000\000\000\000\001i\001i\000\000\001q\003b\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\003J\003r\000\000\001i\001i\001q\001i\001i\001i\001q\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001q\001q\000\000\001q\001q\000\000\000\000\003\218\000\000\001q\001m\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\001m\000\000\000\000\000\000\001m\003\130\000\000\001q\000\000\000\000\003R\000\000\000\000\001m\001m\000\000\001m\001m\001q\000\000\000\000\000\000\001m\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\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\003\138\000\000\000\000\001q\001q\000\000\000\000\003b\000\000\003\130\000\000\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001q\001m\000\000\001q\001q\001q\001q\001q\000\000\000\000\000\000\000\000\001q\001q\000\000\001q\003\146\001q\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\001m\001m\000\000\003\218\003b\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\003J\003r\000\000\001m\001m\001u\001m\003\146\001m\001u\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001u\001u\000\000\001u\003\226\000\000\000\000\003>\000\000\001u\003\154\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\186\003\194\000\000\000\000\000\000\002-\000\000\000\000\000\000\002-\003\130\000\000\001u\000\000\000\000\003\202\000\000\000\000\002-\002-\000\000\003\210\003\242\001u\000\000\000\000\000\000\002-\000\000\000\000\000\000\003\250\000\000\000\000\004\002\000\000\004\n\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\003\138\000\000\000\000\001u\001u\000\000\000\000\003b\000\000\004\018\000\000\002-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001u\002-\000\000\001u\001u\001u\001u\001u\000\000\000\000\000\000\000\000\001u\001u\000\000\001u\003\146\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\026\000\000\000\000\002-\002-\000\000\000\129\004\"\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\003J\003r\000\000\002-\002-\000\129\004*\0042\002-\000\129\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\129\000\129\000\000\000\129\000\129\000\000\000\000\000i\000\000\000\129\000i\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\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\003\130\000\000\000\129\000\000\000\000\003R\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\003Z\000\000\003j\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\003\138\000\000\000\000\000\129\000\129\000\000\000\000\003b\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\003\146\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\000e\003b\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\003R\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\003Z\000\000\003j\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]\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]\000\000\000\000\003Z\000\000\000]\000]\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\003b\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\003\218\003b\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\003J\003r\000\000\000]\000]\000\137\000]\000]\000]\000\137\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\137\000\137\000\000\000\137\003\226\000\000\000\000\003\218\000\000\000\137\000}\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\000}\000\000\000\000\000\000\000}\003\130\000\000\000\137\000\000\000\000\003R\000\000\000\000\000}\000}\000\000\000}\000}\000\137\000\000\000\000\000\000\000}\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\000}\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\000\137\000\137\000\000\000\000\003b\000\000\003\130\000\000\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\003\234\003\146\000\137\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\000}\000}\000\000\000u\003b\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\003J\003r\000\000\000}\000}\000u\000}\003\146\000}\000u\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000a\000\000\000u\000a\000\000\000\000\000u\000\000\000\000\003Z\000\000\003j\000u\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\003\130\000\000\000u\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000a\000a\000u\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\003Z\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\000u\000\000\000\000\000u\000u\000\000\000\000\003b\000\000\000a\000\000\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000a\000\000\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\000a\000\000\000\000\000a\000a\000\000\000m\003b\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\003J\003r\000\000\000a\000a\000m\000a\000a\000a\000m\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000q\000\000\000m\000q\000\000\000\000\000m\000\000\000\000\003Z\000\000\003j\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000m\000\000\000m\000\000\000\000\003R\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\003Z\000\000\003j\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\003b\000\000\003\130\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\003\218\003b\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\003J\003r\000\000\000q\000q\000\133\000q\000q\000q\000\133\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\133\000\133\000\000\000\133\003\226\000\000\000\000\000y\000\000\000\133\000y\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\003\130\000\000\000\133\000\000\000\000\003R\000\000\000\000\000y\000y\000\000\000y\000y\000\133\000\000\000\000\000\000\000y\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\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\003\138\000\000\000\000\000\133\000\133\000\000\000\000\003b\000\000\003\130\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000y\000\000\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\146\000\133\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\000y\000y\000\000\000\000\003b\000\000\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\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\000\000\000\000\000\000\000\000\002R\000\000\000\000\012\242\000\000\000\000\012\246\000\000\000\000\001\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\r\n\r\022\000\000\000\000\r\182\r\206\r\210\000\000\000\000\000\000\002\134\000\000\002\138\002\002\000\000\000\000\000\000\000\000\000\000\000\000\r*\002\146\000\000\000\000\r.\r\214\002\158\002\006\000\000\r2\r6\000\000\000\000\r:\000\000\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\012\206\012\210\000\000\000\000\000\000\r>\rB\000\000\000\000\002R\000\000\rF\012\242\000\000\000\n\012\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\rN\000\000\000\000\000\000\000\n\000\000\000\000\000\000\002b\006\181\000\000\r\218\000\000\r\246\000\000\000\000\000\000\r\n\r\022\000\000\000\000\r\182\r\206\r\210\rR\000\000\000\000\002\134\000\000\002\138\rZ\000\000\000\000\006\173\012\214\000\000\004\237\r*\002\146\r^\000\000\r.\r\214\002\158\006\173\002\214\r2\r6\000\000\006\173\r:\000\000\000\000\000\000\000\000\002R\000\000\000\000\012\242\000\000\000\000\012\246\000\000\000\000\000\000\000\000\r>\rB\000\000\000\000\000\000\000\000\rF\000\000\000\000\000\n\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\rN\000\000\r\n\r\022\000\000\000\000\r\182\r\206\r\210\006\181\000\000\r\218\002\134\r\246\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r*\002\146\rR\000\000\r.\r\214\002\158\000\000\rZ\r2\r6\000\000\000\000\r:\b\253\000\000\000\000\r^\002R\000\000\000\000\012\242\000\000\002\214\012\246\000\000\000\000\000\000\000\000\r>\rB\000\000\000\000\000\000\000\000\rF\000\000\000\000\000\n\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\rN\000\000\r\n\r\022\000\000\000\000\r\182\r\206\014\178\006\181\000\000\r\218\002\134\r\246\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r*\002\146\rR\000\000\r.\r\214\002\158\000\000\rZ\r2\r6\000\000\001\233\r:\002\129\001\233\000\000\r^\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\000\000\000\000\000\000\r>\rB\000\000\000\000\000\000\000\000\rF\001\233\001\233\000\n\000\000\000\000\001\233\000\000\000\000\000\000\001\233\000\000\rN\000\000\000\000\000\000\001\233\000\000\000\000\001\233\001\233\006\181\001\233\001\233\000\000\r\246\000\000\000\000\001\233\000\000\000\000\000\000\001\233\000\000\000\000\001\233\rR\001\233\001\233\000\000\000\000\000\000\rZ\000\000\000\000\000\000\000\000\000\000\t\r\000\000\000\000\r^\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\001\233\000\000\001\233\000\249\000\000\000\000\000\249\003\213\000\000\000\000\000\000\000j\003\213\001\233\000r\000\000\000\130\003\213\000\000\003\213\000\000\000\000\000\000\000\138\003\213\003\213\000\000\003J\003r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\233\016\166\003R\001\233\000\000\000\000\000\249\001\233\000\249\000\249\000\000\000\000\000\000\000\000\000\146\003\213\000\000\000\000\003z\003\213\000\000\003Z\000\000\003j\001\233\000\000\001\233\000\000\000\000\000\000\000\000\000\000\016\174\001\233\001\233\003\213\001\233\001\233\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\130\003\213\000\162\000\000\000\000\000\000\000\000\000\000\000\000\003\213\000\000\000\000\003\209\003\213\003\213\000\000\000\198\003\209\000\000\000\206\000\000\000\222\003\209\000\000\003\209\003\213\000\000\000\000\000\230\003\209\003\209\000\000\000\000\000\000\000\000\000\000\003\213\000\000\000\000\000\000\003\138\000\000\000\000\000\249\000\000\000\000\003\213\003b\000\000\000\000\000\000\003\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\238\003\209\000\249\000\000\000\000\003\209\000\249\000\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\249\003\146\000\000\000\000\003\209\000\000\000\000\000\000\003\213\000\000\000\000\003\213\003\213\000\000\000\000\003\213\003\209\000\254\000\000\000\000\003\213\003\213\000\000\000\000\003\209\003\213\000\000\000\000\003\209\003\209\000\000\000\000\000\000\002R\000\000\000\000\002V\000\000\000\000\002Z\003\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\198\000\000\003\209\000\000\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\003\209\000\000\000\000\002r\002v\003\209\002~\000\000\012\238\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\r\230\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\000\000\002\170\000\000\003\209\000\000\000\000\003\209\003\209\000\000\016\218\003\209\000\000\016\226\000\000\000\000\003\209\003\209\000\000\002\174\000\000\003\209\000\000\000\000\002\178\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\016\242\016\250\002\186\000\000\000\000\002=\000\000\000\000\000\000\002=\000\000\000\000\000\000\002\190\t\229\017\002\000\000\000\000\002=\002=\000\000\017\n\017\018\000\000\000\000\0015\002\194\002=\0015\000\000\000\000\017\026\002\206\000\000\017\"\t\229\017*\002=\000\000\000\000\000\000\002\222\000\000\000\000\000\000\000\000\000\000\002\214\000\000\003J\003r\000\000\000\000\000\000\0015\000\000\000\000\000\000\0015\0172\000\000\002=\000\000\000\000\003R\000\000\000\000\0015\0015\000\000\0015\0015\002=\000\000\000\000\000\000\0015\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\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\017:\000\000\000\000\002=\000\000\000\000\000\000\017B\000\000\003\130\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0015\000\000\002=\000\000\002=\000\000\000\000\000\000\000\000\000\000\000\000\002=\002=\000\000\017J\017R\002=\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\0015\000\000\000\000\001\029\003b\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\146\0015\001\029\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\001\025\000\000\001\029\001\025\000\000\000\000\001\029\000\000\000\000\003Z\000\000\003j\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\001\025\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\001\029\000\000\001\029\000\000\000\000\003R\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\029\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\003Z\000\000\003j\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\001\029\000\000\000\000\001\029\000\000\000\000\000\000\003b\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\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\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\003b\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\003\218\000\000\001\017\001=\000\000\000\000\001\017\000\000\000\000\003Z\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\003J\003r\000\000\000\000\000\000\001=\000\000\000\000\000\000\001=\001\017\000\000\001\017\000\000\000\000\003R\000\000\000\000\001=\001=\000\000\001=\003\226\001\017\000\000\000\000\000\000\001=\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\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\001\017\000\000\000\000\001\017\000\000\000\000\000\000\003b\000\000\003\130\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\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\003\138\000\000\000\000\001=\000\000\000\000\003\218\003b\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\003J\003r\000\000\001=\001=\0011\003\234\003\146\001=\0011\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\0011\0011\000\000\0011\0011\000\000\000\000\001)\000\000\0011\001)\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\003\130\000\000\0011\000\000\000\000\003R\000\000\000\000\001)\001)\000\000\001)\001)\0011\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\003Z\000\000\003j\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\138\000\000\000\000\0011\000\000\000\000\000\000\003b\000\000\003\130\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\0011\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\0011\0011\000\000\0011\003\146\0011\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\003b\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\001!\000\000\001\021\001!\000\000\000\000\001\021\000\000\000\000\003Z\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\003J\003r\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\001\021\000\000\001\021\000\000\000\000\003R\000\000\000\000\001!\001!\000\000\001!\001!\001\021\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\000\000\003Z\000\000\003j\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\001\021\000\000\000\000\001\021\000\000\000\000\000\000\003b\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!\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\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%\003b\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\003J\003r\000\000\001!\001!\001%\001!\001!\001!\001%\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\003\218\000\000\001%\0019\000\000\000\000\001%\000\000\000\000\003Z\000\000\003j\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\0019\000\000\000\000\000\000\0019\003\130\000\000\001%\000\000\000\000\003R\000\000\000\000\0019\0019\000\000\0019\003\226\001%\000\000\000\000\000\000\0019\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\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\001%\000\000\000\000\001%\000\000\000\000\000\000\003b\000\000\003\130\000\000\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\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\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\0019\000\000\000\000\001-\003b\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\0019\000\000\0019\000\000\000\000\000\000\003J\003r\000\000\0019\0019\001-\0019\003\146\0019\001-\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001-\001-\000\000\001-\001-\023v\000\000\000\000\000\000\001-\000\000\000\000\000\000\003z\000\000\000\000\003Z\023z\003j\001-\000\000\000\000\000\000\000\000\025\186\000\000\000\000\000\000\023~\000\000\023\130\012%\012%\000\000\000\000\000\000\000\000\000\000\023\134\000\000\000\000\003\130\000\000\001-\023\138\000\000\000\000\023\146\000\000\000\000\000\000\023\150\000\000\000\000\001-\000\000\000\000\023\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025j\000\000\012%\000\000\023\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\001-\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012%\000\000\023\162\000\000\000\000\023\166\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\001-\001-\023\170\001-\001-\001-\000\000\023\174\000\n\023\178\023v\023\182\023\186\000\000\023\190\000\000\000\000\000\000\000\000\000\000\000\000\023\194\023z\000\000\023\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023~\000\000\023\130\000\000\000\000\000\000\023\202\011\249\000\000\000\000\023\134\023\206\023\210\012%\000\000\000\000\023\138\000\000\000\000\023\146\000\000\000\000\000\000\023\150\000\000\000\000\000\000\000\000\000\000\023\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\022\000\000\000\000\011\249\000\000\023\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\249\000\000\023\162\000\000\000\000\023\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\242\000\000\023\170\000\000\000\000\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\000\000\000\000\000\000\000\000\023\194\000\000\000\000\023\198\000\000\000\000\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\202\000\000\000\000\000\000\000\000\023\206\023\210\011\249\000R\000V\000f\000\170\000\000\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\002R\000\000\000\000\002V\000\000\000\000\002Z\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\t\229\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\001\242\000\000\000\000\002r\002v\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\002\002\000\000\000\000\002\142\002\146\000\000\002\014\002\150\002\154\002\158\000\000\000\000\002\162\002\166\002\006\000\000\002\170\000\000\000\000\000\000\000\000\015\185\000\000\000\000\015\185\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000\000\002\174\000\000\000\000\000\000\000\000\002\178\000\000\000\000\000\n\000\000\000\000\000\000\015\185\015\185\000\000\000\000\000\000\002\186\000\000\000\000\007>\000\000\000\000\000\000\000\000\000\n\000\000\015\185\002\190\000\000\005U\015\185\000\000\015\185\015\185\000\000\000\000\007F\000\000\000\000\bJ\002\194\000\000\015\185\000\000\002\022\015\185\002\206\015\185\000\000\000\000\000\000\t\229\000\000\000\000\000\000\002\222\000\000\000\000\000\000\nB\006\149\002\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\205\015\185\000\000\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011B\006\149\000\000\006\149\000\000\006\149\000\000\000\000\000\000\000\000\bV\000\000\000\000\006\149\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\006\149\000\000\006\149\000\000\006\149\000\000\000\000\000\000\015\185\015\185\006\149\015\185\006\149\bZ\000\000\015\185\000\000\011\150\006\149\000\000\000\000\006\149\011\018\000\000\bb\006\149\006\149\000Z\000\000\015\185\006\149\006\149\000\000\015\185\015\185\000\000\000\000\011\222\006\149\000\000\015\185\006\149\006\149\006\149\015\185\015\185\006\149\006\149\000Z\000\000\006\149\006\149\006\149\006\149\000\000\000\000\006\149\006\149\006\149\000\000\006\149\006\149\000\000\006\149\006\149\006\149\000\000\000\000\000\000\006\149\006\149\006\149\000\000\000\000\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\012\018\000\000\006\149\006\149\006\149\000Z\006\149\000\000\006\149\006\149\006\149\000\000\000\000\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\000\000\000\000\006\149\006\149\000Z\000\000\006\149\012R\006\149\006\149\006\149\006\149\000Z\006\149\012~\000\000\006\149\000\000\006\149\000Z\000\000\000\000\000\000\006\149\006\149\000\000\006\149\000\000\000\000\006\149\006\149\006\149\006\149\006\149\000\000\006\149\006\149\000\000\006\149\000\000\000\000\006\149\000\000\000\000\000\000\006\149\006\149\000\000\006\149\000\000\000\000\006\149\006\149\006\149\006\149\006\149\006\149\000\000\006\149\006\149\006\149\006\149\000\000\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\000\000\006\149\000\000\000\000\006\149\000\000\000\000\000\000\006\149\000\000\000\000\006\149\002R\000\000\000\000\002V\006\149\006\149\002Z\006\149\000\000\000\000\000\000\000\000\006\149\006\149\006\149\000\000\020\202\000\000\000\000\006\149\006\149\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002r\002v\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\000\000\002\170\000\000\000\000\026\002\000\000\026\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\018\000\000\000\000\002\174\000\000\0262\000\000\000\000\002\178\000\000\000\000\000\n\023z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\186\000\000\000\000\023~\000\000\023\130\000\000\000\000\000\000\000\000\000\000\002\190\000\000\023\134\000\000\000\000\000\000\000\000\000\000\023\138\000\000\000\000\023\146\000\000\002\194\000\000\023\150\000\000\002R\000\000\002\206\002V\023\154\000\000\002^\000\000\000\000\000\000\000\000\002\222\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\023\158\026:\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002r\t\006\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\023\162\000\000\000\000\023\166\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\023\170\002\170\000\000\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\000\000\000\000\000\000\002\174\023\194\000\000\000\000\023\198\002\198\000\000\000\000\000\n\000\000\000\000\000\000\002R\000\000\000\000\002V\000\000\002\186\002^\023\202\000\000\000\000\000\000\000\000\023\206\023\210\000\000\000\000\002\190\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\002\202\000\000\002r\b\246\000\000\002~\002\206\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\002\210\000\000\000\000\000\000\000\000\000\000\002\214\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\002R\002\170\000\000\002V\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\174\000\000\000\000\000\000\002b\002\198\000\000\002f\000\n\000\000\000\000\000\000\000\000\002r\b\222\000\000\002~\002\186\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\002R\000\000\002\190\002V\000\000\000\000\002^\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\002\202\002\162\002\166\000\000\000\000\002\170\002\206\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\002\210\002r\002\182\000\000\002~\000\000\002\214\002\174\000\000\000\000\000\000\002\134\002\198\002\138\000\000\000\n\000\000\000\000\000\000\000\000\000\000\002\142\002\146\b\170\002\186\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\004\181\002\170\002\190\004\181\000\000\000\000\004\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\202\000\000\000\000\002\174\000\000\000\000\002\206\004\181\002\198\000\000\004\181\000\n\000\000\000\000\000\000\002\210\004\181\004\181\000\000\004\181\002\186\002\214\000\000\000\000\000\000\000\000\004\181\000\000\004\181\002R\000\000\002\190\002V\000\000\000\000\002^\004\181\004\181\000\000\000\000\004\181\004\181\004\181\000\000\002\202\004\181\004\181\000\000\000\000\004\181\002\206\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\002\210\002r\012\250\000\000\002~\000\000\002\214\004\181\000\000\000\000\000\000\002\134\004\181\002\138\000\000\004\181\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\004\181\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\002R\002\170\000\000\002V\000\000\000\000\002^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\181\000\000\000\000\002\174\000\000\000\000\004\181\002b\002\198\000\000\002f\000\n\000\000\000\000\000\000\004\181\002r\015\178\000\000\002~\002\186\004\181\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\002\190\000\000\000\000\000\000\000\000\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\002\202\002\162\002\166\000\000\000\000\002\170\002\206\000\000\000\000\000\000\000\000\000\000\023v\000\000\000\000\002\210\000\000\000\000\000\000\000\000\000\000\002\214\002\174\000\000\023z\000\000\000\000\002\198\000\000\000\000\000\n\000\000\000\000\000\000\000\000\023~\000\000\023\130\000\000\002\186\000\000\000\000\000\000\000\000\000\000\023\134\000\000\000\000\000\000\000\000\002\190\023\138\000\000\000\000\023\146\000\000\000\000\000\000\023\150\000\000\000\000\000\000\000\000\002\202\023\154\000\000\000\000\000\000\000\000\002\206\000\000\000\000\000\000\000\000\000\000\024\238\000\000\000\000\002\210\000\000\023\158\000\000\000\000\000\000\002\214\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\000\000\000\210\000\000\000\000\006\149\000\000\006\149\006\149\011\249\000\000\023\162\006\149\006\149\023\166\001\026\000\000\006\149\006\149\006\149\006\149\000\000\000\000\000\000\006\149\006\149\006\149\023\170\000\000\000\000\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\000\000\006\149\000\000\000\000\023\194\006\149\000\000\023\198\000\000\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\006\149\006\149\000\000\000\000\006\149\023\202\000\000\000\000\001\194\000\000\023\206\023\210\011\249\000Z\000\000\000\000\006\149\006\149\000\000\000\000\002\n\005\138\000\000\000\000\006\149\000Z\000Z\000\000\006\149\006\149\000\000\000\000\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\006\149\006\149\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\006\149\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\006\149\006\149\000\000\006\149\000\000\000\000\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\006\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\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\006\149\006\149\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\000\000\006\149\006\149\006\149\000\000\006\149\006\149\000\000\000\000\000\000\006\149\006\149\006\149\000\000\000\000\006\149\006\149\004\205\004\205\004\205\004\205\000\000\004\205\000\000\004\205\004\205\004\205\004\205\000\000\004\205\004\205\000\000\004\205\000\000\004\205\000\000\004\205\004\205\004\205\004\205\000\000\000\000\002R\000\000\000\000\002j\000\000\000\000\002n\002\026\000\000\000\000\000\000\000\000\000\000\004\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\004\205\000\000\000\000\002\130\006\226\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\004\205\000\000\000\000\006\246\002\146\000\000\004\205\006\250\002\154\002\158\000\000\000\000\006\254\007\002\004\205\000\000\007\006\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\004\186\004\205\000\000\006\149\006\149\006\149\005\014\007\n\000\000\006\149\006\149\006\149\007\014\006\149\000\000\000\n\006\149\006\149\006\149\000\000\005V\000\000\000\000\006\149\007\022\006\149\000\000\000\000\000\000\000\000\006\149\006\149\004\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\006\149\000\000\006\149\007\026\000\000\000\000\006\149\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\007&\000\000\006\149\000\000\006\149\000\000\002\214\000Z\005\202\000\000\006\149\000\000\000\000\000Z\004\205\000\000\006\149\000\000\006\149\000\000\000\000\000\000\006\149\006\149\006\149\000\000\000\000\000Z\006\149\006\149\006\149\000\000\000\000\000\000\006\149\000\000\000\000\000\000\006\149\000\000\006\149\000\000\006\149\006\149\000\000\006\149\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\006\149\006\149\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\006\149\000\178\000\186\000\194\001\006\006\149\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\006\149\000\000\000\000\006\149\006\149\000\000\006\149\006\149\000\000\006\149\006\149\000\000\006\149\006\149\001\234\000\000\000\000\006\149\006\149\006\149\006\149\000\000\000\000\006\149\006\149\000\000\000\000\006\149\000\000\001\242\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\002\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\002\018\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\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\001\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\242\000\000\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\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\005\254\000\000\000\000\002\181\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\006\002\006\006\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\001\214\001\222\001\226\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\001\234\001&\000\000\001.\006\149\0016\001\214\001\222\001\226\006\149\000\000\000\000\000\000\000\000\006\149\001\242\006\149\000\000\000\000\000\000\006\n\006\149\006\149\000\000\001\234\000\000\006\149\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\002\002\000\000\000\000\000\000\001\242\000\000\005\254\004\253\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\006\149\006\002\006\006\000\000\006\149\000\000\000\000\002\002\000\000\000\000\000\000\000\000\006\149\005\254\000\000\000\000\006\149\000\000\000\000\000\000\006\149\002\006\000\000\000\000\006\174\006\002\006\006\000\000\000\000\000Z\000\000\000\000\006\149\000\000\000\000\000\000\t6\000\000\000\000\000\000\006\149\000Z\000\000\000\000\006\149\006\149\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\n\000\000\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\006\149\000\000\000\000\006\149\t5\000\000\006\n\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\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\002\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\006\149\006\149\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\000\000\006\149\006\149\006\149\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\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\001\214\001\222\001\226\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\001\234\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\001\242\000\000\028\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\028\182\006\006\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\028\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\028\182\006\006\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\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\028\186\000\000\000\000\000\000\001\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\242\000\000\000\000\004\245\000\000\028\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\002\002\000\000\000\000\000\000\000\000\000\000\028\178\t\025\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\028\182\006\006\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\001\214\001\222\001\226\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\001\234\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\028\186\000\000\000\000\000\000\001\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\001\242\000\000\002\014\002\145\000\000\002R\000\000\000\000\012\242\000\000\002\006\012\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\002\018\000\000\000\000\006\018\002b\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\r\n\r\022\006\002\006\006\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\002R\000\000\000\000\015\170\000\000\000\n\015\174\r*\002\146\000\000\000\000\r.\002\154\002\158\000\000\000\000\r2\r6\000\000\000\000\r:\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\026\016\006\000\000\000\000\000\000\r>\rB\000\000\000\000\000\000\002\134\rF\002\138\000\000\000\n\000\000\000\000\000\000\000\000\002\173\016\030\002\146\000\000\rN\016\"\002\154\002\158\000\000\000\000\016&\016*\t\221\000\000\016.\000\000\000\000\000\000\000\000\000\000\000\000\tE\000\000\000\000\t\221\000\000\000\000\000\000\rR\000\000\r>\0162\000\000\000\000\rZ\t\221\0166\t\221\000\000\000\n\000\000\000\000\000\000\r^\000\000\t\221\000\000\000\000\016>\002\214\000\000\t\221\000\000\000\000\t\221\000\000\b\157\000\000\t\221\024J\000\000\000\000\000\000\000\000\t\221\000\000\000\000\000\000\b\157\000\000\000\000\000\000\016B\000\000\000\000\000\000\000\000\000\000\016J\b\157\t\221\b\157\000\000\000\000\000\000\000\000\000\000\016N\000\000\b\157\000\000\000\000\000\000\002\214\000\000\b\157\000\000\000\000\b\157\000\000\000\000\000\000\b\157\000\000\000\000\000\000\000\000\t\221\b\157\000\000\t\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\t\221\b\157\026:\000\000\000\000\t\221\t\221\t\221\000\000\t\221\t\221\000\000\t\221\000\000\000\000\000\000\000\000\000\000\000\000\t\221\000\000\000\000\t\221\000\000\000\000\000\000\000\000\000\000\b\157\000\000\000\000\b\157\000\000\000\000\000\000\000\000\007e\t\221\000\000\000\000\000\000\000\000\t\221\t\221\b\157\000\000\000\000\000\000\007e\b\157\b\157\b\157\000\000\b\157\b\157\000\000\b\157\000\000\000\000\007e\000\000\007e\000\000\b\157\000\000\000\000\b\157\000\000\000\000\007e\000\000\000\000\000\000\000\000\000\000\007e\000\000\000\000\007e\000\000\000\000\b\157\007e\000\000\000\000\000\000\b\157\b\157\007e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027>\000\000\000\000\000\000\000\000\007e\000\000\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\000\000\001&\000\000\001.\024\210\0016\001\214\001\222\001\226\000\000\007e\000\000\000\000\007e\000\000\000\000\023z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\007e\023~\000\000\023\130\000\000\007e\007e\007e\000\000\007e\007e\023\134\007e\001\242\000\000\000\000\000\000\023\138\000\000\007e\023\146\000\000\007e\000\000\023\150\000\000\000\000\000\000\000\000\000\000\023\154\000\000\024\234\002\002\000\000\000\000\000\000\007e\000\000\028\194\000\000\000\000\007e\007e\023z\000\000\023\158\002\006\000\000\000\000\000\000\028\182\006\006\000\000\000\000\023~\000\000\023\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\134\000\000\000\000\000\000\000\000\000\000\023\138\000\000\023\162\023\146\000\000\023\166\000\000\023\150\000\000\000\000\000\000\000\000\000\000\023\154\000\000\000\000\000\000\000\000\023\170\000\000\000\000\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\023\158\023\190\000\000\000\000\000\000\000\000\000\000\000\000\023\194\000\000\000\000\023\198\000\000\000\000\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\202\023\162\000\000\000\000\023\166\023\206\023\210\t)\000\000\023v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\170\000\000\000\000\000\000\023z\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\023~\000\000\023\130\000\000\023\194\000\000\000\000\023\198\000\000\000\000\023\134\000\000\000\000\000\000\000\000\000\000\023\138\000\000\023v\023\146\000\000\000\000\023\202\023\150\000\000\000\000\000\000\023\206\023\210\023\154\023z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023~\000\000\023\130\000\000\025\150\000\000\000\000\000\000\000\000\000\000\023\134\000\000\000\000\000\000\000\000\000\000\023\138\000\000\000\000\023\146\000\000\000\000\000\000\023\150\000\000\000\225\000\000\000\000\000\225\023\154\000\000\023\162\000\000\000\000\023\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\n\000\000\023\170\000\000\000\225\000\225\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\000\000\000\000\003R\000\000\023\194\000\000\000\225\023\198\000\225\000\225\023\162\000\000\000\000\023\166\000\000\015\157\000\000\000\000\000\225\000\000\000\000\003Z\023\202\003j\000\000\000\000\023\170\023\206\023\210\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\015\157\015\157\000\000\000\000\000\000\000\000\023\194\000\225\rv\023\198\000\000\000\000\000\000\000\000\000\000\015\157\000\000\000\000\000\000\000\000\000\000\015\157\015\157\000\000\023\202\r~\000\000\000\000\r\138\023\206\023\210\015\157\000\000\000\000\015\157\000\000\015\157\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\000\015\157\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\221\000\225\000\000\000\000\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\r\150\000\000\003R\000\000\000\225\000\225\000\221\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\213\015\157\003Z\000\213\003j\000\000\r\154\000\000\015\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\162\000\000\000\000\000\000\000\000\015\157\000\000\000\213\000\213\000\000\000\221\000\000\015\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\157\015\157\000\213\000\000\003\218\000\000\000\213\001\001\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\003Z\000\000\000\213\000\000\000\000\000\000\000\000\003J\003r\000\221\000\000\000\000\000\221\000\000\000\000\003\218\003b\000\000\000\245\000\000\000\000\000\000\003R\000\000\000\000\000\213\001\001\000\000\001\001\003\226\000\221\000\000\000\000\000\000\000\221\000\221\000\000\000\000\003z\003J\003r\003Z\000\000\003j\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\000\000\245\000\000\000\245\000\245\000\000\000\000\000\000\000\213\003\130\000\000\000\213\000\000\003z\000\000\003b\003Z\000\000\003j\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\003\130\000\000\000\000\000\213\000\213\003J\003r\000\000\003\138\000\000\000\000\001\001\000\000\000\217\000\000\003b\000\217\000\000\000\000\000\000\003R\000\000\000\000\000\000\000\237\000\000\000\237\000\237\000\000\001\001\000\000\000\000\000\000\001\001\001\001\000\000\000\237\000\217\000\217\003Z\003\138\003j\000\000\000\245\003\234\003\146\000\000\003b\000\000\000\000\000\000\000\000\000\217\000\000\000\229\000\000\000\217\000\229\000\217\000\217\000\000\000\245\000\000\000\000\003\130\000\245\000\245\000\000\000\217\000\000\000\000\003Z\000\000\000\217\000\000\000\000\000\245\003\146\003J\003r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\217\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\229\000\233\003b\003Z\000\233\003j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\237\000\237\000\000\000\000\000\000\003J\003r\000\217\000\229\000\000\000\217\000\237\000\237\000\000\003b\000\000\000\000\000\000\000\000\000\000\003R\000\000\003\218\000\000\000\233\000\253\000\233\000\233\000\217\000\000\000\000\000\000\000\217\000\217\000\000\000\000\000\233\000\000\000\000\003Z\000\000\003j\000\000\000\217\000\217\000\000\003J\003r\000\229\000\000\000\000\000\229\000\000\000\000\000\241\003b\000\000\000\241\000\000\000\000\000\000\003R\000\000\000\000\003\130\000\253\000\000\000\253\003\226\000\229\000\000\000\000\000\000\000\229\000\229\000\000\000\000\003z\003J\003r\003Z\000\000\003j\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\000\000\241\000\000\000\241\000\241\000\000\000\000\000\000\000\233\003\130\000\000\000\233\000\000\003z\000\000\003b\003Z\000\000\003j\000\000\000\000\000\000\014.\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\000\000\233\000\233\000\000\000\000\000\000\000\000\000\000\000\000\003\130\000\000\000\000\000\233\000\233\0146\014>\000\000\003\138\000\000\000\000\000\253\000\000\000\189\000\000\003b\000\000\000\000\000\000\000\000\014F\000\000\000\000\000\000\000\165\000\000\014N\014V\000\000\000\253\000\000\000\000\000\000\000\253\000\253\000\000\014^\003J\003r\014f\003\138\014n\000\000\000\241\000\253\003\146\000\000\003b\000\165\000\165\000\000\000\000\003R\000\000\000\000\000\000\000\000\000\000\000\189\000\189\000\000\000\241\000\000\003R\014v\000\241\000\241\000\000\003z\000\165\000\165\003Z\000\000\003j\000\000\000\161\000\241\000\241\000\000\000\165\000\000\000\000\003Z\000\000\003j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\130\000\000\000\000\000\161\000\161\000\000\000\000\000\000\014~\000\000\000\000\000\165\000\000\000\000\000\000\014\134\000\000\000\000\003R\000\000\000\000\000\000\000\000\000\000\000\161\000\161\000\000\000\000\000\000\006\029\000\000\000\000\000\000\000\000\000\161\000\153\006\029\003Z\000\000\003j\003\138\000\000\000\000\000\000\014\142\014\150\003\218\003b\000\000\000\000\000\000\000\165\000\000\000\000\000\000\000\000\000\000\000\000\003b\000\153\000\153\000\189\000\161\000\000\000\000\000\000\000\000\000\000\000\189\000\000\003J\003r\000\165\000\000\000\153\000\000\000\189\003\146\000\000\000\165\000\153\000\153\000\000\000\000\000\000\003R\000\000\000\165\000\165\003\218\000\153\000\197\003\226\003Z\000\000\000\153\000\000\000\000\000\000\000\000\000\000\003z\000\161\000\000\003Z\000\000\003j\000\000\000\000\003b\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\161\000\000\000\000\000\000\000\000\003R\003\130\000\161\000\000\000\000\000\000\000\185\000\185\000\000\000\000\000\161\000\161\000\000\000\000\000\000\000\177\003z\000\000\000\000\003Z\000\000\003j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\003b\000\000\003J\003r\003\138\000\000\000\000\003\130\000\000\000\000\000\000\003b\000\000\000\000\000\153\000\000\000\000\003R\000\000\000\157\000\000\000\153\000\000\000\177\000\177\000\197\000\000\000\000\000\000\000\153\000\153\000\000\000\197\000\177\000\000\000\000\003Z\000\000\003j\000\000\003\234\003\146\000\000\000\157\000\157\000\000\000\000\003\138\000\000\000\000\000\000\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\157\000\000\000\000\003\130\000\000\000\000\000\157\000\157\000\000\000\000\000\185\000\000\000\169\000\000\000\000\000\000\000\157\000\185\000\000\003Z\000\000\000\157\000\000\000\173\000\000\000\185\003\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\000\000\000\000\000\177\000\157\000\000\000\000\003J\003r\000\000\003b\003R\000\000\000\000\000\000\000\000\000\000\000\169\000\169\000\000\000\000\000\000\003R\000\000\000\177\000\000\000\000\000\169\000\173\000\173\003Z\000\177\003j\000\000\000\000\000\000\000\000\000\000\000\173\000\177\000\177\003Z\000\000\003j\000\157\003\218\000\000\000\000\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\169\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\157\003\130\000\000\000\000\003J\003r\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\157\000\157\000\000\000\000\003R\000\000\003J\003r\000\000\000\000\000\193\003\226\000\000\000\000\000\000\000\169\000\000\000\000\000\000\000\000\003z\003R\003b\003Z\000\000\003j\000\173\000\181\000\181\000\000\000\000\000\000\000\000\003b\000\000\000\000\000\169\003z\000\000\000\000\003Z\000\000\003j\000\169\000\000\000\000\000\000\000\173\003\130\000\000\000\000\000\169\000\169\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\173\000\000\003\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\003\138\000\000\000\000\000\000\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\000\000\000\193\000\000\000\000\003b\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\003\146\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\027\001\027\001\027\001\026\001\026\001\026\001\026\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\022\001\021\001\021\001\021\001\021\001\020\001\019\001\019\001\019\001\018\001\018\001\018\001\017\001\017\001\017\001\016\001\016\001\016\001\015\001\014\001\r\001\012\001\012\001\011\001\011\001\n\001\n\001\t\001\t\001\b\001\b\001\007\001\006\001\005\001\004\001\003\001\002\001\001\001\000\000\255\000\254\000\253\000\252\000\251\000\250\000\249\000\248\000\248\000\247\000\247\000\246\000\246\000\245\000\245\000\244\000\244\000\244\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\240\000\240\000\240\000\240\000\239\000\239\000\239\000\239\000\238\000\238\000\238\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\236\000\235\000\235\000\235\000\235\000\234\000\234\000\233\000\232\000\231\000\231\000\231\000\231\000\230\000\230\000\230\000\230\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\229\000\228\000\227\000\227\000\226\000\226\000\226\000\225\000\225\000\224\000\224\000\224\000\223\000\222\000\221\000\221\000\220\000\219\000\219\000\218\000\218\000\217\000\217\000\216\000\216\000\215\000\214\000\213\000\213\000\212\000\212\000\211\000\211\000\210\000\210\000\209\000\209\000\208\000\207\000\207\000\206\000\206\000\206\000\206\000\206\000\205\000\205\000\205\000\204\000\203\000\202\000\202\000\202\000\202\000\201\000\201\000\200\000\199\000\199\000\199\000\199\000\199\000\198\000\198\000\198\000\198\000\197\000\197\000\197\000\197\000\196\000\196\000\196\000\196\000\195\000\194\000\194\000\193\000\193\000\193\000\192\000\191\000\191\000\191\000\191\000\190\000\189\000\189\000\188\000\188\000\187\000\187\000\186\000\186\000\186\000\186\000\185\000\185\000\184\000\184\000\184\000\184\000\184\000\183\000\183\000\183\000\182\000\182\000\182\000\182\000\181\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\173\000\173\000\173\000\173\000\173\000\173\000\172\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\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\143\000\142\000\142\000\141\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\140\000\139\000\138\000\137\000\136\000\135\000\134\000\133\000\132\000\131\000\130\000\130\000\130\000\129\000\129\000\129\000\128\000\128\000\128\000\128\000\127\000~\000}\000|\000{\000z\000y\000y\000x\000x\000x\000w\000w\000v\000v\000v\000u\000u\000t\000s\000s\000s\000r\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\000l\000l\000l\000l\000l\000k\000k\000k\000k\000k\000k\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000d\000d\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000]\000]\000\\\000\\\000\\\000\\\000\\\000[\000[\000Z\000Z\000Z\000Z\000Y\000X\000W\000W\000W\000V\000V\000V\000U\000U\000U\000U\000U\000U\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\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\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\000J\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000H\000H\000H\000G\000F\000E\000D\000D\000C\000C\000B\000A\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:\0009\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\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\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\029\001\029\001\029\001\028\001\028\001\028\001\028\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\022\001\022\001\022\001\022\001\021\001\020\001\020\001\020\001\019\001\019\001\019\001\018\001\018\001\018\001\017\001\017\001\017\001\016\001\015\001\014\001\r\001\r\001\012\001\012\001\011\001\011\001\n\001\n\001\t\001\t\001\b\001\007\001\006\001\005\001\004\001\003\001\002\001\001\001\000\000\255\000\254\000\253\000\252\000\251\000\250\000\249\000\249\000\248\000\248\000\247\000\247\000\246\000\246\000\245\000\245\000\245\000\245\000\244\000\244\000\244\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\240\000\240\000\240\000\240\000\239\000\239\000\239\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\237\000\236\000\236\000\236\000\236\000\235\000\235\000\234\000\233\000\232\000\232\000\232\000\232\000\231\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\229\000\228\000\228\000\227\000\227\000\227\000\226\000\226\000\225\000\225\000\225\000\224\000\223\000\222\000\222\000\221\000\220\000\220\000\219\000\219\000\218\000\218\000\217\000\217\000\216\000\215\000\214\000\214\000\213\000\213\000\212\000\212\000\211\000\211\000\210\000\210\000\209\000\208\000\208\000\207\000\207\000\207\000\207\000\207\000\206\000\206\000\206\000\205\000\204\000\203\000\203\000\203\000\203\000\202\000\202\000\201\000\200\000\200\000\200\000\200\000\200\000\199\000\199\000\199\000\199\000\198\000\198\000\198\000\198\000\197\000\197\000\197\000\197\000\196\000\195\000\195\000\194\000\194\000\194\000\193\000\192\000\192\000\192\000\192\000\191\000\190\000\190\000\189\000\189\000\188\000\188\000\187\000\187\000\187\000\187\000\186\000\186\000\185\000\185\000\185\000\185\000\185\000\185\000\184\000\184\000\184\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\174\000\174\000\174\000\174\000\174\000\174\000\173\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\149\000\149\000\148\000\148\000\147\000\147\000\146\000\146\000\145\000\145\000\144\000\144\000\144\000\143\000\143\000\142\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\140\000\139\000\138\000\137\000\136\000\135\000\134\000\133\000\132\000\131\000\131\000\131\000\130\000\130\000\130\000\129\000\129\000\129\000\129\000\128\000\127\000~\000}\000|\000{\000z\000z\000y\000y\000y\000x\000x\000w\000w\000w\000v\000v\000u\000t\000t\000t\000s\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\000l\000l\000l\000l\000l\000k\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000]\000]\000]\000]\000]\000\\\000\\\000[\000[\000[\000[\000Z\000Y\000X\000X\000X\000W\000W\000W\000V\000V\000V\000V\000V\000V\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\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\000M\000M\000M\000M\000M\000M\000M\000M\000L\000L\000L\000L\000L\000K\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000I\000I\000I\000H\000G\000F\000E\000E\000D\000D\000C\000B\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:\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\031\000\030\000\029\000\029\000\029\000\029\000\028\000\028\000\028\000\027\000\027\000\026\000\026\000\026\000\025\000\025\000\025\000\024\000\024\000\024\000\024\000\024\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\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, "\003\152\003Z\000\000\000\000\000\000\000\144\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\143\000\000\0019\003\150\000\000\000\225\000O\000\000\000\000\000\000\001\020\000\000\0010\001v\000\000\000\000\001\174\000\000\001\226\000\000\000\000\000\000\002<\000\000\002\168\000\000\000\000\000\000\003\020\000\000\003(\000\000\000\000\003\152\000\000\004\022\005\030\000\000\000\000\005(\000\000\005\180\000\000\000\000\000\000\006\014\000\000\006@\000\000\006\220\000\000\006\254\000\000\007B\007D\000\000\000\000\007\168\000\000\007\186\000\000\002\000\000c\t\014\000\000\000\000\000\000\004T\000\000\000\000\003\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\tD\000\000\000\000\000\145\n\222\000\000\000\000\011\"\000\000\000\000\000\000\000\000\b8\000\000\b\172\t\020\000\000\b\222\000\000\000\000\b\226\000\000\000\000\b\236\000\000\b\254\000\000\000\000\000\000\tB\000\000\002P\t\148\000\136\000\000\000\000\000\000\000\000\006\178\002>\004j\000\000\000\000\000\000\t\170\000\000\000B\000\000\003\206\000\251\007\174\000\000\000\000\003\170\000\000\000\r\000\000\000@\015\146$r\000\156$r\0202\b\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\162\000\156\000\000\000\000\021\226\000\000\030\198\000\000\018\016\000\000\000\000\000\000\000\000\003 \000\000\000\134$\144\000\000\005*\000\000\005\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000\000\r\160\000\000\015\220\000\000\017\012\000\000\018X\000\000\020\020\000\000\023(\000\000\0258\000\000\028\210\000\000\0296\000\000!\238\000\000\t$\000\000\020\\\000\000\000\000\000\000\000\000\000\000'\170\000\0007z\000\0007\232\000\000\r\250\000\000\000\000\014\b\000\000\000\000\000\000\000\000\000\000\000\197\016\020\000\000\000\189\000\000\000\000\000B\005\004\000\000\000\176\t\202\000\000\000\000\n\168\000\000\n\188\n\214\000\000\000\000\n\232\000\000\011\002\000\000\000\000\000\000\011\026\000\000\011 \000\000\0118\000\000\011Z\000\000\000\000\011\\\000\000\011d\011f\000\000\000\000\011x\000\000\011\130\000\000\000\000\000\000\011\134\000\000\011\138\000\000\011\142\000\000\011\168\000\000\011\182\011\194\000\000\000\000\011\200\000\000\011\202\000\000\0042\012x\000\000\011\210\000\000\011\212\014\n\000\000\011\226\000\000\000\000\011\246\000\000\012\012\000\000\012\016\000\000\000\000\000\000\012\018\000\000\012\020\bb\000\000\012\026\000\000\005\226\000n\000\000\006\022\000\000\007&\000\000\000\000\001\188\n.\000\000\000\000\000\000\006\"\015\158\000\000\018j\000\000\000\000\000\000\004p\000\000\004\144\000\000\006$\000\000\000\000\000\000\000\000\000\000\000\000\b\140\000\000\000\000\000\000\000\000\000\000\019X\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\176\005\190\b\168\000\000\012\028\000\000\012\030\n\198\000\000\012N\000\000\000\000\007L\000\000\000\000\000\000\000\000\000\170\000\000\000\000't\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\202\b\154\000\000\000\000\000\000\022t\000\000\023\184\006\160\000\000\000\000\000\000\005\216\000\000\011D\000\000\r\222(N\000\000\017V\000\000\026B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021z\000\000\021\166\000\000\026&\000\000\026`\000\000\026p\000\000 l\000\000!\018\000\000!B\000\000#\162\000\000%\190\000\000'\220\000\000*\174\000\000\002H\000\000)\246\000\000+d\000\000.D\000\000\000\000)\028\000\000\000\000\000\000)4\000\000\000\000\000\000\000\000\000\0002r\000\000\000\000\000\000\005\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\178\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\022\154\000\000\000\000\000\000\000\000\001*\000\000\000\0003.\000\000\000\000\000\000\000\230\001p\000\000\000\000\000\000\000\000\027(\000\000\028 \000\000\000\000\000\000\000\000\000\000)J\000\000\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\012R\012\n\000\000\012V\000\000\000\000\000\000\000\000\000\000\012\\\000\000\000\000\0015\007\194\000\000\b:\000\000\000\000\000\000\002\000\000\000\012:\000\029\012t\000\000\000\000\012~\000\000\012\132\012\136\000\000\000\000\012\138\000\000\012\160\000\000\000\000\000\000\012\164\000\000\012\192\000\000\012\202\000\000\012\206\000\000\000\000\012\216\000\000\012\220\012\250\000\000\000\000\012\252\000\000\012\254\000\000\000\000\000\000\r\004\000\000\r\b\000\000\r\016\000\000\r\030\000\000\r\"\r$\000\000\000\000\r(\000\000\r2\000\000\006\186\021\212\000\000\r4\000\000\r>\024\154\000\000\rB\000\000\000\000\r`\000\000\rz\000\000\r|\000\000\000\000\000\000\r\128\000\000\005\138\000\000\000\000\r\130\012\030\000\000\r\132\000\000\000\000\001\b\000\000\000\000\000\005\000\000\000\000\000\000\000\000\000\000\006\196\012\162\000\000\r\166\000\000\r\168\rR\000\000\r\170\000\000\000\000\014\200\r\198\000\000\000\000\r\200\000\000\r\206\r\210\000\000\000\000\r\216\000\000\r\220\000\000\000\000\000\000\r\248\000\000\r\252\000\000\014\006\000\000\014\012\000\000\000\000\014\014\000\000\014\016\014\022\000\000\000\000\014\024\000\000\014\026\000\000\000\000\000\000\014\030\000\000\014 \000\000\014\"\000\000\014(\000\000\0146\0148\000\000\000\000\014B\000\000\014N\000\000\0076\028\186\000\000\014P\000\000\014R\028\196\000\000\014Z\000\000\000\000\014\\\000\000\014^\000\000\014j\000\000\000\000\000\000\014n\000\000\014r\016\180\000\000\014x\000\000\000\000\007\132\016\246\000\000\014|\000\000\014~\018P\000\000\014\130\000\000\000\000\000\000\000\000\000\000\000\000\000\00032\000\000\004\168\000\0003P\000\000\000\000\b,\000\000\000\000\000\000\007\202\001\170\000\000\000\000\022B\006\168\000\000\006\018*\248\000\000\000\000)\184\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 2)\184\000\000!l\000\000!\186\004\158*\002\000\000\023\002\000\000\000\000\000\000\007\190\000\000\026:\000\000\000\0003\220\000\000\000\000\000\000\007\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\224\000\0004&\000\000\000\000\000\000\019D+\146\000\000\000\000\000\000+\170\000\000\000\000\000\000\000\000\b\170\000\000\000\000\000\000\000\000$\202\000\000\000\000'R\000\000\001E\000\000\000\000\000\000\000l\000\000\011v\000\000\022\018\000\000\025p\000\000\028\138\000\000&\140\000\000*\226\000\000,p\000\000-|\000\0000H\000\0001v\000\0001\224\000\0005\012\000\0007\150\000\000\000\000+\228\000\000\000\000\024\132+\238\000\000\000\000,\170\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\001\000\000\000\b\166\000\000\000\000\021&\000\000\000\000\000\000,\142\000\000\000\000\000\000\000\000\000\000\027(\000\000\000\000\000\000\000\000,\204\000\000\000\000\000\000\000\000\003\028\007X\000\000-T\000\000\000\000\000\000\000\000\015\140\000\000-b\000\000\000\000\000\000\000\000\0019\000\000\007\b\000\000\t\232\002,*&\000\000\000\000\000\000\004n\000\000\000\000\000\000\000\000\000\000\000\000\014\024*&\000\000\016>\000\000\020\168\005.\000\000\000\000\000\000\b\174\000\000!\\\000\000\000\0004~\000\000\000\000\000\000\b\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\142\000\000\030\002\000\000\000\000\000\000\002\020\000\000\000\000\000\000\000\000\000\000\000\000\030\252\000\000#\170\000\000.\254\000\000/\202\000\0001\174\000\0002\020\000\0002\236\000\0007\\\000\0008V\000\0008p\000\0008\146\000\000-\178\000\000\nH\000\0008\152\000\0008\172\000\0008\192\000\000*H\000\000\000\000\000\0004\224\000\000\000\000\000\000\000\017\000\0005\000\000\000\000\000\000\0005\026\000\000\000\000\003\176\000\000\0252\000!\005p\000\000\b\154\000\000\012\240\002\006\007\144\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\156\000\000%2\"\222\b\226\000\000\000\000\000\000.\004\000\000.b\000\000.\134\000\000%p%\216\000\194\0014\000\000\000C\005\186\000\000\000\000\000\000\005\238\000\000\000\000\006\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\000\000\000\0005\182\000\000\000\000\000\000\000\000#<\000\000&\178\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\000\000\n\016\000\000\000\000\000\000\025\192\004@\000\000\025\254\000\000\000\000\015\140\000\000\004n\000\000\000\000\014\158\000\000\027p\000\000\000\000#\142\000\000\000\000\000\000\0128\000\000\000\000\b\248\000\000\000\000!\198\000\000\000\000\000\000.\208\000\000\000\000\000\000%\172\000\000\000\000\000\000\000\000/(\000\000\000\000\000\000\000\000\006\228\0230\000\000/\\\000\000\000\000\000\000\000\000\000\000\000\000\015\006\000\000\000\000\004\236\000\000\015D\000\000\0128\000\000\000\000\0028\023\130\000\000\003\180\000\000\000\000\000\000\000\000\002\020\000\000&\212\000\000\027\252\003\206\028:\000\000\003\248\000\000\016\002\000\000\017\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\222\028\248\002\152\029\250\000\000\000\000\000\000\004\210\000\000\017\148\000\000\004\246\000\000\000\000\012\190\005\180\030b\000\000\005\234\000\000\018\028\030\238\000\000\000\000\019\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007*\b\024\000\000\007H\000\000\000\000\000\000\000\000\005\194\000\000\019\144\000\000\000\000\000\000\"~5\188\000\000\000\000\000\000!\210\000\000\000\000\000\000\000\000\000\000\012X\t\000\000\000\000\000/\164\000\000\000\000\000m\000\000\t\134\000\000\000\000(n\000\000\000\000\000\000/\198\000\000\000\000\000\000\000\0000\128\000\000\000\000\b\006\0124\000\000\000\0000\154\000\000\000\000\007\234\"\146\000\000\012p\000\000\000\0000\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000#\238\000\000\000\000\000\000\001X\000\000\000\000\r\n\000\000\000\000(\250\000\000\000\000\000\0000\252\000\000\000\000\000\000\000\0001\026\000\000\000\000\b*\rh\000\000\000\0001x\000\000\000\000\b\220\000\000\000\000\000\000\000\000\002\020\002\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003|\000\000\019\248\000\000\000\000\000\0006\022\000\000\t&\000\000\000\000\000\000\005p\000\000\011\178\000\000\000\000\002<\021\004\000\000\021l\000\000\000\000\000\000\002d\000\0006\152\005\0246\178\000\0006\192\000\000\000\000\000\000\0050\000\0006\236\007\134\000\000\000\000'\018\007\214'\140\000\000(\020\000\000\000\000\000\000\t\002\000\0007n\n \000\000\000\000\026\172\n*\026\216\000\000\030v\000\000\000\000\000\000\np\000\0007\136\nv\000\000\000\000\000\000\000\220\000\000\000\000\000\000\007\254\000\000\000\000\000\000\000\000\000\000\000\000\001d\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\006\144\000\000\000\000\015B\000\000\000\000\000\000\000\000\007f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015D\000\000\000\000\015\030\000\000\0009\000\000\000\000\000\016\000\000\b\186\014\198\001\014\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\190\br\000\000\000\000\017\132\000\000\000\000\000\000\011\014\000\000\000\000\012\238\024r\000\000\000\000\000\000\000\000\025\022\025b\003n\000\000\000\000\000\000\030\150\000\000\000\000\000\000\000\000\000\000\000\000\002\028\000\000\000\000\002\002\000\000\000\000\014\148\000\000\000\000\017\190\000\000\000\000\014|\000\000\002~\000\000\000\000\000\000\000\000\004\230\031\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\014 P\000\000\000\000\000\000\000\000\"\210\000\000\000\000\002\224\000\000\015T\000\000\000\000\000\000\012\176\000\000\003\164\000\000\000\000\000\000 \202\000\000\000\000\"\252\000\000\000\000\000\n\014\154\000\000\014\156\000\000$4\n\b\000\000&\132\000\000\000\000\000\000\000\000\014\162\000\000\015\028\000\000\000\000\000\000\030J\000\000\003\170\014\228\005\228\000\000\000\000\000\000\000{\001\006\000\000\000\000\000\000\000\000\001P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\186\000\000\000\000\018.\000\000\002\156\015t\004\218\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\002\000\000\000\000#H'&\000\000\000\000\000\000\000\000(\182\000\000\000\000\003\128\000\000\001d\r\128\000\000\000\000\000\000\b\190\000\000\000\000\000\000\000\000\000\000\000%\018\168\000\000\000\000\023x\000\000\000\000\000\000\000\000\019\210\000\000\000\000\007\136\000\000\000\000\000\000\000Y\000\000\000\000\003\246\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\184\000\000\000\000\000\000\003,\000\000\000\000\000\000\000\000\000\000\000\020\007<\r\148\r\162\000\000\004\134\005\146\006\190\t\158\000\000\000\000\000\000\000\000\000\000\000\000\n\186\022j\000\000\031~\007x\000\000\000\000\011\136\000\000\023\"\000\000\029\216\000\000\000\000\n\254\023`\000\000 T\000\000\011\142 \226\000\000\000\000\000\000\b2\004\134\000\000\000\000\000\000\000\000\b\238\000\000\017\208\002\030\000\000\000\000\003\004\006@\000\000\014j\000\000\000\000\004p\000\000\004\144\000\000\000\000\024\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\174\000\000\000\000\011\186\000\000\023\238\000\000\0128\015$\000\000\000\000\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\00022\000\000\000o\000\000\000\000\000\000\000\000\000\000\001v\000\000\n\022\n\158\n\164\000\000\003\b\011,\000\000\011>\000\000\003\152\000\000\004 \000\000\005\012\000\000\0128\000\000\000\000\000\000\000\000\000\000\005\148\000\000\011Z\000\000\006\028\000\000\0128\015\150\000\000\004\016\000\000\015\150\n\196\000\000\t\006\000\000\t\232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n2\000\000\nz\000\000\000\000\000\000\014l\000\000\000\000\000\000\000\000\000\000\015\158\014|\000\000\000\000\014\180\000\000\000\000\014\134\n\b\015\218\000\000\015\226\000\000\000\000\004\208\002*\000\000\014\188\000\000\000\000\014\242\000\000\000\000\000\000\000\000\000\000\000\000\015\200\014\160\000\000\000\000\000\000\014\216\014\196\n6\b\142\014\242\015(\000\000\000\000\014\208\n\136\011@\014\250\0156\000\000\000\000\011X\016\012\000\000\016\016\000\000\0166\000\000\000\000\016\028\000\000\000\000\016\"\000\000\000\000\000\000\000\000\0160\000\000\016T\000\000\000\000\000\000\016Z\000\000\000\000\000\000\016d\000\000\000\000\000\000"), (16, "\003\214\003\237\000U\003`\006\167\0041\0042\005\211\002\142\0026\001\160\005v\001\170\006w\002\151\005\237\000\137\005\176\002\151\002\144\003\164\003\r\004\202\004\178\0028\000U\003\214\003\237\000\249\006\132\005\209\0072\000\249\006\250\0073\005\212\005\223\005\224\005\238\006\251\002\146\000U\000\137\002 \005\241\005\223\005\224\006\252\001\160\004\131\002\023\005\240\006\133\006i\006\136\005\223\005\224\000\025\004\132\000\251\003\216\000l\003_\000\250\003\217\000\137\000\139\000\145\000\183\000\144\003*\001\162\002\147\003.\005\238\001\163\006j\006m\005\223\005\224\005\241\005\223\005\224\001\160\004\132\001\170\003\216\000\137\000\139\001P\003\217\000\144\0077\000\018\000\181\006\177\006\193\006\194\000\190\000\137\000\137\000\139\000\140\002-\000\144\005\225\000\183\000\146\002\002\001\162\000\137\001\176\005x\001\163\005\225\000\017\000V\006\167\006\130\004\249\001}\003\242\000\007\000\244\005\225\006\180\006}\002\151\000\183\000\146\000\024\001\160\003/\001\170\000\147\000h\0030\003\165\006\254\000V\006\132\000\183\000\146\005n\001\162\006\206\000\005\005\225\001\163\001\176\005\225\002!\000\183\002\144\004m\004T\006\255\000\184\000a\000m\001\141\000\185\001\136\006\133\003\230\006\136\005\223\005\224\004r\000d\000k\000U\004s\004\133\002\148\003\231\004\251\004\216\002\"\001\224\004m\003\015\005'\006v\001\176\001\177\005\244\004X\004\198\000\183\003\230\001\143\001\162\006\175\004r\000\194\001\163\002\024\004s\004\133\007\000\003\231\003\164\003\214\003\237\006w\002\147\006\131\004]\007\001\004[\004w\001\141\004\179\007\030\004\210\0078\002\005\004\141\000\137\006z\004\233\005\253\001\177\006\252\0079\004\131\002\162\000U\004\170\003\246\002\162\001\176\005\231\003=\005\225\006\183\004w\006\185\004\136\007 \001\180\006w\001\142\004\141\003>\003\164\007\"\003\247\001N\005\229\005\206\005\207\003\248\000\137\004\170\003\246\003\249\001\177\001\181\006\149\004\132\003\250\003\216\001\182\004\\\003\015\003\217\001\183\000\195\001Q\001N\007L\001\184\003\247\003\214\003\237\005\245\001|\003\248\001\225\001\240\005\230\003\249\001N\004T\002!\000U\003\250\000\137\001\178\000\137\001Q\001\252\003\214\003\237\003\r\004\202\004\178\000\196\001|\002\011\000\137\000\137\001\179\001Q\001\177\000\028\001\160\004^\001\161\006#\000\255\001|\001\180\002\017\000\147\004U\006x\003\165\003a\000 \001]\000\255\006 \004_\000\228\007\131\000\137\001g\000U\007M\001\181\004\132\003d\003\216\002\014\001\182\002\r\003\217\002\162\001\183\004T\001`\000\181\000\198\001\184\006\147\000\182\000\229\001\217\000\005\000\183\000\230\003\216\006x\000\031\004m\003\217\000\200\000\147\000U\001\180\004\159\003\170\006\142\000\183\003\230\002\012\001\162\004\222\004r\007\n\001\163\004U\004s\004\133\007N\003\231\007\022\001\181\002\149\0067\0068\000\"\001\182\007\001\005\231\003\174\001\183\006{\007P\000\249\005\248\001\184\004\217\003\242\006\143\000\244\006\144\003\164\000\147\000\183\002\012\003\214\003\237\004\193\000\184\005R\001\176\000$\000\185\0069\006J\004w\003\242\004\136\007R\000\137\0029\000\137\004\141\006:\003\245\007T\006\252\007>\004\178\006\145\004m\001}\001h\004\170\003\246\0028\000\244\006K\004\195\006\146\003\230\006N\005\223\005\224\004r\000p\000\194\005\130\004s\004\133\003\016\003\231\003\247\004\219\001\141\001w\000(\003\248\001a\003\230\001b\003\249\005\132\004\132\004\198\003\216\003\250\005\133\000\255\003\217\003\231\006\167\000U\003\177\003\149\000U\002%\003\214\003\237\007I\000\004\002\151\005\132\003\244\001\177\001\143\000\181\004w\007\018\004\179\002\029\004\210\000\137\000\137\004\141\006!\006\132\004\233\006\252\007>\004\178\006~\005m\000\255\000\005\004\170\003\246\007\r\006!\007\014\000*\005\225\006\022\005\223\005\224\000\147\000\255\000\255\004\159\006\133\000\195\006\136\005\223\005\224\003\247\003\246\004\204\004\224\005h\003\248\0067\0068\006$\003\249\000\252\004\132\006\208\003\216\003\250\006\209\001\210\003\217\000\255\003\247\000\183\003\214\003\237\004\204\003\248\000\184\000\196\007C\003\249\000\185\006\213\007*\007+\003\250\001\181\004m\006O\000\137\000U\005R\000.\006\127\006\252\007>\004\178\003\230\006:\004\128\001\184\004r\0000\006\128\006\129\004s\004\133\007D\003\231\007\146\005\225\004\129\003\214\003\215\000\\\000\194\007\001\000\187\006\023\005\225\006\170\004u\004\135\007\147\000\198\004\193\000\137\000\139\000\140\000\141\000\144\004\132\000]\003\216\004\129\006\206\003*\003\217\000\202\003.\000U\003\214\003\237\007/\004w\006\221\004\179\007E\007F\006P\007\r\004\141\007\014\000\r\007H\007\021\004\194\000U\0003\004m\000\255\003\015\004\170\003\246\004f\005|\006\198\006\199\000\146\003\230\000\183\000U\003\216\004r\000\016\000\017\003\217\004s\004\133\007D\003\231\003\247\003\164\006\203\004\222\004\184\003\248\000U\007\001\000\195\003\249\003\214\003\237\004u\000\183\003\250\006\206\004\129\003/\003W\000\004\003\216\0030\000\137\000\147\003\217\000\181\000\137\003\214\003\215\000\192\004\212\006\252\007>\004\178\000\b\004w\006\132\004\179\000\196\007F\0007\002\162\004\141\000\005\0021\007H\004m\0066\005\223\005\224\006\173\004\207\000\255\004\170\003\246\006\206\003\230\0041\0042\006\133\004r\006\136\005\223\005\224\004s\004\133\007D\003\231\004\132\007\155\003\216\002#\003\247\0019\003\217\007\001\005k\003\248\003\214\003\237\004u\003\249\005i\000\183\007G\000\183\003\250\003\216\000\184\000\137\000V\003\217\000\185\000\181\000\137\003\230\004\230\000\192\006\221\006\252\007>\004\178\005k\004w\001p\004\179\003\231\007F\004\230\000^\004\141\005\004\007\132\007H\004m\000\147\004\235\005\225\003\165\003=\001k\004\170\003\246\004\129\003\230\006\225\000\194\004\232\004r\001N\003>\005\225\004s\000\137\000\139\003\231\004\132\001O\003\216\004\231\003\247\003*\003\217\004\235\003D\003\248\003\214\003\237\004u\003\249\001Q\000\183\007O\005\244\003\250\000U\000\184\000U\001|\004\227\000\185\005\140\000\137\003\170\004m\000\137\000\137\006\252\007>\004\178\000U\004w\0006\005\143\003\230\000\146\005\142\0009\004r\003\236\000\137\000U\004s\004\133\007D\003\231\007\139\003\174\005\142\000U\003\246\003\230\004S\007\001\000\194\0044\002\134\004\245\004u\000\183\000\195\000U\003\231\003/\004\132\003@\003\216\0030\003\247\000U\003\217\005y\001\160\003\248\001\161\003\147\003*\003\249\004W\003.\007S\004w\003\250\004\179\004\238\007F\006\139\000\254\004\141\005\219\000\196\007H\004m\001r\001]\000\255\000U\000\137\002+\004\170\003\246\001g\003\230\006\152\005\245\005\220\004r\000;\006\221\007\n\004s\004\133\007D\003\231\001`\001`\007\017\000\197\003\247\006\224\000U\007\001\001}\003\248\003\214\003\237\004u\003\249\000\195\004T\000\183\001\130\003\250\001\162\003W\003\232\000\198\001\163\003/\000\146\000\137\000\239\0030\000U\001\165\003\r\004\202\004\178\000U\004w\000\200\004\179\000?\007F\000\252\004T\004\141\004Z\000\196\007H\004m\004U\000\255\001\233\004\171\003=\000\137\004\170\003\246\003\138\003\230\006\216\005x\001\176\004r\000\147\003>\000A\004s\004\133\007D\003\231\004\132\001\247\003\216\000\197\003\247\004U\003\217\007\001\006\233\003\248\003\214\003\237\004u\003\249\005\222\000U\001Q\001\139\003\250\003\015\004\129\001h\000\198\000U\001|\000\181\000\137\000\199\000\147\000\190\005\220\003\r\004\202\004\178\000U\004w\000\200\004\179\006p\007F\000U\001z\004\141\003Y\001i\007H\001a\001a\001b\001b\001u\000\137\004T\004\170\003\246\000\137\000\255\000\255\003=\003\142\003\127\007\r\000U\007\014\006\189\001\177\003\\\004\254\004\132\003>\003\216\000\255\003\247\000C\003\217\002u\003\148\003\248\003\214\003\237\002\156\003\249\004\254\000\183\004U\001}\003\250\006\223\000\184\003\141\000E\000U\000\185\005\208\000\137\003\130\004m\003\014\005\000\003\r\004\202\004\178\003_\001}\000\137\002\030\003\230\000\137\000U\003\r\004r\000\137\006\216\004\255\004s\004\133\005\209\003\231\005q\004\216\001Q\005\212\005\223\005\224\000I\000H\000\194\005-\001|\000\147\004u\000\137\000\139\000\140\001K\000\144\004\132\002\220\003\216\001\235\0041\0042\003\217\000\181\003a\005X\003\184\000\190\000\147\003\014\005\146\006\227\000\137\004w\000\147\004\179\006\003\004\210\003b\000\137\004\141\006\191\005^\004\146\004m\005\142\000\137\000\139\000\140\001\127\000\144\004\170\003\246\000\146\003\230\000K\002\247\001T\004r\006\004\005\223\005\224\004s\004\133\000M\003\231\004\214\004\216\005\154\006\218\003\247\005\225\006\132\005`\005\247\003\248\001\137\000\255\004u\003\249\000\195\000\183\003\178\005\156\003\250\0032\000\184\000U\000\146\000U\000\185\000U\000\181\003\214\003\237\006\133\000\190\006\136\005\223\005\224\001]\004w\003;\004\179\000\227\004\210\003\182\001g\004\141\000\137\000\196\004\146\004m\000U\003\r\004\202\004\178\000U\003\191\004\170\003\246\001`\003\230\000\183\000\194\005\251\004r\000o\000U\005\225\004s\004\133\000U\003\231\004\253\004\216\0023\000\228\003\247\000U\003\151\004\133\000U\003\248\000\255\007e\004u\003\249\003\176\007\151\000\183\004\132\003\250\003\216\006\217\000\184\000\198\003\217\0043\000\185\000\229\003\214\003\237\005^\000\230\005\245\000U\005\225\005\252\004w\000\200\004\179\000\224\004\210\006\221\000`\004\141\000\137\000l\004\146\005\226\005z\003\r\004\202\004\178\000u\004\141\004\170\003\246\004\146\003\214\004\030\006\253\000\194\005_\001N\0025\004\170\000\195\000U\003\176\000\147\000c\003V\000\255\003\219\003\247\0041\0042\001h\000t\003\248\000w\003\214\003\237\003\249\001Q\000z\005\157\004\132\003\250\003\216\001\154\007\139\001|\003\217\000|\003\228\000\196\000\137\001N\004C\001n\005\156\006\252\001a\004\131\001b\003\214\003\215\007\003\000\137\000\147\006\007\001\255\000\255\000\147\004m\000\183\003\154\003\216\001Q\000\255\000V\003\217\000\228\000V\003\230\007e\001|\000\128\004r\006\022\005\223\005\224\004s\004\133\000\195\003\231\005u\004\216\004\132\000a\003\216\000\198\000a\000r\003\217\000\229\006\171\000V\004u\000\230\000d\003\214\003\237\000d\007l\000\200\007K\004\150\000\227\0041\0042\005\022\007e\000\183\000\196\003\216\000a\000\137\0020\003\217\007;\004w\006\252\004\179\004\131\004\210\001]\000d\004\141\000\143\000\147\004\146\004m\001v\000\137\000\139\000\140\001\132\000\144\004\170\003\246\000\228\003\230\0041\0042\001\001\004r\001`\007e\005\225\004s\004\133\006\222\003\231\007\028\004\216\007\129\006_\003\247\004\132\000\198\003\216\004{\003\248\000\229\003\217\004u\003\249\000\230\003\214\003\237\003\230\003\250\007J\000\200\007m\000\146\007<\005\030\007\150\005\160\001\160\003\231\001\170\004m\000\137\005\168\006\003\000U\004w\006\252\004\179\004\131\004\210\003\230\005\142\004\141\000\137\004r\004\146\007;\005\170\004s\004\133\007=\003\231\003*\004\170\003\246\003.\006\004\005\223\005\224\007\001\007;\0041\0042\007f\007@\003\230\007\157\005\171\000U\005\174\000g\006\236\003\247\004\132\000\181\003\216\003\231\003\248\001\254\003\217\007\187\003\249\005\170\004\129\005\142\000\183\003\250\004w\001\162\004\136\007B\007?\001\163\006\229\004\141\007\188\007\031\007H\000\137\007A\007h\004m\001\004\003\r\000j\004\170\003\246\001a\004\129\001b\000\183\003\230\001\b\007Q\003/\004r\007\140\000\255\0030\004s\004\133\007=\003\231\001\224\003\247\001\007\005\225\006\243\001\176\003\248\007\001\004\020\000\183\003\249\001\n\007@\007j\000\184\003\250\007\140\003\184\000\185\000\137\000\139\000\140\002'\000\144\001\012\000V\003\247\003\214\003\237\000\137\000\139\000\140\002\138\000\144\007\158\004w\001\016\004\136\007B\001\018\003\250\001N\004\141\000\137\000a\007H\004m\006\221\003\r\007p\004\131\001\020\000\194\004\170\003\246\000d\003\230\007\140\000\137\000V\004r\000\146\001Q\003\015\004s\004\133\007=\003\231\001\022\001\025\001|\000\146\003\247\001\029\001\028\007\001\006\248\003\248\000a\001\177\007@\003\249\000U\001\031\003\164\004\132\003\250\003\216\001!\000d\001%\003\217\001'\003=\001)\000\137\000\139\000\140\002\153\000\144\005\021\001\225\001\226\004w\003>\004\136\007B\001+\007\139\005{\004\141\001\178\000U\007H\001/\006M\000U\006\n\003\214\003\237\001.\004\170\003\246\0011\0013\001\179\000\195\005}\0018\001>\003\015\004\248\004\133\000\255\000\137\001\180\001=\000\146\006K\003\r\003\247\004\131\006N\005\223\005\224\003\248\001@\003\214\003\237\003\249\006\003\003\164\000l\001\181\003\250\004|\000\196\001B\001\182\001D\001H\001\140\001\183\000\137\001M\001\129\001\135\001\184\003\r\004~\004\131\001\217\005z\006\004\005\223\005\224\004\132\004\141\003\216\003a\004\146\004m\003\217\000\137\000\139\000\140\002\158\000\144\004\170\000U\001\134\003\230\002*\003f\002)\004r\000\147\002/\000\147\004s\004\133\004\159\003\231\001N\001\141\004\132\000\181\003\216\006\225\002=\000\182\003\217\005\225\001N\002@\004\237\000\137\002D\004\246\002C\002F\006\216\004\248\000\137\001Q\000\146\000\147\001\160\006\216\001\238\000V\002H\001|\002L\001Q\001\143\000U\001\160\004w\001\170\004\136\004\239\001|\005\225\005.\004\141\004\164\002N\004\146\000a\0016\000\181\002P\000\137\002R\000\192\004\170\003\246\000\181\002U\000d\002Y\000\192\005\027\000\183\000\147\003\214\003\235\004\159\000\184\004\168\005,\004m\000\185\0057\003\247\002X\002[\002]\001N\003\248\002a\003\230\002c\003\249\000\183\004r\002e\001\162\003\250\004s\004\133\001\163\003\231\002g\000\183\002k\002j\001\162\002m\001Q\004m\001\163\000\147\002o\002t\004\237\000\194\001|\000\183\002z\003\230\002y\004\164\000\184\004r\000\183\000U\000\185\004s\004\133\000\184\003\231\000\137\000\183\000\185\003\216\002|\001\176\004w\003\217\004\136\004\239\003\214\003\237\004\183\004\141\004\168\001\176\004\146\002~\002\128\004\138\002\132\002\141\002\140\006,\004\170\003\246\000\137\000\147\005I\000\194\000l\003\r\004\139\004\178\006\016\004w\000\194\004\136\004\185\002\155\002\161\002\160\004\141\003\247\001N\004\187\006*\002\242\003\248\006-\005\223\005\224\003\249\004\170\003\246\002\164\002\167\003\250\000\195\002\171\006\226\002\170\003\214\003\237\002\173\001Q\002\175\006\217\004\132\007\n\003\216\004\181\003\247\001|\003\217\005Y\007\012\003\248\000\137\001\177\002\179\003\249\002\181\003\r\004\139\004\178\003\250\002\183\000\196\001\177\002\185\002\188\002\192\003\214\003\237\002\191\002\194\002\196\006\218\002\200\002\202\002\204\004\186\000\195\002\206\006\218\000\255\003\230\000V\000\137\000\195\002\210\002\209\000\255\003\r\004\139\004\178\002\212\003\231\005\225\004\132\001\178\003\216\002\214\002\219\002\225\003\217\000a\001;\002\224\002\227\002\229\000\181\000\196\000\198\001\179\000\190\002\231\000d\002\235\000\196\002\241\001\220\000\255\002\240\001\180\002\246\002\252\000\204\002\251\005\217\004\132\006\001\003\216\000\137\005\236\005\250\003\217\006&\006I\000\197\006Z\006\\\001\181\004m\006f\003\015\000\197\001\182\000\181\006h\006r\001\183\000\182\003\230\006\141\007(\001\184\004r\000\198\007V\001\221\004s\004\133\000\238\003\231\000\198\000U\003\214\003\237\000\183\000\241\007Z\000\200\007n\000\184\007t\000\181\004u\000\185\000\200\000\190\007u\007\r\000\137\007\014\007z\007{\007\128\003\r\004\202\004\178\007\127\000\255\007\135\007\137\004m\007\143\003\214\003\234\007\144\004w\001]\004\179\007\148\004\180\003\230\000\183\004\141\001q\004r\004\146\000\184\000\194\004s\004\133\000\185\003\231\007\149\004\170\003\246\007\152\007\153\001`\007\156\007\159\004\132\004m\003\216\007\160\004u\007\177\003\217\007\166\000\242\000\183\007\175\003\230\003\247\007\171\000\184\004r\007\174\003\248\000\185\004s\004\133\003\249\003\231\007\183\000\194\007\181\003\250\004w\007\185\004\179\000\183\004\180\003\216\007\190\004\141\004u\003\217\004\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\170\003\246\000\137\000\139\000\140\002\238\000\144\000\194\000\000\000\000\000\147\000\000\000\000\004w\000\000\004\179\000\195\004\180\000\000\003\247\004\141\000\000\000\000\004\146\003\248\000\000\003\214\003\237\003\249\000\000\000\181\004\170\003\246\003\250\000\182\000\137\000\139\000\140\002\244\000\144\000\246\000\000\000\137\000\000\000\146\000\000\000\196\003\r\004\202\004\178\003\247\004m\000\000\000\195\000\000\003\248\000\000\000\000\003\185\003\249\000\000\003\230\000\000\000\000\003\250\004r\001a\000\181\001b\004s\004\133\000\192\003\231\000\228\004\209\000\000\000\255\000\146\000\000\000\000\000\000\000\195\003\189\000\196\004\132\004u\003\216\000\000\000\183\000\000\003\217\003\230\000\198\000\184\000\000\000\000\000\229\000\185\003\214\003\237\000\230\000\000\003\231\000\000\000\000\000\248\000\200\000\000\004w\000\000\004\179\000\196\004\210\000\000\000\137\004\141\000\000\000\000\004\146\003\r\004\202\004\178\000\000\006\006\000\000\000\183\004\170\003\246\000\000\000\198\000\184\000\194\000\000\000\000\000\185\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\000\000\206\000\137\003\247\006\004\005\223\005\224\006)\003\248\000\000\000\000\000\000\003\249\000\000\004\132\000\198\003\216\003\250\000\181\000\229\003\217\000\000\000\182\000\230\003\214\003\237\000\194\000\000\000\000\000\200\006*\000\000\000\000\006-\005\223\005\224\000\000\000\000\004m\000\000\000\137\000\000\000\000\000\000\001N\003\r\004\240\004\178\003\230\000\000\000\000\000\000\004r\000\000\000\181\000\000\004s\004\133\000\182\003\231\000\000\004\211\000\000\000\195\006\135\001Q\000\137\000\139\000\140\002\249\000\144\007\n\004u\001|\005\225\000\000\000\183\001N\007\023\000\137\000\000\000\184\004\132\000\000\003\216\000\185\000\000\006\133\003\217\006\136\005\223\005\224\000\000\000\196\000\000\004w\000\000\004\179\001Q\004\210\000\195\000\000\004\141\005\225\000\000\004\146\001|\000\000\000\146\000\000\004m\000\000\000\183\004\170\003\246\000\000\000\000\000\184\000\000\000\194\003\230\000\185\000\000\000\000\004r\006\132\004\242\000\000\004s\004\133\000\196\003\231\003\247\004\229\000\000\000\000\000\000\003\248\000\000\000\198\000\000\003\249\003\214\003\237\004u\000\000\003\250\001]\006\133\000\000\006\136\005\223\005\224\000\208\001_\000\194\000\000\000\197\000\137\005\225\000\000\000\000\000\000\003\r\004\240\004\178\000\000\004w\001`\004\179\000\000\004\210\003*\000\000\004\141\003.\000\198\004\146\004m\000\000\007\024\001\172\000\000\000\000\000\000\004\170\003\246\000\000\003\230\000\000\000\200\000\000\004r\000\195\000\000\000\000\004s\004\133\000\137\003\231\004\132\000\000\003\216\007\025\003\247\007\r\003\217\007\014\000\000\003\248\003\214\003\237\004u\003\249\006;\000\255\000\000\000\000\003\250\005\006\005\225\000\000\000\000\000\196\000\000\000\000\000\137\000\000\000\000\000\195\003W\003\r\004\139\004\178\003/\004w\000\000\004\179\0030\004\243\000\000\000\000\004\141\000\000\004\244\004\146\000\000\000\000\000\000\000\000\001N\000\000\000\000\004\170\003\246\000\000\000\000\000\000\000\000\000\196\000\000\000\000\003\214\003\237\000\000\003\138\001]\000\000\004\132\001\249\003\216\001Q\003\247\001t\003\217\006i\000\181\003\248\000\137\001|\000\182\003\249\001a\003\r\001b\004\131\003\250\001`\000\000\000\000\000\000\001\160\000\255\001\170\000\000\000\000\004m\000\000\006j\006m\005\223\005\224\000\000\000\000\000\000\000\198\003\230\000\000\000\000\000\000\004r\000\000\000\181\000\000\004s\004\133\000\182\003\231\000\000\000\210\004\132\003Y\003\216\000\000\000\000\000\000\003\217\000\000\000\000\000\000\004u\000\000\006\178\000\000\000\183\000\000\003=\003\139\003\127\000\184\000\000\000\000\000\000\000\185\003\\\000\000\000\000\003>\000\000\000\183\003\214\003\233\001\162\004w\000\000\004\179\001\163\004\243\000\000\000\000\004\141\000\000\005o\004\146\004m\000\000\004\248\003\141\000\000\005\225\000\183\004\170\003\246\003\130\003\230\000\184\000\000\000\194\004r\000\185\003_\000\000\004s\004\133\000\000\003\231\000\000\000\000\000\000\002\002\003\247\000\000\001\176\000\000\000\000\003\248\003\214\003\237\004u\003\249\000\000\001a\000\000\001b\003\250\000\000\000\000\000\000\000\183\000\000\003\216\000\255\000\137\000\194\003\217\000\000\004m\003\r\000\000\004\131\000\000\004w\003a\004\179\000\000\004\180\003\230\000\000\004\141\000\137\004r\004\146\000\000\000\000\004s\004\133\003b\003\231\000\000\004\170\003\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\003\237\004\237\000\195\000\000\000\000\004\132\001\160\003\216\001\161\003\247\000\000\003\217\000\000\000\000\003\248\000\137\000\000\001\177\003\249\000\000\003\r\000\000\004\131\003\250\004w\000\000\004\136\004\239\001\160\002\003\001\161\004\141\000\196\006\186\004\146\000\000\000\000\000\000\000\195\000\000\000\000\000\000\004\170\003\246\000\000\000\000\000\000\005\127\001]\002\005\000\000\004\248\000\000\000\000\000\000\001g\000\000\004\132\000\181\003\216\000\000\003\247\001\251\003\217\000\183\003\230\003\248\001\162\000\196\001`\003\249\001\163\000\000\001\180\000\000\003\250\003\231\000\000\000\198\000\000\000\000\000\000\003*\000\000\000\000\003.\000\183\000\000\000\000\001\162\000\000\001\181\000\212\001\163\000\000\000\226\001\182\000\000\000\000\005\129\001\183\004m\000\000\004\248\000\000\001\184\000\181\001\176\000\000\000U\000\190\003\230\000\000\000\000\000\198\004r\000\183\000\000\000\000\004s\004\133\000\184\003\231\000\000\000\000\000\185\003\214\003\237\000\200\001\176\000\000\001\160\000\000\001\237\000\000\004\237\000\000\000\000\000\000\000\000\000\183\000\000\000\137\000\000\003/\000l\000\000\003\r\0030\004\131\001\160\000\000\001\161\004m\000\000\000\000\000\000\001h\004w\000\194\004\136\004\239\000\000\003\230\000\183\004\141\000\000\004r\004\146\000\184\000\000\004s\004\133\000\185\003\231\000\000\004\170\003\246\000\000\000\000\003\157\001\177\000\000\001a\004\132\001b\003\216\004\237\000\000\000\183\003\217\000\000\001\162\000\255\000\000\003\247\001\163\000\000\000\000\000\000\003\248\000\000\003*\001\177\003\249\003.\000\000\000\194\000\183\003\250\004w\001\162\004\136\004\239\000\000\001\163\000\000\004\141\003\214\003\237\004\146\000\181\000\000\000V\000\000\000\182\006\230\006\238\004\170\003\246\004\248\000\000\001\176\000\195\000\137\000\000\000\000\000\000\000\000\003\r\004\139\004\178\000a\002r\000\000\000\000\003=\003\247\000\000\003\214\003\237\001\176\003\248\000d\000\000\001\181\003\249\003>\000\000\000\000\000\183\003\250\003\015\000\196\003/\000\137\003\214\003\237\0030\001\186\003\r\000\000\004\131\003\144\000\000\000\000\004\132\001\181\003\216\000\183\004m\000\195\003\217\000U\000\184\000\000\000\000\000\000\000\185\004\192\003\230\001\188\006\132\001\160\004r\001\236\000\000\000\000\004s\004\133\000\000\003\231\000\000\000\000\000\000\003T\001\177\004\132\000\000\003\216\000\000\000\196\000\000\003\217\004\237\006\133\000\000\006\136\005\223\005\224\003\214\003\237\000\194\000\000\003W\001\177\003\216\000\000\000\000\007!\003\217\000\000\003a\000\000\000\000\000\000\000\137\004w\000\228\004\136\004\239\003\r\004\139\004\178\004\141\000\000\003h\004\146\000\000\006\244\000\000\000\183\000\000\004\248\001\162\004\170\003\246\000\198\001\163\000\000\000\000\000\229\000\000\000\000\000\000\000\230\003=\000\000\000\000\000\000\000\000\000\200\004m\000\000\003\247\000\000\000\000\003>\004\132\003\248\003\216\000\000\003\230\003\249\003\217\000\000\004r\005\225\003\250\000\000\004s\004\133\000\000\003\231\001\176\003*\000\195\000\147\003.\002\001\000\000\000\000\000\000\004m\000\000\000\000\004u\000\000\000\000\000\000\000\000\000\000\000\000\003\230\000\000\000\000\000\000\004r\000\000\006\003\004m\004s\004\133\000\000\003\231\000\000\000\196\000\000\000\000\004w\003\230\004\179\000\000\004\180\004r\000\000\004\141\004\237\004s\004\146\000\000\003\231\006\004\005\223\005\224\004\172\000\000\004\170\003\246\000\000\000\000\000\000\003?\003W\004u\000\000\000\000\003/\000\137\000\000\004w\0030\004\136\004\239\000U\000\000\003\247\004\141\001\177\004\176\004\146\003\248\000\198\000\000\004m\003\249\000\000\004w\004\170\003\246\003\250\005\001\003\214\003\237\003\230\000\181\000\214\000\000\004r\000\182\000\000\000\000\004s\004\133\006)\003\231\003\246\003\247\000\137\006\181\000l\006\003\003\248\003\r\000\000\004\178\003\249\000\000\004u\000\000\000\000\003\250\005\225\003*\003\247\000\000\003.\006*\000\000\003\248\006-\005\223\005\224\003\249\006\004\005\223\005\224\007\n\003\250\000\000\000\000\004w\000\000\004\179\007\020\004\180\000\000\000\000\004\141\006\003\004\132\004\146\003\216\000\183\003Y\000\000\003\217\000\000\000\184\004\170\003\246\000\000\000\185\003\214\003\237\000\000\000\000\000\000\000\000\003=\000\000\003\134\006\004\005\223\005\224\004\182\000\000\003\\\003\247\000\137\003>\000\183\000\000\003\248\003\r\003/\004\131\003\249\000V\0030\000\000\000\000\003\250\000\000\003\214\003\237\000\194\000\000\000\000\000\000\005\225\000\000\000\000\000\000\005\225\000\000\004\130\000a\002w\000\000\000\137\000\000\000\000\003_\001\160\003\r\001\161\004\131\000d\000\000\000\000\004\132\000\000\003\216\001\160\000\000\001\170\003\217\000\181\000\000\003\137\000\000\000\192\000\000\000\000\000\000\006\014\000\000\000\000\000\000\000\137\000\000\005\225\001\160\000\000\001\161\004m\000\000\000\000\000\000\000\000\001\160\004\132\001\161\003\216\003a\003\230\000\000\003\217\000\000\004r\000\000\000\000\000\000\004s\004\133\000\000\003\231\000\000\003b\000\195\007\r\000\183\007\014\000\000\001\162\000\000\000\000\000\000\001\163\005\003\000\255\000\183\000\000\000\000\001\162\000\183\003=\000\000\001\163\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\137\003>\000\000\000\196\000\183\003\r\004w\001\162\004\179\000\000\005\005\001\163\000\183\004\141\006A\001\162\004\146\000\000\001\176\001\163\004m\006\029\000\137\001\224\004\170\003\246\000\000\003\r\001\176\000\000\003\230\000\000\000\194\000\000\004r\000\000\000\000\000\000\004s\004\133\000\000\003\231\003\184\003\247\000\000\000\000\000\181\001\176\003\248\000\198\000\182\004m\003\249\000\000\004\134\001\176\000\000\003\250\000\000\006\027\000\000\003\230\000\137\000\216\003\184\004r\000\000\000\000\000\000\004s\004\133\000\000\003\231\000\000\000\000\000\000\003a\004w\000\000\004\136\004\137\000\000\003\214\003\237\004\141\004\134\000\000\004\146\000\000\000\000\003j\000\000\001\177\000\000\004\140\004\170\003\246\000\181\000\137\000\000\000\000\000\192\001\177\003\r\000\183\004\131\000\195\000\000\004w\000\184\004\136\004\137\000\000\000\185\003\247\004\141\000\000\000\000\004\146\003\248\000\000\001\177\000\000\003\249\001\225\0034\004\170\003\246\003\250\001\177\001]\000\000\000\000\000\000\001\178\000\000\000\196\001g\000\000\000\000\004\132\000\000\003\216\000\000\000\000\003\247\003\217\000\194\001\179\000\000\003\248\001`\003\214\003\237\003\249\000\183\000\255\004\133\001\180\003\250\000\184\000\000\000\000\000\197\000\185\000\000\001\181\000\000\000\137\000\000\000\181\000\000\000\000\003\r\000\190\004\131\001\181\000\000\000\000\004\133\001\190\001\182\000\198\003\214\003\237\001\183\000\137\001\174\000\000\000\000\001\184\000\000\000\000\000\000\001\217\001\181\000\200\005\163\000\194\000\137\000\000\000\000\004\141\001\181\003\r\004\146\004\131\000\000\000\000\001\192\004\132\000\000\003\216\004\170\000\000\000\000\003\217\001\194\000\000\005\165\000\000\000\195\000\000\003*\004\141\000\000\003.\004\146\000\183\000\000\000\000\000\000\000\000\000\184\000\000\004\170\004m\000\185\000\000\001h\000\000\004\132\000\000\003\216\000\000\000\000\003\230\003\217\000\000\000\000\004r\000\196\000\000\000\000\004s\004\133\000\000\003\231\000\000\000\181\000\000\000\000\003\167\000\182\000\000\001a\000\000\001b\000\000\000\000\004\134\000\194\000\195\000\000\000\000\000\255\000\000\000\000\003\214\003\237\000\000\000\183\000\000\000\000\000\000\003/\000\000\000\000\000\000\0030\000\000\000\000\000\000\004w\000\137\004\136\004\137\002\019\000\000\003\r\004\141\004\131\000\196\004\146\000\000\000U\004m\000\000\000\000\000\181\000U\004\170\003\246\000\182\000\000\000\000\003\230\000\183\000\000\000\000\004r\000\000\000\184\000\000\004s\004\133\000\185\003\231\000\000\000\197\003\247\000\000\000\000\004\213\000\000\003\248\004\132\004m\003\216\003\249\004\206\000l\003\217\000\000\003\250\000\195\000l\003\230\000\198\000\000\000\000\004r\000\000\003\239\000\000\004s\004\133\000\000\003\231\000\000\000\194\000\000\000\200\004w\004\205\004\136\004\208\000\183\000\000\001\154\004\141\004\206\000\184\004\146\000\000\000\196\000\185\000\000\000\000\000\000\000\000\004\170\003\246\000\000\000\000\000\000\000\000\003=\000\000\000\000\003*\002\021\000\000\003.\004w\000\000\004\136\004\208\003>\000\255\003\247\004\141\000\228\000\000\004\146\003\248\000\000\003\214\003\237\003\249\000\194\000\181\004\170\003\246\003\250\000\192\000\000\000\000\000\000\000V\000\000\000\198\000\000\000\137\000V\000\229\000\000\000\000\003\r\000\230\004\131\003\247\004m\000\000\000\195\000\200\003\248\000\000\000a\002\217\003\249\000\000\003\230\000a\002\222\003\250\004r\000\000\003W\000d\004s\004\133\003/\003\231\000d\000\000\0030\000\000\004\225\003\214\003\237\000\000\000\000\000\000\000\196\004\132\004\226\003\216\000\000\000\183\000\000\003\217\000\000\003a\000\184\000\137\000\000\000\000\000\185\006l\003\r\000\000\004\131\003\138\000\195\000\137\000\000\003l\000\000\004w\003\r\004\136\004\228\000\000\000\000\000\000\004\141\000\000\000\000\004\146\000\000\000\000\006j\006m\005\223\005\224\000\000\004\170\003\246\000\181\000\198\000\000\000\194\001\250\000\196\000\000\000\000\004\132\006\003\003\216\000\000\000\000\000\000\003\217\000\218\000\000\003\247\003\184\000\000\003\214\003\237\003\248\000\000\000\000\000\000\003\249\003\214\003\215\000\000\003Y\003\250\006\004\005\223\005\224\000\000\000\137\000\000\000\000\000\000\000\000\003\r\000\000\004\131\000\000\003=\006\240\003\127\000\000\000\000\000\000\000\198\004m\003\\\004\236\000\000\003>\000\000\000\183\000\000\000\000\000\000\003\230\000\184\005\225\000\220\004r\000\185\000\000\000\000\004s\004\133\006\003\003\231\000\000\000\000\003\141\000\195\004\132\004\223\003\216\000\000\003\130\000\000\003\217\000\183\004\206\003\216\000\000\003_\000\000\003\217\003\214\003\237\000\000\006\004\005\223\005\224\000\000\000\000\000\000\000\194\005\225\006\234\004m\000\000\000\000\000\196\000\137\004w\000\000\004\136\004\208\003\r\003\230\004\131\004\141\000\000\004r\004\146\000\000\000\000\004s\004\133\004\241\003\231\000\000\004\170\003\246\000\000\000\000\003a\000\000\004\133\000\197\000\000\000\000\000\000\004\237\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\247\000\000\000\000\000\000\004\132\003\248\003\216\000\198\000\000\003\249\003\217\000\000\003\241\000\000\003\250\004w\000\000\004\136\004\239\005\225\000\000\000\200\004\141\000\000\000\000\004\146\000\000\005\167\004m\000\195\000\000\000\000\004\141\004\170\003\246\004\146\003*\000\000\003\230\003C\000\000\000\000\004r\004\170\000\000\003\230\004s\004\133\000\000\003\231\000\000\000\000\003\247\003\214\003\237\000\000\003\231\003\248\000\000\000\196\000\000\003\249\004\237\000\000\006\246\001\160\003\250\001\161\000\000\000\137\006\025\000\000\000\000\000\000\003\r\000\000\004\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\003\004w\000\000\004\136\004\239\000\000\000\000\000\000\004\141\000\000\000\183\004\146\000\000\000\000\003/\000\000\004m\000\000\0030\004\170\003\246\000\000\000\000\006\004\005\223\005\224\003\230\004\132\000\000\003\216\004r\000\000\000\000\003\217\004s\004\133\000\000\003\231\003\247\000\183\003\214\003\237\001\162\003\248\000\000\003\247\001\163\003\249\000\000\0064\006\235\006\249\003\250\000\000\000\000\000\000\000\137\000\000\006)\003\252\000\000\003\r\000\000\004\131\001\160\000\000\001\161\000\000\000\000\000\000\000\000\000\000\000\000\004w\000\000\004\136\006\237\000\000\000\000\000\000\004\141\006*\001\176\004\146\006-\005\223\005\224\000\000\001\160\000\000\001\161\004\170\003\246\005\225\000\000\000\000\000\000\000\000\004\132\000\000\003\216\001\160\000\000\001\170\003\217\000\000\000\000\000\000\000\000\003*\003\247\000\000\003B\000\000\000\000\003\248\003=\000\137\000\000\003\249\000\000\000\000\000\183\004m\003\250\001\162\000\000\003>\000\000\001\163\000\000\000\000\000\000\003\230\000\000\000\000\000\000\004r\000\000\000\000\000\000\004s\004\133\000\000\003\231\000\000\000\183\000\000\003*\001\162\000\000\003A\000\000\001\163\005\225\000\000\001\177\006\235\000\000\000\183\003\214\003\237\001\162\000\000\000\000\001\176\001\163\000\183\000\000\000\000\000\137\003/\000\000\000\000\000\181\0030\000\137\000\000\000\182\000\000\004w\005\020\004\136\006\237\000\000\000\000\000\000\004\141\000\000\001\176\004\146\000\000\000\000\000\000\004m\000\000\000\000\001\224\004\170\003\246\000\000\000\000\001\176\000\000\003\230\0053\000\183\006?\004r\000\000\003/\000\000\004s\004\133\0030\003\231\000\000\003\247\0056\000\000\003\216\000\000\003\248\000\000\003\217\000\000\003\249\000\000\006\235\000\000\001\181\003\250\000\183\000\000\000\000\000\000\000\000\000\184\001]\001\177\000\000\000\185\000\000\005<\001\196\001g\003\214\003\237\000\000\000\000\000\000\004w\000\000\004\136\006\237\000\000\003\214\003\237\004\141\001`\000\000\004\146\000\137\001\177\000\000\006S\000\000\005\020\000\000\004\170\003\246\000\000\000\137\003=\000\000\000\194\001\177\005\020\005a\000\000\000\000\003\242\000\000\000\244\003>\000\000\000\000\000\000\003\247\000\000\000\000\005e\000\000\003\248\003\214\003\237\000\000\003\249\001\225\003\221\000\000\0055\003\250\000\000\0056\000\000\003\216\000\000\001\178\000\000\003\217\000\000\003=\001\181\0056\000\000\003\216\004\190\000\000\000\000\003\217\006\003\001\179\003>\003\230\000\000\000\000\001\198\000\000\005<\000\255\000\000\001\180\005=\000\000\003\231\000\000\001\181\000\000\005<\000\000\001\160\006\003\001\170\006\004\005\223\005\224\001h\005c\000\195\001\181\001\200\003W\000\000\003\216\001\182\000\000\000\137\003\217\001\183\000\000\000\000\000\000\000\000\001\184\006\004\005\223\005\224\001\217\000\000\004\153\000\000\000\000\001a\000\000\001b\000\000\006)\005@\000\196\000\000\005d\001\160\000\255\001\170\000\000\000\000\000\000\000\000\005W\003\246\000\000\001\160\000\000\001\161\000\000\003\214\003\215\000\137\000\183\006*\000\000\001\162\006-\005\223\005\224\001\163\000\000\003\247\000\000\003\230\004\196\000\000\003\248\005\225\003\242\000\000\003\249\000\000\005=\003\230\003\231\003\250\000\000\000\000\000\198\000\000\000\000\000\000\005=\001\160\003\231\001\170\000\000\005>\005\225\000\000\001\224\000\000\000\222\000\183\000\000\001\176\001\162\005>\000\000\000\137\001\163\004m\000\000\000\183\000\000\000\000\001\162\000\183\000\000\003\216\001\163\003\230\000\000\003\217\000\000\004r\000\000\005@\000\000\004s\005E\000\000\003\231\000\000\000\000\000\000\005\225\005@\005W\003\246\005E\001\224\000\000\000\000\000\000\004\198\001\176\000\000\005W\003\246\000\000\000\183\000\000\000\000\001\162\000\000\001\176\003\247\001\163\000\181\000\000\006\003\003\248\000\190\000\000\000\000\003\249\003\247\004w\000\000\000\000\003\250\003\248\000\000\000\181\000\137\003\249\000\000\000\190\001\177\000\000\003\250\000\000\000\000\006\004\005\223\005\224\003\246\000\000\001\224\000\137\006D\000\000\000\000\001\176\000\000\000\000\000\000\000\000\000\000\000\000\001\225\004o\003*\000\000\003\247\003.\000\000\000\000\000\000\003\248\001\178\006V\000\000\003\249\000\000\000\000\000\183\000\000\003\250\001\177\000\000\000\184\003\230\000\000\001\179\000\185\000\000\000\000\000\000\001\177\000\000\000\183\000\255\003\231\001\180\000\000\000\184\000\000\000\000\000\000\000\185\001\225\004\143\000\000\000\000\000\000\006\158\000\000\000\000\000\000\000\000\001\178\001\181\005\225\003\214\003\237\000\000\001\182\000\000\000\194\003W\001\183\000\000\000\000\003/\001\179\001\184\001\177\0030\000\000\001\217\000\000\000\000\000\255\000\194\001\180\000\000\004f\004\199\000\000\002\015\000\244\000\000\000\000\000\000\003\214\003\237\000\000\000\000\001\225\005B\000\000\000\000\001\181\000\000\000\242\000\244\000\000\001\182\001\178\000\000\000\000\001\183\001\181\000\000\000\000\003\247\001\184\004f\004\189\000\000\001\217\003W\001\179\003\216\000\000\000\000\001\202\003\217\000\000\003\254\000\255\000\000\001\180\001\160\000\000\001\161\000\000\000\000\000\000\000\000\000\137\000\000\000\195\000\000\000\000\000\000\003\214\003\237\000\000\000\000\001\181\000\000\003W\000\000\003\216\001\182\000\000\000\195\003\217\001\183\003Y\000\000\000\000\000\000\001\184\000\000\000\246\000\000\001\217\004f\004g\000\000\000\196\000\000\000\000\003=\006c\003[\000\000\000\000\000\000\000\246\000\000\003\\\000\000\000\000\003>\000\196\000\252\000\000\000\000\000\183\000\000\000\000\001\162\000\000\000\255\000\000\001\163\000\228\000\000\000\000\000\000\000\252\003W\000\000\003\216\000\000\001]\000\000\003\217\000\255\000\000\000\000\000\228\001g\000\000\004m\000\198\003_\000\000\000\000\000\229\000\000\000\000\000\000\000\230\003\230\000\000\001`\000\000\004r\000\200\000\198\001\176\004s\003*\000\229\003\231\003.\000\000\000\230\000\000\000\000\000\000\000\000\000\000\000\200\004m\000\000\000\000\004u\000\000\000\000\000\000\003\214\003\237\000\000\003\230\000\000\000\000\003a\004r\000\000\000\000\006\003\004s\000\000\000\000\003\231\000\000\000\000\003\214\003\237\004w\003b\000\000\000\000\004f\004q\000\000\000\000\004u\000\000\000\000\000\000\000\000\000\000\006\004\005\223\005\224\000\000\000\000\003\246\000\183\004f\004\201\000\000\003/\000\000\004m\000\000\0030\003\214\003\237\004w\000\000\000\000\001\177\000\000\003\230\003\247\000\000\003W\004r\003\216\003\248\001h\004s\003\217\003\249\003\231\000\000\000\000\003\246\003\250\004f\005\149\000\000\000\000\003W\000\000\003\216\000\000\004u\003*\003\217\000\000\003.\000\000\004\161\000\000\003\247\001a\000\000\001b\006\003\003\248\000\000\000\000\000\000\003\249\001\160\000\255\001\170\000\000\003\250\004w\005\225\000\000\000\000\003W\000\000\003\216\003\214\003\237\000\000\003\217\000\137\006\004\005\223\005\224\000\000\000\000\000\000\000\000\003\246\000\000\000\000\000\181\000\000\000\000\001\181\000\182\000\000\000\000\000\000\004f\005\151\000\000\000\000\000\000\000\000\003W\003\247\000\000\001\204\003/\000\000\003\248\003=\0030\000\000\003\249\001\160\000\000\001\161\000\000\003\250\004m\000\183\003>\000\000\001\162\000\000\000\000\000\000\001\163\000\000\003\230\000\000\000\000\003W\004r\003\216\000\000\004m\004s\003\217\000\000\003\231\000\000\003\214\003\237\000\000\000\000\003\230\000\183\000\000\005\225\004r\000\000\000\184\004u\004s\000\000\000\185\003\231\001\239\000\000\000\000\000\000\000\000\001\176\000\000\004f\005\153\004m\000\000\000\000\004u\001\160\000\183\001\170\000\000\001\162\004w\003\230\000\000\001\163\000\000\004r\006a\000\000\000\000\004s\000\000\000\137\003\231\000\000\000\194\000\000\000\000\004w\003Y\003\246\003a\000\000\000\000\000\000\003W\004u\003\216\000\137\000\000\000\000\003\217\000\000\000\000\003=\003n\003^\003\246\003\247\000\000\001\176\000\000\003\\\003\248\000\000\003>\000\000\003\249\000\000\004w\000\000\000\000\003\250\004m\000\183\003\247\000\000\001\162\000\000\000\000\003\248\001\163\001\177\003\230\003\249\000\000\000\000\004r\003\246\003\250\000\000\004s\000\000\000\000\003\231\000\000\000\000\000\000\003_\000\000\000\000\006\003\000\000\000\000\000\000\000\000\003\247\004u\006\156\000\195\000\000\003\248\001\175\000\000\001\178\003\249\001]\001\176\000\137\001\160\003\250\001\170\000\000\001g\006\004\005\223\005\224\000\000\001\179\000\000\004w\001\160\000\000\001\170\001\177\000\137\000\255\001`\001\180\000\196\003a\004m\000\181\000\000\000\000\000\000\000\190\000\137\000\000\003\246\000\000\003\230\000\000\000\000\003b\004r\001\181\000\000\000\137\004s\000\000\001\182\003\231\000\000\000\000\001\183\000\000\003\247\000\000\000\000\001\184\000\000\003\248\000\000\001\217\004u\003\249\000\183\000\000\000\000\001\162\003\250\000\000\000\000\001\163\000\198\001]\000\000\000\000\000\183\000\000\001\177\001\162\001g\005\225\000\000\001\163\000\181\004w\000\232\000\183\000\190\000\000\000\000\000\000\000\184\000\000\001`\001\181\000\185\000\000\000\000\000\000\000\137\000\000\001\219\000\000\003\246\000\000\000\000\001\176\000\000\001\206\001\178\000\000\001h\000\000\001\223\001\160\000\000\001\161\000\000\001\176\000\000\000\181\003\247\000\000\001\179\000\190\000\000\003\248\000\000\000\000\000\194\003\249\000\255\000\000\001\180\005!\003\250\000\137\001a\000\181\001b\000\000\000\183\000\190\000\000\000\000\000\000\000\184\000\255\000\000\000\000\000\185\001\181\000\000\000\000\000\137\000\181\001\182\000\000\000\000\000\190\001\183\000\000\000\000\000\000\000\000\001\184\000\000\000\000\000\000\001\217\000\000\000\137\000\183\000\000\000\000\001\162\000\000\000\000\000\183\001\163\001\177\001h\000\000\000\184\000\194\000\000\000\000\000\185\000\000\000\000\000\000\000\000\001\177\000\000\006\161\000\000\000\183\000\000\000\000\000\000\000\000\000\184\000\000\000\195\005L\000\185\000\181\001a\000\000\001b\000\190\000\000\001\178\000\183\000\000\001\176\000\000\000\255\000\184\000\000\000\000\000\194\000\185\000\000\001\178\000\000\001\179\001\252\000\000\000\000\000\000\000\000\003*\000\196\000\255\003.\001\180\000\000\001\179\000\194\000\000\000\000\000\000\000\181\000\000\000\000\000\255\000\190\001\180\002\027\000\000\000\000\000\000\000\000\001\181\000\000\000\194\000\255\000\195\001\182\000\228\000\000\000\000\001\183\000\183\000\000\001\181\000\000\001\184\000\184\000\000\001\182\001\217\000\185\000\000\001\183\000\000\000\000\000\000\000\198\001\184\000\000\003\025\000\229\001\217\000\000\001\208\000\230\000\196\001\177\000\183\000\000\000\000\000\200\003/\000\195\000\000\001\160\0030\001\161\000\000\000\183\000\000\000\000\003\027\000\000\000\184\000\194\000\000\000\000\000\185\000\000\000\255\000\195\000\000\000\228\000\000\000\000\000\000\003\025\003*\000\000\000\000\003.\000\000\000\196\000\000\000\000\000\000\000\000\000\195\000\000\000\181\000\000\000\198\000\000\000\190\003\198\000\229\000\000\000\000\003,\000\230\000\196\000\194\000\000\000\000\000\000\000\200\000\255\000\000\000\000\000\228\000\000\003\198\000\183\000\000\000\000\001\162\003\200\000\196\003*\001\163\001\181\003.\003\022\003*\000\255\000\000\003.\000\228\000\198\000\000\000\000\000\000\000\229\004\028\001\212\003W\000\230\000\000\000\195\003/\000\000\000\255\000\200\0030\000\228\000\000\000\198\000\183\000\000\000\000\000\229\000\000\000\184\003=\000\230\001\176\000\185\000\000\000\000\000\000\000\200\000\000\000\227\000\198\003>\000\000\000\000\000\229\000\196\000\000\003X\000\230\000\000\000\000\000\000\000\195\003W\000\200\000\000\000\000\003/\003W\000\000\000\000\0030\003/\000\000\000\000\003*\0030\000\194\003.\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\246\000\000\000\000\000\000\000\181\000\000\000\196\000\000\000\190\000\000\000\000\000\000\003\129\000\000\000\000\000\198\000\000\003\133\003*\000\229\000\000\003.\000\000\000\230\000\000\000\000\000\000\003Y\000\000\000\200\001\177\000\000\000\000\000\228\000\000\000\181\000\000\000\000\000\000\000\190\003a\000\000\003=\000\000\003\127\000\000\000\000\000\183\000\000\000\000\003\\\003/\000\198\003>\003p\0030\000\229\003R\000\000\000\000\000\230\000\000\000\183\000\000\000\000\000\195\000\200\000\184\003Y\000\000\000\000\000\185\000\000\003Y\000\000\000\000\003W\000\000\000\000\003\130\003/\000\000\000\000\003=\0030\003\127\003_\000\000\003=\003T\003\127\003\\\000\000\000\183\003>\000\196\003\\\000\000\000\184\003>\000\000\000\000\000\185\000\181\001\181\000\194\000\000\000\190\000\000\000\000\000\181\003\136\000\000\000\000\000\190\000\000\000\000\000\000\001\214\000\000\003\130\000\000\000\228\003*\000\000\003\130\003.\003_\003a\000\000\000\000\000\000\003_\000\000\000\000\000\000\000\194\000\000\000\000\000\000\000\000\000\198\003b\000\000\000\000\000\229\000\000\000\000\000\000\000\230\000\181\000\000\000\000\003=\000\190\000\200\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\003>\000\000\000\184\003Y\000\183\003a\000\185\003\161\000\000\000\184\003a\000\000\000\000\000\185\000\000\000\195\000\000\000\183\003=\003b\003\127\003/\000\000\000\000\003b\0030\003\\\000\181\000\000\003>\000\000\000\190\000\000\000\000\000\000\000\000\000\000\000\000\003\172\003T\000\194\000\000\000\000\000\000\000\183\000\196\000\195\000\194\000\000\000\184\000\000\000\000\000\000\000\185\000\000\003\130\000\000\000\000\000\000\001\160\000\000\001\161\003_\000\000\000\000\000\000\004\018\000\000\000\000\000\000\003T\000\000\000\228\000\000\000\181\003a\000\196\000\000\000\190\000\000\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\194\000\000\003r\000\184\000\198\000\181\000\000\000\185\000\229\000\190\000\000\000\000\000\230\000\000\000\000\000\000\000\228\003a\000\200\003\180\004G\000\000\000\000\000\000\000\000\000\000\003\187\000\195\000\000\000\000\000\183\003b\000\000\001\162\000\195\000\198\003=\001\163\000\000\000\229\000\000\000\194\000\181\000\230\000\000\000\183\000\190\003>\000\000\000\200\000\184\003T\000\000\000\000\000\185\000\000\000\000\000\196\003T\000\000\000\000\000\000\000\000\000\183\000\196\003\214\003\215\004I\000\184\000\000\000\000\000\000\000\185\001\176\000\195\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\228\004K\000\181\000\000\000\194\000\000\000\190\000\228\000\000\000\000\000\000\000\000\000\000\000\000\000\227\000\000\000\183\000\000\000\000\000\198\000\196\000\184\000\194\000\229\000\000\000\185\000\198\000\230\000\181\000\000\000\229\000\195\000\190\000\200\000\230\000\000\000\000\000\000\003a\000\183\000\200\003\216\000\000\000\000\000\000\003\217\000\000\000\228\000\000\000\000\000\000\000\000\003t\000\000\000\000\000\227\000\000\000\000\000\000\000\194\000\183\000\196\000\000\001\177\000\181\000\184\000\198\000\000\000\190\000\185\000\229\000\000\000\000\000\000\000\230\000\000\000\000\000\000\000\195\000\000\000\200\000\181\000\000\003\214\003\215\000\190\000\183\000\000\000\228\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\195\000\000\000\000\000\000\000\000\000\000\000\227\000\194\000\000\000\000\000\000\000\198\000\196\000\000\000\000\000\229\000\000\000\000\000\000\000\230\000\000\000\000\000\000\000\000\000\227\000\200\000\183\000\000\000\000\004\157\000\196\000\184\000\000\000\194\000\000\000\185\000\000\000\195\000\000\000\228\000\000\001\181\000\000\000\183\000\000\000\183\000\000\003\216\000\184\003\230\003*\003\217\000\185\003.\000\000\001\216\000\000\000\228\000\198\000\000\003\231\003T\000\229\000\000\000\000\000\000\000\230\000\196\000\000\000\194\000\000\000\000\000\200\004\166\000\000\000\000\000\198\000\000\000\181\000\000\000\229\000\195\000\190\000\000\000\230\000\000\000\194\000\000\000\000\000\000\000\200\000\181\000\000\000\000\000\228\000\190\000\000\000\000\000\000\004\174\000\000\000\000\000\000\000\000\000\000\003T\000\000\000\195\000\183\000\000\000\000\000\196\003/\000\198\000\000\000\000\0030\000\229\000\000\000\181\000\000\000\230\000\000\000\190\000\000\000\000\000\000\000\200\000\000\000\000\000\000\003T\000\000\003\247\000\000\005\025\000\183\000\196\000\228\000\000\000\181\000\184\000\000\000\195\000\190\000\185\000\000\004\000\000\000\000\183\000\000\003\230\005%\000\000\000\184\000\181\000\000\000\198\000\185\000\190\000\195\000\229\003\231\000\000\000\228\000\230\000\000\003T\000\000\000\000\000\000\000\200\000\000\000\196\000\000\000\000\000\000\000\183\000\000\000\194\000\000\000\000\000\184\000\198\003T\000\000\000\185\000\229\000\000\000\000\000\196\000\230\000\194\000\000\000\000\000\000\000\000\000\200\000\183\000\000\000\228\003*\000\181\000\184\003.\000\000\000\190\000\185\000\000\000\000\000\000\000\000\000\000\000\183\003=\000\000\000\000\000\228\000\184\000\198\000\194\000\000\000\185\000\229\000\000\003>\000\000\000\230\000\000\003\214\003\215\000\000\000\000\000\200\000\181\003\247\000\198\000\000\000\190\000\000\000\229\000\194\000\000\000\000\000\230\005*\000\000\000\000\006\204\004\002\000\200\000\000\000\000\000\195\003*\000\000\000\194\003.\0051\000\183\000\183\000\000\000\000\003/\000\000\000\184\000\195\0030\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003T\000\000\000\000\003\214\003\215\000\000\000\196\000\000\000\000\005:\000\183\000\000\003\216\003T\000\000\000\183\003\217\000\195\000\181\000\196\000\184\000\000\000\190\003a\000\185\000\000\000\194\000\000\000\000\000\000\005P\000\000\0070\000\228\000\000\000\183\000\000\003v\000\195\003/\000\000\003T\000\000\0030\000\000\005U\000\228\000\196\000\000\000\000\000\181\000\000\000\198\000\195\000\190\000\000\000\229\000\000\000\194\000\000\000\230\000\183\003T\003\216\000\000\000\198\000\200\003\217\000\196\000\229\000\000\000\000\000\000\000\230\000\228\000\000\000\183\003T\000\000\000\200\000\000\000\184\000\181\000\196\000\000\000\185\000\190\000\000\003=\000\000\000\000\000\000\005\\\000\198\000\000\000\228\000\000\000\229\000\000\003>\000\195\000\230\000\000\000\000\000\000\000\000\000\000\000\200\000\183\000\000\000\228\003\214\003\215\000\184\000\198\000\000\003\230\000\185\000\229\000\194\000\000\000\000\000\230\000\000\003T\000\000\000\000\003\231\000\200\000\198\000\196\000\000\000\195\000\229\000\000\000\000\000\000\000\230\000\000\000\000\000\183\003=\000\000\000\200\000\181\000\184\000\181\000\000\000\190\000\185\000\190\000\194\003>\000\000\000\000\000\000\006\205\000\228\000\000\000\000\000\000\000\181\000\196\000\000\000\000\000\190\000\000\003\230\000\000\000\183\000\000\003\216\000\000\000\000\003a\003\217\000\198\000\000\003\231\000\000\000\229\000\000\000\000\000\194\000\230\000\000\000\000\000\000\003x\000\228\000\200\000\000\000\000\000\195\000\000\000\000\000\000\000\000\000\000\000\000\003\247\000\000\000\183\000\000\000\183\000\000\000\000\000\184\000\198\000\184\000\000\000\185\000\229\000\185\004\004\000\000\000\230\006\205\000\000\000\183\000\000\000\000\000\200\000\196\000\184\000\195\000\000\003a\000\185\000\000\000\000\000\181\000\000\000\181\000\000\000\190\000\000\000\190\000\000\000\000\000\000\003z\000\000\000\000\000\000\000\194\000\000\000\194\000\000\001\229\000\228\003\247\000\000\000\000\000\000\000\196\000\000\000\195\000\000\000\000\000\000\000\000\000\194\000\000\000\000\004\006\000\000\000\000\000\181\000\198\000\000\000\000\000\190\000\229\000\000\003\230\000\000\000\230\000\000\000\000\000\000\001\243\000\228\000\200\000\000\000\000\003\231\000\196\000\000\000\183\000\000\000\183\000\000\000\000\000\184\000\000\000\184\000\000\000\185\000\000\000\185\000\198\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\230\000\000\000\000\000\181\000\000\000\228\000\200\000\190\000\000\000\000\000\195\000\000\000\195\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\184\000\194\000\198\000\194\000\185\000\195\000\229\000\000\000\000\000\000\000\230\000\000\002\t\000\000\003\003\000\000\000\200\000\000\000\196\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\247\003\007\000\181\000\000\000\000\000\000\000\190\000\196\000\000\000\000\000\194\000\183\000\000\000\000\004\b\000\000\000\184\000\228\000\181\000\228\000\185\000\000\000\190\000\000\003*\000\000\000\000\003.\000\000\000\000\000\000\000\181\000\000\000\000\000\228\000\190\000\198\000\000\000\198\000\000\000\229\000\000\000\229\000\000\000\230\000\000\000\230\000\195\000\000\000\195\000\200\000\000\000\200\000\198\000\194\000\000\000\000\000\229\000\000\000\000\000\183\000\230\000\000\000\000\000\000\000\184\000\000\000\200\000\000\000\185\000\000\0037\000\000\003F\000\000\000\000\000\183\000\196\000\000\000\196\000\000\000\184\000\183\000\000\000\195\000\185\003/\000\000\000\000\000\183\0030\000\000\000\000\000\000\000\184\000\000\000\181\000\000\000\185\000\000\000\190\000\000\000\000\000\194\000\228\000\000\000\228\000\000\003H\000\181\000\000\000\000\000\181\000\190\000\196\000\000\000\190\000\000\000\000\000\194\000\000\000\000\000\000\000\198\000\000\000\198\000\000\000\229\000\195\000\229\000\000\000\230\000\194\000\230\000\000\000\000\000\000\000\200\000\000\000\200\000\000\000\228\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\224\000\000\000\183\000\000\000\000\000\181\000\196\000\184\000\198\000\190\000\000\000\185\000\229\000\000\000\000\000\183\000\230\000\000\000\183\000\000\000\184\000\000\000\200\000\184\000\185\000\195\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\228\000\000\000\000\003=\000\000\000\000\000\000\000\000\000\195\000\000\000\000\000\000\000\194\000\000\003>\000\000\004!\000\000\000\000\000\198\000\000\000\195\000\196\000\229\000\000\000\194\000\000\000\230\000\194\000\000\000\183\000\000\004&\000\200\000\000\000\184\000\000\000\181\000\196\000\185\000\000\000\190\000\000\000\000\000\000\004*\000\000\000\000\000\000\000\228\000\181\000\196\000\000\000\000\000\190\000\000\000\000\000\181\000\000\000\000\000\000\000\190\000\000\000\000\000\000\000\228\000\000\000\000\000\198\000\000\000\000\000\000\000\229\000\194\000\000\000\000\000\230\000\000\000\228\000\181\000\000\000\000\000\200\000\190\000\198\000\000\000\195\000\000\000\229\003a\000\000\000\000\000\230\000\000\000\000\000\183\000\000\000\198\000\200\000\195\000\184\000\229\000\195\003|\000\185\000\230\000\000\000\000\000\183\000\000\004?\000\200\000\000\000\184\000\000\000\183\000\196\000\185\000\000\000\000\000\184\000\000\000\000\004j\000\185\000\000\005\012\000\000\000\000\000\196\000\000\000\000\000\196\000\000\000\000\003\214\003\215\000\183\000\194\000\000\000\000\000\000\000\184\000\228\000\181\000\000\000\185\000\195\000\190\000\000\000\181\000\194\000\000\000\000\000\182\000\000\000\228\000\181\000\194\000\228\000\000\000\190\000\198\000\000\003*\000\000\000\229\003.\000\000\000\000\000\230\005s\000\000\000\000\000\000\000\198\000\200\000\196\000\198\000\229\000\194\000\000\000\229\000\230\000\000\000\000\000\230\000\000\000\000\000\200\000\000\000\000\000\200\000\183\000\000\003\216\000\000\000\000\000\000\003\217\000\000\000\000\000\183\000\000\000\228\000\181\000\000\000\184\000\183\000\182\000\000\000\185\000\195\000\184\000\000\000\183\000\000\000\185\000\000\000\000\000\184\000\000\000\183\000\198\000\185\000\195\003/\000\229\000\000\000\000\0030\000\230\000\195\000\000\000\000\000\000\005\135\000\200\000\000\000\000\000\000\000\000\000\196\000\000\000\000\000\194\000\000\000\000\000\000\005\137\000\000\000\194\000\000\000\000\000\195\000\196\005\139\000\000\000\194\000\000\003\214\003\215\000\196\000\183\000\000\000\000\000\000\000\000\000\184\000\228\000\000\000\000\000\185\003\214\003\215\000\000\000\000\000\000\005\145\000\000\000\000\000\000\000\228\000\000\000\196\000\000\000\000\000\000\000\198\000\228\003\214\003\215\000\229\003\214\003\215\000\000\000\230\000\000\000\000\003\230\000\000\000\198\000\200\003\214\003\215\000\229\000\194\000\000\000\198\000\230\003\231\000\228\000\229\003\214\003\215\000\200\000\230\000\000\000\183\000\195\003\216\000\000\000\200\000\000\003\217\000\195\000\000\000\000\003=\000\000\000\198\000\183\000\195\003\216\000\229\000\000\000\000\003\217\000\230\003>\000\000\000\000\000\000\005\159\000\200\000\000\000\000\000\000\000\183\000\196\003\216\000\183\000\000\003\216\003\217\000\196\005\173\003\217\000\000\000\000\000\000\000\183\000\196\003\216\000\000\000\000\000\000\003\217\000\000\000\000\000\000\000\183\000\000\003\216\000\000\000\000\000\228\003\217\000\000\000\000\000\195\000\000\000\000\003\247\000\000\000\000\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\000\000\000\000\198\000\000\004\n\000\000\000\229\000\000\000\198\000\000\000\230\000\000\000\000\000\000\000\000\000\198\000\200\000\196\000\000\000\229\000\000\003a\000\234\000\230\000\000\000\000\000\000\000\000\000\000\000\200\000\000\003\230\000\000\000\000\000\000\003~\000\000\000\000\000\000\000\000\000\000\000\000\003\231\000\000\003\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\231\000\000\000\000\000\000\000\000\000\000\003\230\000\000\000\198\003\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\231\000\000\003\230\003\231\000\000\000\236\000\000\000\000\000\000\000\000\000\000\000\000\003\230\003\231\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\231\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\247\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\247\004\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\004\014\000\000\000\000\003\247\000\000\000\000\003\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\247\004\016\000\000\000\000\004\022\000\000\000\000\000\000\000\000\000\000\003\247\000\000\000\000\000\000\004\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\026")) + ((16, "\000\170\0001\000\000\000\000\000\000\0005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\137\000\000\001I\bV\000\000\001=\0015\000\000\000\000\000\000\001/\000\000\000\221\000\149\000\000\000\000\000\133\000\000\0007\000\000\000\000\000\000\000j\000\000\000\234\000\000\000\000\000\000\001\242\000\000\002\178\000\000\000\000\003:\000\000\003z\003\198\000\000\000\000\004\152\000\000\005\028\000\000\000\000\000\000\005\150\000\000\005\160\000\000\005\186\000\000\0060\000\000\006\148\006\246\000\000\000\000\007\004\000\000\007z\000\000\000{\000/\006d\000\000\000\000\000\000\002\218\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\b\024\000\000\000\000\001X\nt\000\000\000\000\n\190\000\000\000\000\000\000\000\000\007\130\000\000\007\168\002\154\000\000\007\238\000\000\000\000\b\130\000\000\000\000\b\132\000\000\t\"\000\000\000\000\000\000\t2\000\000\000\027\tF\000V\000\000\000\000\000\000\000\000\004\236\000+\000\152\000\000\000\000\000\000\tb\000\000\0056\000\000\004V\000f\b\206\000\000\000\000\019D\023*\000\000\011\204\000\000\024\248\000\027\002|\000\027\014\148\014&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\b\002|\000\000\000\000\026\022\"D$N\000\000)\b\000\000\000\030*\140\000\000\000\000\000\000\000\000\000\146\000\000\002\004\018\144\0042\000\000\000\0000\192\000\000\001\n\000\000\017H\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0034\000\000\000\000\n\210\000\000\r\204\000\000\017\b\000\000\027\242\000\000\031\218\000\000'\222\000\000(X\000\0003|\000\0008J\000\0008r\000\000\026H\000\0000\248\000\000\000\000\000\000\000\000\000\0008\128\000\0008\148\000\0008\162\000\0009&\000\00092\000\0009@\000\0009F\000\0009Z\000\0009h\000\0009\128\000\0009\250\000\000:<\000\000:J\000\000:d\000\000:~\000\000:\138\000\000\025\014\000\000\000\000\025\\\000\000\000\000\000\000\000\000\001d\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\1711\024\000\000\000H\000\000\000\000\001N\b~\000\000\001H\tj\000\000\000\000\t\192\000\000\n0\nD\000\000\000\000\n\160\000\000\n\188\000\000\000\000\000\000\n\196\000\000\n\204\000\000\n\206\000\000\011\018\000\000\000\000\011H\000\000\011|\011\138\000\000\000\000\011\152\000\000\011\156\000\000\000\000\000\000\011\162\000\000\011\204\000\000\011\208\000\000\011\212\000\000\011\236\012\002\000\000\000\000\012\020\000\000\012\024\000\000\001\252\002\208\000\000\012\030\000\000\012$\005\024\000\000\012*\000\000\000\000\012D\000\000\012F\000\000\012J\000\000\000\000\000\000\012R\000\000\012V\004\240\000\000\012f\000\000\006\214\n\030\000\000\005t\000\000\006>\000\000\000\000\007b\016\184\000\000\000\000\000\000\000\140\018\202\000\000\022\132\000\000\000\000\000\000\002L\000\000\002\236\000\000\nd\000\000\000\000\000\000\000\000\000\000\000\000\n\240\000\000\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\001H\003\172\006:\000\000\012t\000\000\012x\b\026\000\000\012z\000\000\000\000\006\146\000\000\000\000\000\000\000\000\001\214\000\000\000\000'\224\000\000\000\000\000\000\003\128\000\000\000\000\000\000\000\000\000\000\000\000*\160\000\000\000\000+P\000\000\000\000+\154\000\000\b4\000\000\000\000\000\000\004x\000\000\031\188%L\000\000\000\000%\212&x\000\0007\024\000\0007\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\164\000\000$\156\000\0001b\000\000;(\000\000;B\000\000;F\000\000;z\000\000;\200\000\000;\228\000\000<\006\000\000<\n\000\000<.\000\000\022\000\000>\026\000\000>6\000\000>8\000\000>\156\000\000>\160\000\000>\186\000\000>\210\000\000\000\000*V\000\000\000\000\018J*\248\000\000\000\000+4\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\006H\000\000\007\170\000\000\000\000\012`\000\000\000\000\000\000+\014\000\000\000\000\000\000\000\000\000\000\021\020\000\000\000\000\000\000\000\000+T\000\000\000\000\000\000\000\000\002x\005\220\000\000+\242\000\000\000\000\000\000\000\000\bx\000\000,&\000\000\000\000\000\000\000\000\001C\000\000\007$\000\0004\022)\166\000\000\000\000\000\0003V\000\000\000\000\000\000\b\\\000\0003\158\000\000\000\000\000\0003\182\000\000\000\000\000x\000\000\024\180\000!*2\000\000\000\000\000\000\004h\005\198\000\000\000\000\000\000\000\000\000\000\000\0004`\000\000\000\0005\186\000\000\000\0006\166\000\000\011\146\000\000\000\000\000\000\t\134\000\000!|\000\000\000\0004\000\000\000\000\000\000\000\t\146\000\000\000\000\000\000\000\000\000\000\000\0007\192\000\0008\024\000\000\000\000\000\000\004\228\000\000\000\000\000\000\000\000\000\000\000\000?\020\000\000,\184\000\0004\154\000\000?n\000\000?~\000\000?\130\000\000?\192\000\000?\232\000\000@ \000\000@P\000\000@r\000\000@x\000\000@~\000\000@\204\000\000A$\000\000A2\000\000\000\000\b\206\000\000\n*\000\000\rr\001\200\007\172\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\248\000\000\"\232\b\244\t\228\000\000\000\000\000\000,\188\000\000,\208\000\000-\n\000\000#\134#\240\007\162\0052\000\000\001\194\007h\000\000\000\000\000\000\b\254\000\000\000\000\n\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\0004\252\000\000\000\000\000\000\000\000!\148\000\000$R\000\000\000\000\000\000\000\000\000\000\000\000\0146\000\000\000\000\011\002\000\000\000\000\000\000\025@\003$\000\000\025\204\000\000\000\000\bx\000\000\005\136\000\000\000\000\014t\000\000\0262\000\000\000\000\"\030\000\000\000\000\000\000\001N\000\000\000\000\t\198\000\000\000\000\023p\000\000\000\000\000\000-\"\000\000\000\000\000\000\027\162\000\000\000\000\000\000\000\000-\220\000\000\000\000\000\000\000\000\003,\012\026\000\000.\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\000\000\000\000\005\228\000\000\015\230\000\000\001N\000\000\000\000\005\206&\224\000\000\005\224\000\000\000\000\000\000\000\000\004\228\000\000$\194\000\000\026\216\000\r\027>\000\000\003Z\000\000\016r\000\000\016\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\004\028:\002\\\028\194\000\000\000\000\000\000\003\190\000\000\017\194\000\000\t\\\000\000\000\000\001N\0000\028\252\000\000\000\156\000\000\018\\\030 \000\000\000\000\019 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\n.\007\230\000\000\np\000\000\000\000\000\000\000\000\007@\000\000\019\172\000\000\000\000\000\000\011\2385Z\000\000\000\000\000\000 `\000\000\000\000\000\000\000\000\000\000\011@\011l\000\000\000\000.n\000\000\000\000\003n\000\000\011\194\000\000\000\000\027\254\000\000\000\000\000\000.\150\000\000\000\000\000\000\000\000.\212\000\000\000\000\004\004\011\252\000\000\000\000.\252\000\000\000\000\011b \128\000\000\012>\000\000\000\000/(\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\136\000\000\000\000\000\000\002\128\000\000\000\000\012\240\000\000\000\000\029(\000\000\000\000\000\000/B\000\000\000\000\000\000\000\000/\182\000\000\000\000\005$\012\248\000\000\000\0000\020\000\000\000\000\011\188\000\000\000\000\000\000\000\000\004\228\002\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001,\000\000\0208\000\000\000\000\000\0005\154\000\000\b\188\000\000\000\000\000\000\002\000\000\000\004\186\000\000\000\000\004~\020\252\000\000\021\136\000\000\000\000\000\000\006R\000\0005\232\006\2185\234\000\0006<\000\000\000\000\000\000\0070\000\0006\190\b\182\000\000\000\000%(\tr%\\\000\000%\180\000\000\000\000\000\000\t\164\000\0006\216\t\214\000\000\000\000\bD\nP\bH\000\000\018\200\000\000\000\000\000\000\n`\000\0006\222\011\128\000\000\000\000\000\000\001b\000\000\000\000\000\000\000z\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\000I\000\000\000\000\005\016\000\000\000\000\015\002\000\000\000\000\000\000\000\000\007\208\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\006\000\000\000\000\014\232\000\000\007|\000\000\000\000\000\172\000\000\003r\014\144\0046\000\000\000\000\t\164\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\004\250\000\000\000\000\004\222\000\000\000\000\000\000\t\012\000\000\000\000\017\152\020r\000\000\000\000\000\000\000\000\020\202\0210\002\162\000\000\000\000\000\000\021\244\000\000\000\000\000\000\000\000\000\000\000\000\006\176\000\000\000\000\001,\000\000\000\000\014`\000\000\000\000\000&\000\000\000\000\005\n\000\000\004*\000\000\000\000\000\000\000\000\000\139\022\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\022\030\000\000\000\000\000\000\000\000\022(\000\000\000\000\003\204\000\000\015(\000\000\000\000\000\000\000\011\000\000\007\230\000\000\000\000\000\000\tN\000\000\000\000\0232\000\000\000\000\0009\014l\000\000\014r\000\000\023v\014\140\000\000\023\232\000\000\000\000\000\000\000\000\014t\000\000\014\232\000\000\000\000\000\000\n\014\000\000\0002\014\176\004\172\000\000\000\000\000\000\b\180\000\194\000\000\000\000\000\000\000\000\002\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\000\000\000\000\014\016\000\000\007J\015>\006\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012D\000\000\000\000\015F\025\200\000\000\000\000\000\000\000\000\027\158\000\000\000\000\016L\000\000\002\"\rX\000\000\000\000\000\000\016\232\000\000\000\000\000\000\000\000\000\000\001\236\019r\000\000\000\000\020J\000\000\000\000\000\000\000\000\000\018\000\000\000\000\006N\000\000\000\000\000\000\001@\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031&\000\000\000\000\000\000\004\252\000\000\000\000\000\000\000\000\000\000\000\020\003P\n\174\014\012\000\000\006H\t\014\t:\n\000\000\000\000\000\000\000\000\000\000\000\000\000\011\206\022\020\000\000\030Z\b\132\000\000\000\000\n\210\000\000\022\216\000\000\007\004\000\000\000\000\012\n\023d\000\000\030\226\000\000\012\164\031\028\000\000\000\000\000\000\000)\006H\000\000\000\000\000\000\000\000\004*\000\000\011\212\005\146\000\000\000\000\015D\t\224\000\000\016\138\000\000\000\000\002L\000\000\002\236\000\000\000\000\018J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\tZ\000\000\000\000\011&\000\000\023\240\000\000\r\232\014\248\000\000\000\000\000\000\000\000\000\000\007B\000\000\000\000\000\000\000\000\000\0000\164\000\000\000E\000\000\000\000\000\000\000\000\000\000\000\214\000\000\n0\007r\011,\000\000\002\180\011\180\000\000\n\230\000\000\003<\000\000\004(\000\000\004\212\000\000\r\232\000\000\000\000\000\000\000\000\000\000\005\140\000\000\n\236\000\000\005\192\000\000\r\232\015l\000\000\000]\000\000\015V\006\230\000\000\nT\000\000\n\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011F\000\000\011\154\000\000\000\000\000\000\0142\000\000\000\000\000\000\000\000\000\000\015f\014<\000\000\000\000\014t\000\000\000\000\014R\n6\015\170\000\000\015\172\000\000\000\000\002P\006\018\000\000\014\132\000\000\000\000\014\190\000\000\000\000\000\000\000\000\000\000\000\000\015\152\014t\000\000\000\000\000\000\014\166\014~\011\162\006V\014\176\014\238\000\000\000\000\014\148\012\022\007\006\014\204\015\002\000\000\000\000\012\218\015\214\000\000\015\216\000\000\015\252\000\000\000\000\015\236\000\000\000\000\015\244\000\000\000\000\000\000\000\000\016\026\000\000\016@\000\000\000\000\000\000\016B\000\000\000\000\000\000\016N\000\000\000\000\000\000"), (16, "\004\022\002\182\004)\000\193\006^\006\007\006\b\005\158\000\197\005\251\005\216\002\191\000\025\000\137\000U\007\186\000\024\000\137\007\000\000\028\000\137\006\145\0037\004\242\004\218\000\007\004\022\000\004\004)\007\187\000\137\000\193\005\249\004\244\007\"\0037\000\194\005\252\006\007\006\b\007#\006u\001\"\000\137\006\146\006\149\006\007\006\b\007$\000\005\004\171\000\005\000U\007Z\000U\0038\007[\006\166\006\145\004\172\000 \004\024\000\186\005\019\006s\004\025\006Q\000\187\006v\006\007\006\b\000\195\003\225\001$\006\t\006\172\000\137\000\139\000\140\002U\000\144\006\146\006\149\006\007\006\b\004\172\006\170\004\024\000l\006R\000\186\004\025\006U\006\007\006\b\000\187\000\031\000\018\006\173\000\195\006\176\006\007\006\b\000\137\000\"\000\201\005\248\006\t\005\160\000\137\000\139\000\140\000\141\000\144\007_\006\t\005\144\005\019\000\146\000\017\005!\006\167\004.\004\022\001\029\004)\0023\001\029\000p\005\249\006\024\006\168\006\169\000\201\005\252\006\007\006\b\007`\006\t\007&\000\137\006\238\006\239\000$\005\029\007$\007a\004\171\000U\000\193\006\158\000\146\006\t\006\022\000\199\004\149\007\195\007'\006\243\006\025\006\007\006\b\006\t\001\"\003\232\004&\000V\006\246\002M\004\154\006\t\001\155\006\159\004\155\004\173\006\171\004'\005#\005\000\000\202\007\001\004\149\004\172\000\137\004\024\000a\000m\004\173\004\025\004\238\004\252\004&\001\137\007t\001#\004\154\000d\001\166\005\022\004\155\004\173\007(\004'\001\031\006\t\006K\005\149\000\202\000\186\000\203\007)\006\246\004\159\000\187\004\219\007F\004\250\000\195\007%\004\181\002H\0039\005\017\000(\002\202\001%\003\217\005\162\006\189\006\t\004\210\0042\004\181\001(\000\b\004\186\000\235\000\203\004\159\001\177\004\176\007H\003\205\004\210\004\022\004\181\004)\000U\007J\0043\000\r\000\201\007u\000U\0044\000\205\004\210\0042\0045\000\236\001w\000\137\000\190\000\237\0046\006\226\0037\004\242\004\218\006\207\000\207\000\016\000\017\006c\001\204\0043\006\207\001\216\004\149\002\191\0044\001z\006\187\002\030\0045\006\160\002\191\000*\004&\001\165\0046\000\137\004\154\001w\006\172\001\182\004\155\004\173\007v\004'\000U\006\233\006\234\004\172\006Q\004\024\001\138\007)\001\139\004\025\001\158\003Z\007x\006\n\001z\003[\001(\006\173\006\r\006\176\006\007\006\b\001\165\005\145\006\162\000\202\001\184\006R\002I\000U\006U\006\007\006\b\000\186\000\193\004\159\001\206\004\176\007z\000\197\001\207\005\006\004\181\002J\005\147\007|\006\159\005\246\005\247\001\166\006\014\000\137\006\215\004\210\0042\000\203\000\147\006\163\002^\004\199\006\217\000V\004\022\001\182\004)\005\001\004.\001\024\001\029\000U\003\128\002\015\0043\002`\003\\\002/\001\222\0044\003]\000\137\000h\0045\000\204\000\137\007$\007f\004\218\0046\006I\006\t\006\220\003\218\002a\000\186\001\183\003\205\001(\006\225\000\187\004\149\006\t\000\205\000\195\0022\004\204\003\179\001\017\002`\000U\004&\006>\006\007\006\b\004\154\004|\000k\000\207\004\155\004\173\000.\004'\004\172\005\003\004\024\005\161\0038\000\193\004\025\004\208\004\168\004\022\000\194\004)\004\238\005\147\000U\000\201\007q\006\015\001\166\000U\004\169\0020\001b\000l\007\172\004\128\000\137\001\182\000U\001\223\002I\007$\007f\004\218\006\015\004\159\000\137\004\219\006\160\004\250\003\130\007\000\004\181\001\204\0039\005\017\001\205\004\244\004\131\0020\000l\002\016\002\028\004\210\0042\003j\003\183\003\168\001\184\006\t\004\211\001\224\001\153\003\133\000\186\000U\003k\006?\004\172\000\187\004\024\002\202\0043\000\195\004\025\001\225\005\b\0044\002\202\003\188\006\223\0045\000\137\001(\007k\001\226\003\182\0046\000\147\000\202\006i\004\199\003\171\003\205\0000\003\137\004\149\005\006\007\179\003\136\000U\000V\000\186\001\227\005\160\001\206\004&\000\201\001\228\001\207\004\154\006r\001\229\002#\004\155\004\173\007l\004'\001\230\000\203\000a\000r\002\007\006#\000U\007)\001\166\004\022\000V\004)\004\157\000d\000\193\000V\006s\0025\005z\000\194\006v\006\007\006\b\003\138\001\148\001(\000\137\001\222\000\235\000a\001_\007$\007f\004\218\000^\004\159\003\136\004\219\003\139\007n\000d\004\022\004\181\004\023\0003\007p\004\149\000\205\006$\003\192\005U\000\236\006\028\004\210\0042\000\237\004&\003\217\006_\006`\004\154\000\147\000\207\000\202\004\155\004\173\007l\004'\004\172\000\186\004\024\002\174\0043\000\186\004\025\007)\0007\0044\000\187\003Z\004\157\0045\000\195\003[\007m\007\011\004\247\0046\006a\000\147\006\t\000U\003\206\000\203\002\184\004\022\000\147\004)\006b\000\137\000\186\001\223\004\024\004\159\0037\004\219\004\025\007n\000U\003:\004\181\006\028\000\137\007p\0006\002\186\000\201\007$\007f\004\218\001\171\004\210\0042\007\002\000\137\002S\000\137\000\139\000\140\001t\000\144\001(\003Z\003\190\006.\005\011\003[\005O\000\186\000\209\0043\003\225\003\\\006\029\003\189\0044\003]\002\187\006+\0045\000\210\006\003\001\166\006T\004\172\0046\004\024\006,\006\007\006\b\004\025\000\137\000\139\000\145\004\149\000\144\000\146\006\004\000\146\001%\007o\006,\006\007\006\b\004&\002\027\006R\001(\004\154\006U\006\007\006\b\004\155\004\173\007l\004'\007+\004\022\000U\004)\000\202\003\128\000U\007)\005\128\003\\\004\175\005\170\004\157\003]\006x\000U\006\029\000\146\000\137\000\147\004&\000\137\004\169\007$\007f\004\218\005\172\004\022\001\"\004)\004\022\004'\004)\0009\000\203\004\159\001\209\004\219\000l\007n\003\179\006\t\004\181\006\248\000\137\007p\006\249\005\163\000U\007$\007f\004\218\004\132\004\210\0042\006\t\004\224\000U\003j\0041\004\172\006\253\004\024\006\t\004\149\000U\004\025\002K\004\169\003k\004\173\003Z\0043\006 \004&\003[\007w\0044\004\154\0039\001\026\0045\004\155\004\173\007l\004'\004\172\0046\004\024\000\186\0072\004\024\004\025\007)\000U\004\025\003\130\007>\004\157\000;\000U\000l\007{\007\171\004W\000\137\000\139\000\140\001\168\000\144\005\162\003j\003\180\003\168\006\246\004\181\000V\007\005\004\186\003\133\002\024\004\159\003k\004\219\001w\007n\004\210\000\005\004\181\004|\003\128\007p\006\152\0039\003\\\000a\001d\000U\003]\004\210\0042\004\233\003\182\001z\003m\001z\000d\000\146\003\171\000U\004\233\001\165\004.\001\165\003\205\003\136\004\149\006\229\0043\001w\000?\004}\000\147\0044\000\137\000A\004&\0045\000U\006/\004\154\002\157\004\235\0046\004\155\004\173\007l\004'\000C\000V\001z\004\234\004\149\000\137\000\139\007)\006H\001x\001\165\003Z\004\157\000U\004&\003[\000\004\004&\004\154\003\138\000a\002\154\004\155\004\173\007l\004'\000`\004\022\004'\004)\002\196\000d\001\163\007)\003\139\004\159\000\147\004\219\004\157\007n\000\005\0040\004\181\003\130\000\137\007p\0075\000\146\0076\0037\004\242\004\218\005,\004\210\0042\007\149\001(\007\191\003j\000E\003\132\004\159\006\182\004\219\004\169\007n\003\133\005\173\004\181\003k\003\128\007p\0043\000\\\003\\\000\137\006\231\0044\003]\004\210\0042\0045\005\172\0042\003\219\000\147\004\172\0046\004\024\007c\000\147\000]\004\025\003\206\006\183\004\022\006\184\004)\0043\006\021\007\t\0043\003\136\0044\000V\003\179\0044\0045\003\223\000I\0045\001w\000\137\0046\007R\007S\0046\0037\004\242\004\218\000U\005\014\006\022\000a\004\022\006\185\004)\000\147\006\025\006\007\006\b\007\179\001z\001}\000d\006\186\005\180\000U\003\211\006\006\001\165\000\137\007r\001\134\003\138\007\198\0037\004\242\004\218\000U\001\144\005\182\005\016\000U\004\172\006\004\004\024\004{\000H\003\139\004\025\003\130\003\215\001\204\001\137\000K\001\205\000\137\000\139\000\140\001\173\000\144\006_\006`\007W\001\178\003j\007\024\003\168\005\183\004Y\004Z\004\149\004\172\003\133\004\024\004\133\003k\000\137\004\025\000\137\006I\004&\0037\005\182\0037\004\154\000\137\006\t\001(\004\155\004\173\006w\004'\005\153\005\000\007\152\003\182\000U\000\146\001z\001\180\006b\003\171\007\017\006L\004\157\000\137\001\165\007\179\003\136\002\184\000\186\006\179\000M\001\206\004\169\006\246\000o\001\207\003\225\004\022\003\225\004)\004|\0039\000U\004Y\004Z\004\159\000\193\004\219\002\188\004\250\000c\000\197\004\181\000u\000\137\004\186\004\149\003\004\001\145\0037\004\242\004\218\000U\004\210\0042\004\022\004&\004)\003\138\004|\004\154\001\222\004}\000\147\004\155\004\173\000U\004'\004\254\005\000\002\187\001\160\0043\003\139\001\138\004\149\001\139\0044\000t\004\230\004\157\0045\006\159\004\134\001(\004&\004\172\0046\004\024\004\154\007\005\004}\004\025\004\155\004\173\000\186\004'\005%\005\000\004\135\000\187\006+\006%\004\159\000\195\004\219\004\022\004\250\004)\004\157\004\181\003\195\007\005\004\186\003\128\005\150\004\024\002F\000V\000U\004\025\004\210\0042\000\137\006,\006\007\006\b\000\137\0037\004\242\004\218\006Q\004\159\000U\004\219\001\223\004\250\000a\000\201\004\181\0043\004\173\004\186\004\173\000\137\0044\003\031\001w\000d\0045\004\210\0042\000w\000z\006R\0046\004\127\006U\006\007\006\b\000\137\000\139\000\140\002O\000\144\004\172\000\147\004\024\001z\0043\005\186\004\025\004\\\004\236\0044\000U\001\165\004.\0045\006\031\003_\005\203\004\149\005\205\0046\005\182\004\181\000U\004\181\004\186\000\137\004\186\004&\000U\006\t\006\165\004\154\004\210\002Y\004\210\004\155\004\173\000\146\004'\005\157\005\000\001(\004Y\004Z\002\026\004\149\007\005\000\202\004\022\003\226\004)\004\157\005\014\001'\000U\004&\000\137\000\139\001y\004\154\000\144\001(\006\t\004\155\006\148\000\137\004'\000|\004|\000U\007$\000\238\004\171\003\230\004\159\000\128\004\219\000\203\004\250\004\238\002\189\004\181\003h\005\015\004\186\002X\007\b\006\146\006\149\006\007\006\b\000\137\004\210\0042\0072\000U\004\149\005\194\000\146\000\143\004}\0079\004\159\001*\000\235\006\029\004&\004\172\007\007\004\024\004\154\0043\005\196\004\025\004\155\004\173\0044\004'\007D\005\000\0045\0042\005\197\000\205\003\127\007s\0046\000\236\000\137\000\193\004\157\000\237\004\130\007\000\000\194\007\141\004\027\005\196\000\207\0043\007\020\000U\004$\0062\0044\004\022\001-\004)\0045\005\200\004Y\004Z\004\169\004\159\0046\004\219\005&\004\250\006\t\001\134\004\181\000\137\007c\004\186\005\182\007c\001\144\002[\000\147\004\142\005\164\004\210\0042\006{\004\022\001(\004)\000g\000U\001w\001\137\004[\007G\004k\002]\007\169\007\141\005(\000\186\005&\0043\000\137\001(\000\187\004\169\0044\007$\000\195\004\171\0045\001z\000\137\0011\004\149\003\128\0046\004\024\007\006\001\165\004|\004\025\005\208\0010\004&\000j\007i\004\190\004\154\007y\005\211\005'\004\155\004\173\007e\004'\004\022\005\210\004\023\0075\001\134\0076\000\201\007)\004\172\005\210\004\024\001\144\007h\001(\004\025\001w\004}\004\022\005=\004)\000\137\000\139\000\140\002\178\000\144\001\137\007d\004Y\004Z\001\204\000V\007\141\001\216\0013\000\137\004\159\001z\004\176\007j\007$\000U\004\171\004\181\001\145\001\165\007p\004\022\0015\004)\000a\000\137\0019\007\148\004\210\0042\001;\001=\004Y\004Z\000\186\000d\004\024\000\146\000\137\004\163\004\025\001\146\000V\005<\001\138\007\n\001\139\0043\007\141\007\180\004\149\004\172\0044\004\024\001(\000\202\0045\004\025\000U\005\134\004&\000a\0046\000\186\004\154\001?\001\206\005\141\004\155\007g\001\207\004'\000d\000\137\000\139\000\140\002\193\000\144\007\142\004\149\005^\0039\004\024\007\002\004\157\000\203\004\025\000U\001\145\004&\005\136\001(\001B\004\154\0072\000\137\006\172\004\155\004\173\007e\004'\007?\000U\002&\005\134\005d\001\222\004\159\007)\004Y\004Z\001\151\005\214\007h\001\138\000\146\001\139\007\190\001F\006\173\000U\006\176\006\007\006\b\001(\001E\0042\005\182\004\022\000\147\004)\000\209\001H\000U\001J\005\135\004\159\001N\004\176\007j\004&\007\r\000\212\004\181\0043\000\137\007p\004\149\007\144\0044\0037\004'\004\171\0045\004\210\0042\005C\004&\001P\0046\001R\004\154\001T\001\134\005T\004\155\004\173\007e\004'\000l\001\144\007\027\000\147\0043\001X\007\197\007)\005>\0044\001w\001\223\007h\0045\007\227\001\137\001W\004&\004\172\0046\004\024\007\146\006\t\002<\004\025\001Z\005e\001\\\004'\007\228\001a\001z\000\147\001g\007@\004\159\001f\004\176\007j\001\165\000U\005f\004\181\002)\000U\007p\004\022\000\147\004)\001i\001k\005F\001m\004\210\0042\004(\001q\007A\001\181\0075\005\165\0076\007\180\000\137\005 \000\147\001v\001\226\0037\001(\004\171\005h\0043\001\170\005m\001\176\001\175\0044\000V\007 \005V\0045\005\127\0042\002R\001\227\002Q\0046\001w\002W\001\228\000\193\002e\002h\001\229\004\212\000\194\000a\002\159\002l\001\230\0043\002k\001\145\002n\004\172\0044\004\024\000d\001z\0045\004\025\002p\005_\004\149\002t\0046\001\165\002v\004\216\007\180\002x\002z\002}\004&\002\129\003\198\007\005\004\154\001\138\002\128\001\139\004\155\004\173\006\192\004'\000\193\002\131\002\133\001(\000\137\000\197\002\137\0039\004\022\007\000\004)\005\030\005\021\002\139\000\186\005 \002\141\004\164\000\147\000\187\002\143\006\175\000\147\000\195\002\147\000\137\002\146\002\149\003\205\002\151\0037\004\166\004\171\002\156\002\162\004\159\002\161\004\176\005\023\004\022\002\164\004)\004\181\002\166\006\173\004\186\006\176\006\007\006\b\004\178\002\168\002\172\002\181\004\210\0042\001\204\000\137\000\201\001\216\000\186\002\180\0037\004\179\004\218\000\187\004\149\005q\004\172\000\195\004\024\005\129\002\195\0043\004\025\002\201\004&\002\200\0044\003\026\004\154\002\204\0045\002\207\004\155\004\173\002\211\004'\0046\002\210\002\213\002\215\002\219\002\221\000\137\000\139\000\140\002\198\000\144\004\172\005\021\004\024\002\223\000\201\003Z\004\025\002\225\002\228\003[\006>\006\007\006\b\002\232\002\231\002\234\000\186\002\236\006\t\001\206\002\240\002\242\002\244\001\207\004\159\001\027\004\176\005\023\004\022\002\246\004)\004\181\002\250\000\202\004\186\002\249\002\252\000\146\004\221\002\254\003\003\003\t\004\210\0042\000\147\000\137\003\b\004\199\003\011\003\r\0037\004\179\004\218\003\015\007\t\003\019\002&\003\025\003\024\001\222\003\030\0043\000\137\000\203\000\186\004\149\0044\003$\003\\\003#\0045\006\001\003]\007\001\006)\004&\0046\006Q\000\202\004\154\006\t\006\020\006\"\004\155\004\173\006N\004'\004\172\006\135\004\024\006q\006\130\004\204\004\025\006\132\006\142\004\149\006\144\006\154\004\223\006R\006\181\001\031\006U\006\007\006\b\004&\007P\000\203\000\209\004\154\007\002\007~\007\130\004\155\004\173\004\208\004'\007\150\001(\000\214\007\156\004\159\007\157\004\176\004\225\004\022\007\162\004)\004\181\004\157\007:\004\227\001\223\007\163\000\235\004\226\007\168\007\167\007\175\004\210\0042\007\177\000\137\001\204\002'\007\183\001\216\0037\004\179\004\218\007\184\007\188\004\159\000\205\004\219\007\189\004\220\000\236\0043\004\181\007\192\000\237\004\186\0044\002)\007\193\007\196\0045\000\207\003j\004\210\0042\006\t\0046\007\199\007\200\007\217\007\206\001w\007\215\003k\003Z\004\149\006\207\004\172\003[\004\024\007\211\001\226\0043\004\025\007\214\004&\002\191\0044\004\022\004\154\004)\0045\001z\004\155\004\173\000\186\004'\0046\001\206\001\227\001\165\006\172\001\207\007\223\001\228\000\137\007\221\007\225\001\229\004\157\0037\004\242\004\218\007\230\001\230\000\000\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\006\173\000\000\006\176\006\007\006\b\000\000\000\000\000\000\004\159\003\128\004\219\000\000\004\220\003\\\001\222\004\181\000\137\003]\004\186\000\000\000\000\000\000\000\000\004\172\003l\004\024\004\210\0042\000\000\004\025\000\000\000\000\000\000\0075\004\022\0076\004)\000\000\007=\000\193\000\000\000\000\000\000\001(\000\194\0043\000\000\000\000\000\000\004\149\0044\000\137\006\198\000\000\0045\006\172\0037\004\242\004\218\004&\0046\000\000\0072\004\154\000\000\000\000\000\000\004\155\004\173\0074\004'\000\193\006\t\006\210\000\000\000\000\000\199\000\000\006\173\000\000\006\176\006\007\006\b\004\157\001\134\000\000\000\000\000\000\001\223\000\000\000\000\001\159\000\000\004\172\000\000\004\024\000\000\000\000\000\186\004\025\003\130\000\000\000\000\000\187\000\000\001\137\004\159\000\195\004\219\000\000\004\220\000\000\000\000\004\181\000\000\003j\004\186\003\135\000\000\004\149\0021\000\000\000\000\003\133\004\210\0042\003k\000U\000\000\004&\000\186\000\000\004\022\004\154\004)\000\187\000\000\004\155\004\173\000\195\004'\000\201\004\249\0043\001\226\006+\000\000\000\000\0044\000\137\006\t\000\000\0045\004\157\0037\004\242\004\218\000\000\0046\003\136\000\000\000\000\001\227\000l\000\000\000\000\000\000\001\228\006,\006\007\006\b\001\229\000\000\000\201\000\000\002\202\004\159\001\230\004\219\000\000\004\250\000\000\000\000\004\181\006\213\000\000\004\186\000\000\000\000\004\149\000\000\004\172\000\000\004\024\004\210\0042\0075\004\025\0076\004&\003Z\003\138\000\000\004\154\003[\000\000\001(\004\155\004\173\004\022\004'\004)\004\251\0043\000\000\000\202\003\139\000\137\0044\001\138\000\000\001\139\0045\004\157\000\000\000\000\000\137\000\000\0046\001(\000\000\0037\005\024\004\218\000\000\000\193\000\000\000\000\006\t\000\000\000\197\000V\000\000\000\000\000\000\000\203\004\159\000\202\004\219\000\000\004\250\000\000\000\137\004\181\000\000\000\000\004\186\000\000\000\000\003\128\000a\003\001\006\211\003\\\004\210\0042\000\000\003]\004\172\000\000\004\024\000d\000\000\000\000\004\025\000\000\000\000\000\203\000\000\000\000\000\137\000\137\000\000\0043\000\000\0037\0072\004\149\0044\000\000\000\000\000\209\0045\007<\000\186\000\000\000\000\004&\0046\000\187\000U\004\154\000\216\000\195\000\204\004\155\004\173\004\022\004'\004)\005\r\000\000\005\026\000\000\000\000\000\137\000\139\000\140\003\022\000\144\000\000\004\157\003\225\000\205\000\137\000\183\002E\000\000\000\206\0037\005\024\004\218\000\000\000\000\000\000\000\000\000l\000\201\000\207\000\000\000\000\000\000\000\000\000\000\004\159\000\000\004\219\000\000\004\250\001\134\003\130\004\181\0068\000\000\004\186\000\000\001\154\000\146\001\027\001\029\000\000\000\000\004\210\0042\004\149\003j\004\172\003\175\004\024\000\000\001\137\000\000\004\025\003\133\004&\000\000\003k\004\022\004\154\004)\006\172\0043\004\155\004\173\000\186\004'\0044\005.\000\000\000\187\0045\000\000\000\000\000\188\000\137\000\000\0046\000\000\004\157\0037\004\179\004\218\000\000\006\173\000\000\006\176\006\007\006\b\000\000\003\136\005\028\000\202\000\000\000\000\000V\000\000\000\000\000\000\000\000\000\000\0075\004\159\0076\004\219\000\000\005\027\003\178\000\201\004\181\000\000\001(\004\186\000\000\000a\003\006\001\031\004\172\004\173\004\024\004\210\0042\000\203\004\025\000\000\000d\000\000\000\000\004\022\000\000\004)\000\000\003\138\000\000\000\000\000\000\000\000\000\000\001%\0043\000\000\000\000\000\000\004\149\0044\000\137\001(\003\139\0045\000\235\0037\000\000\004\171\004&\0046\000\000\006\t\004\154\005\207\000\000\000\000\004\155\004\173\004\181\004'\001\138\004\186\001\139\000\205\006\172\000\000\000\000\000\236\000\000\004\210\001(\000\237\004\157\000\000\000\000\001w\000\000\000\202\000\207\000\000\000\000\000\000\004\172\000\000\004\024\000\000\006+\006\173\004\025\006\176\006\007\006\b\000\000\000\193\000\000\004\159\001z\004\219\000\194\005\027\000\000\000\000\004\181\000\000\001\165\004\186\000\000\000\203\004\149\006,\006\007\006\b\000\000\004\210\0042\000\000\000\000\000\000\004&\000\000\000\000\004\022\004\154\004)\005\151\000\000\004\155\004\173\005 \004'\006+\000\000\0043\000\000\000\000\000\000\000\000\0044\000\137\000\000\000\000\0045\004\157\0037\000\000\004\171\000\000\0046\000\000\000\000\000\137\000\000\000\186\006,\006\007\006\b\000\000\000\187\000\000\006\t\000\000\000\195\000\000\006\218\000\000\004\159\000\000\004\219\000\000\004\220\000\000\000\000\004\181\000\000\000\000\004\186\000\000\000\000\004\149\006\t\004\172\006+\004\024\004\210\0042\000\000\004\025\000\000\004&\000\000\000\000\004\022\004\154\004)\000\000\000\201\004\155\004\173\000\000\004'\000\000\000\000\0043\000\000\006,\006\007\006\b\0044\000\137\000\000\000\000\0045\005\021\0037\000\000\004\171\000\000\0046\001\134\000\000\000\000\000\000\005\167\006\t\000\000\001\144\005 \000\000\000\137\000\139\000\140\003\028\000\144\000\000\000\000\004\159\000\000\004\176\005\023\001\137\000\000\000\000\004\181\000\000\000\000\004\186\000\000\000\000\000\000\000\000\004\172\000\000\004\024\004\210\0042\000\000\004\025\000\000\000\000\000\000\000\000\004\022\000\000\004)\000\137\000\139\000\140\003!\000\144\000\202\000\146\006\221\0043\000\000\006\t\000\000\004\149\0044\000\137\006+\000\000\0045\000\000\0037\000\000\004\171\004&\0046\000\000\000\000\004\154\006+\005\169\0066\004\155\004\173\005 \004'\000\000\000\203\006+\000\000\006,\006\007\006\b\006+\000\146\000\000\000\000\000\000\005\021\000\000\000\000\000\000\006,\006\007\006\b\000\000\000\000\000\000\004\172\000\000\004\024\006,\006\007\006\b\004\025\001\145\006,\006\007\006\b\000\000\000\000\004\159\000\137\004\176\005\023\006E\000\000\000\000\004\181\000\000\000\000\004\186\000\000\0027\004\149\000\000\000\000\000\000\003\208\004\210\0042\001\138\000\000\001\139\004&\000\000\000\000\004\022\004\154\004)\007\014\001(\004\155\004\173\005 \004'\000\193\007\022\0043\000\000\006\t\000\197\000\000\0044\000\137\000\000\000\000\0045\005\021\0037\004\179\004\218\006\t\0046\000\000\000\000\006C\000\000\000\000\000\000\000\000\006\t\000\000\000\000\000\000\000\000\006\t\000\000\000\183\002A\001\134\004\159\000\000\004\176\005\023\000\000\000\000\001\136\004\181\000\000\001w\004\186\000\000\000\000\004\149\000\000\004\172\000\000\004\024\004\210\0042\001\137\004\025\000\000\004&\000\186\000\000\004\022\004\154\004)\000\187\001z\004\155\004\173\000\195\004'\006+\000\000\0043\001\165\000\000\000\000\000\000\0044\000\137\000\000\001w\0045\005\021\0037\000\137\004\171\000\000\0046\000\000\000\000\000\000\000\186\000\000\006,\006\007\006\b\000\187\000\000\000\000\000\000\000\188\001z\000\201\000\000\006+\004\159\000\000\004\176\005\023\001\165\000\000\000\000\004\181\000\000\000\000\004\186\000\000\000\000\006A\000\000\004\172\000\000\004\024\004\210\0042\000\000\004\025\006,\006\007\006\b\006\\\004\022\000\000\004)\000\201\000\000\000\000\000\000\000\000\006g\000\000\007I\0043\000\137\006l\000\000\004\149\0044\000\137\000\000\000\000\0045\001\134\0037\004\179\004\218\004&\0046\000\000\001\144\004\154\006+\007\028\006\t\004\155\004\173\005 \004'\003\185\001\138\000\000\001\139\000\000\001\137\000\000\000\000\000\202\000\000\000\000\001(\004\157\000\000\000\000\000\000\006,\006\007\006\b\000\000\000\000\000\000\004\172\000\000\004\024\000\000\000\000\000\000\004\025\006\t\000\000\000\000\003}\000\000\000\000\004\159\000\000\004\219\000\203\004\220\000\202\000\000\004\181\001\134\000\000\004\186\000\000\000\000\004\149\000\000\001\157\000\000\000\000\004\210\0042\000\000\000\000\000\000\004&\000\000\005)\004\022\004\154\004)\001\137\000\235\004\155\004\173\000\000\004'\000\203\000\000\0043\000\000\000\000\000\000\000\000\0044\000\137\000\000\000\000\0045\005\021\0037\000\205\004\218\006\t\0046\000\236\000\000\000\000\000\000\000\237\001\145\000\000\000\183\002;\000\000\000\000\000\207\000\000\000\000\000\000\000\183\002%\004\159\000\193\004\176\005\023\006~\000\000\000\199\004\181\000\000\000\000\004\186\004\193\000\000\004\149\001\138\004\172\001\139\004\024\004\210\0042\000\000\004\025\000\000\004&\001(\000\000\004\022\004\154\004)\000\000\000\000\004\155\004\173\000\000\004'\000\000\000\000\0043\006\139\004\222\000\193\000\000\0044\000\137\000\000\000\199\0045\004\157\0037\000\186\004\171\000\000\0046\000\000\000\187\000\000\000\000\000\186\000\188\000\000\000\186\000\000\000\187\000\000\000\000\000\187\000\188\000\000\000\000\000\195\004\159\000\000\004\219\001\138\004\220\001\139\000\000\004\181\000\000\000\000\004\186\000\000\000\000\001(\000\000\004\172\000\000\004\024\004\210\0042\000\000\004\025\000\201\000\000\000\000\006\137\004\022\000\000\004)\000\186\000\201\000\000\000\000\000\201\000\187\000\000\000\000\0043\000\195\004\170\000\000\004\149\0044\000\137\000\000\000\000\0045\000\000\0037\000\000\004\171\004&\0046\000\000\000\000\004\154\000\000\000\000\006+\004\155\004\173\000\000\004'\000\183\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\201\000\000\000\000\005+\000\000\004\022\000\000\004)\000\000\006,\006\007\006\b\000\000\004\172\000\000\004\024\000\193\000\000\004\180\004\025\000\000\000\197\000\137\000\000\000\202\000\000\004\159\0037\004\219\004\171\005-\000\000\000\202\004\181\000\000\000\202\004\186\000\000\000\000\004\149\000\000\000\000\000\000\000\000\004\210\0042\000\000\000\000\000\000\004&\000\186\000\000\000\000\004\154\000\203\000\187\000\000\004\155\004\173\000\188\004'\000\000\000\203\0043\004\172\000\203\004\024\000\000\0044\000\000\004\025\000\000\0045\004\174\000\202\000\186\000\000\000\000\0046\006\t\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\000\004\022\000\000\004)\000\000\000\204\000\201\000\000\000\000\004\159\000\232\004\176\004\177\000\000\000\000\000\000\004\181\000\203\000\137\004\186\000\000\000\000\004\149\0037\000\205\004\171\000\000\004\210\0042\001\016\000\000\000\201\004&\000\000\000\000\000\000\004\154\000\000\000\000\000\207\004\155\004\173\000\000\004'\000\204\000\000\0043\000\000\000\000\000\000\000\000\0044\004\022\000\000\004)\0045\004\174\000\000\000\000\000\000\004\172\0046\004\024\000\205\000\000\000\000\004\025\000\000\001\019\000\137\000\000\000\000\000\000\004\149\0037\000\000\004\171\000\000\000\207\004\159\000\202\004\176\004\177\004&\000\000\000\000\004\181\004\154\000\000\004\186\000\000\004\155\004\173\000\000\004'\000\000\000\000\004\210\0042\000\000\000\000\000\000\000\000\000\000\000\000\000\202\006\196\004\174\000\000\000\000\000\203\004\172\000\000\004\024\000\000\000\000\0043\004\025\000\000\000\137\000\000\0044\000\000\000\000\000\000\0045\000\000\000\000\000\000\000\238\004\159\0046\004\176\004\177\006+\000\203\000\000\004\181\000\000\000\000\004\186\000\000\000\193\000\000\000\000\000\000\000\000\000\194\004\210\0042\000\193\000\000\000\000\000\000\000\000\000\197\004\149\006,\006\007\006\b\000\000\000\000\000\235\000\000\000\000\000\137\004&\0043\000\000\000\000\004\154\000\000\0044\000\000\004\155\004\173\0045\004'\004\022\000\000\004)\000\205\0046\004\253\000\000\000\236\000\000\001\134\000\000\000\237\004\246\000\000\000\000\000\000\001\144\000\137\000\207\000\000\000\000\000\000\0037\000\186\004\171\000\000\000\000\000\000\000\187\004\149\001\137\000\186\000\195\000\000\000\000\004\159\000\187\004\176\004\248\004&\000\195\000\000\004\181\004\154\000\000\004\186\000\000\004\155\004\173\006\t\004'\000\000\000\000\004\210\0042\001\134\004\245\000\000\000\000\004\172\000\000\004\024\001\144\004\246\000\000\004\025\000\201\000\000\004\022\000\000\004)\000\000\0043\000\000\000\201\000\000\001\137\0044\000\000\000\000\000\000\0045\000\000\000\000\000\000\000\137\004\159\0046\004\176\004\248\0037\000\000\004\171\004\181\000\000\003D\004\186\004\022\000\000\004)\000\000\000\000\000\000\000\000\004\210\0042\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\137\000\000\000\000\000\000\001\145\0037\000\000\004\171\000\000\0043\000\000\000\000\000\000\004\172\0044\004\024\000\000\000\000\0045\004\025\000\000\000\000\000\137\000\000\0046\000\000\000\202\004\201\000\000\000\000\001\138\000\000\001\139\000\000\000\202\000\000\000\000\000\000\000\000\000\000\001(\004\149\004\172\000\000\004\024\000\000\000\000\000\000\004\025\006\201\001\145\004&\000\000\000\000\000\000\004\154\000\203\000\000\001\031\004\155\004\173\000\000\004'\000\000\000\203\000\000\000\000\005\t\000\000\000\000\000\000\000\000\000\000\005I\000\000\005\n\001\138\000\000\001\139\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001(\000\000\005\020\000\000\001\134\000\235\000\000\000\000\000\000\000\000\000\000\001\144\004\159\000\000\004\176\005\012\000\209\000\000\000\000\004\181\000\000\000\000\004\186\004\149\000\205\001\137\000\000\000\218\000\236\000\000\004\210\0042\000\237\004&\000\000\000\000\000\000\004\154\000\000\000\207\000\000\004\155\004\173\004\022\004'\004)\000\000\000\000\000\000\0043\005\007\000\000\004\149\000\000\0044\000\000\000\000\004\246\0045\000\000\000\137\000\000\004&\000\000\0046\0037\004\154\004\171\000\000\000\000\004\155\004\173\004\022\004'\004)\000\000\000\000\000\000\000\000\000\000\004\159\000\000\004\176\004\248\007\018\000\000\005\021\004\181\000\000\000\137\004\186\000\000\000\000\000\000\0037\000\000\004\171\000\000\004\210\0042\000\000\000\000\004\172\000\000\004\024\000\000\000\000\000\000\004\025\004\159\000\000\004\176\005\023\001\145\000\000\000\000\004\181\0043\000\000\004\186\000\000\000\000\0044\000\000\000\000\000\000\0045\004\210\0042\000\000\000\000\004\172\0046\004\024\000\000\000\000\005t\004\025\000\000\001\138\004\022\001\139\004)\000\000\000\000\000\000\0043\000\000\005\025\001(\000\000\0044\007\030\000\000\000\000\0045\000\000\000\137\000\000\000\000\000\000\0046\0037\000\000\004\171\000\000\000\000\000\000\000\000\004\022\000\000\004)\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\197\000\000\007!\000\000\000\000\000\000\000\000\000\137\000\000\000\000\006\244\000\000\0037\000\000\004\171\000\000\000\000\000\000\000\000\004\149\004\172\000\000\004\024\000\000\000\000\000\000\004\025\000\000\000\000\004&\000\000\000\000\000\000\004\154\000\000\000\000\000\000\004\155\004\173\000\000\004'\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\149\004\172\000\000\004\024\000\000\005\021\000\186\004\025\000\000\000\000\004&\000\187\000\000\000\000\004\154\000\195\000\000\000\000\004\155\004\173\000\000\004'\001\204\000\000\000\000\001\216\000\000\000\000\004\159\000\000\004\176\005\023\000\000\000\000\007\019\004\181\000\000\000\193\004\186\000\137\000\000\000\000\000\194\000\000\000\000\000\000\004\210\0042\000\000\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\159\000\000\004\176\007\021\000\000\000\000\000\000\004\181\0043\000\000\004\186\004\149\000\000\0044\000\000\000\000\000\000\0045\004\210\0042\000\000\004&\000\000\0046\000\186\004\154\000\000\001\206\000\000\004\155\004\173\001\207\004'\000\000\000\000\000\000\000\000\0043\000\000\000\186\004\149\000\000\0044\000\000\000\187\007\019\0045\004\022\000\195\004)\004&\000\000\0046\000\000\004\154\000\000\000\000\000\000\004\155\004\173\000\000\004'\002\015\004\022\000\137\004)\000\202\001\222\004\159\005<\004\176\007\021\000\000\000\000\007\019\004\181\000\000\000\000\004\186\000\000\000\137\000\000\000\201\000\000\000\000\005<\004\210\0042\000\000\000\000\006\245\000\000\000\000\005[\000\000\000\000\000\203\004\159\000\000\004\176\007\021\000\000\000\000\000\000\004\181\0043\005^\004\186\004\024\005]\0044\000\000\004\025\000\000\0045\004\210\0042\000\000\000\000\000\000\0046\000\000\005^\000\235\004\024\000\000\000\000\000\000\004\025\000\000\000\000\005d\000\000\000\000\0043\000\000\000\000\000\000\000\000\0044\000\000\001\223\000\205\0045\000\000\000\000\000\236\005d\001\204\0046\000\237\001\216\000\000\000\000\000\000\000\000\000\202\000\207\000\000\000\000\000\000\000\000\000\000\002\016\002\017\000\137\005\137\000\000\000\000\004.\000\000\001\029\000\000\001\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\203\001\225\000\000\001\204\000\000\000\000\001\216\000\000\000\000\001(\000\000\001\226\000\000\000\000\000\000\001\204\000\000\000\000\001\216\000\000\000\137\000\186\000\000\000\000\001\206\000\000\004&\000\000\001\207\001\227\000\000\000\000\000\137\000\000\001\228\005e\000\000\004'\001\229\000\000\000\000\000\000\004&\000\000\001\230\000\000\000\209\000\000\002\007\000\000\005\139\005e\000\000\004'\000\000\000\000\000\000\000\220\000\000\002\015\000\000\000\000\000\186\000\000\001\222\001\206\005f\000\000\000\000\001\207\000\000\000\000\000\000\000\000\000\186\000\000\000\000\001\206\000\000\000\000\005h\001\207\000\000\005\140\001\204\000\000\000\000\001\216\000\000\000\000\000\000\005\127\0042\000\000\000\000\000\000\005h\000\000\000\000\005m\002\015\000\137\000\000\000\183\002!\001\222\000\000\005\127\0042\000\000\0043\000\000\002\015\000\000\000\000\0044\000\000\001\222\000\000\0045\000\000\000\000\000\000\000\000\000\000\0046\0043\000\000\000\000\000\000\000\000\0044\000\000\000\000\000\000\0045\000\000\001\204\001\223\000\000\001\216\0046\000\000\000\186\000\000\000\000\001\206\000\000\000\000\000\000\001\207\000\000\000\000\000\000\000\137\000\000\000\000\000\000\000\000\000\000\002\016\003a\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\000\001\224\000\188\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\223\000\000\002\015\000\000\000\000\001\225\004\022\001\222\004)\000\000\000\000\000\000\001\223\001(\000\000\001\226\000\000\000\186\000\000\000\000\001\206\000\000\002\016\004\029\001\207\000\000\000\201\000\000\000\000\000\000\004\142\004\239\001\224\001\227\002\016\004\151\000\000\000\000\001\228\000\000\000\000\000\000\001\229\000\000\001\224\000\000\001\225\000\000\001\230\000\000\000\000\000\000\002\007\000\000\001(\002\015\001\226\000\193\001\225\000\000\001\222\000\000\000\197\000\000\000\000\003\128\001(\004\024\001\226\000\000\000\000\004\025\000\000\000\000\001\227\000\000\000\000\000\000\000\000\001\228\000\000\001\223\000\000\001\229\000\000\004\022\001\227\004)\000\000\001\230\000\000\001\228\000\000\002\007\000\000\001\229\000\000\000\000\000\000\000\000\000\202\001\230\000\000\002\016\004\183\002\007\000\000\000\000\000\000\004\142\004\229\000\000\000\000\001\224\000\000\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\001\225\000\000\000\000\000\203\000\000\000\000\000\000\001\223\001(\000\000\001\226\004\022\000\000\004)\000\000\000\000\000\000\003\128\000\000\004\024\000\000\000\000\000\000\004\025\000\000\000\000\000\000\000\000\001\227\002\016\005j\000\000\000\201\001\228\004\149\004\142\004\143\001\229\000\000\001\224\000\000\000\000\000\000\001\230\004&\000\000\000\000\002\007\004\154\000\000\000\000\000\000\004\155\001\225\000\000\004'\000\000\000\000\000\183\002 \004\022\001(\004)\001\226\000\000\000\000\000\000\000\000\004\157\000\000\003\128\000\000\004\024\000\000\000\000\000\000\004\025\000\000\000\000\000\000\000\000\001\227\000\000\000\000\004\142\004\153\001\228\000\000\000\000\000\000\001\229\004\159\000\000\000\000\000\000\000\000\001\230\000\193\003{\000\000\002\007\000\000\000\197\000\000\000\000\000\000\000\202\000\000\000\000\000\000\0042\000\000\000\000\004\149\000\000\000\000\004\022\000\186\004)\003\128\000\000\004\024\000\187\004&\000\000\004\025\000\188\004\154\0043\000\000\003}\004\155\000\000\0044\004'\000\000\000\203\0045\000\000\000\000\004\142\004\241\000\000\0046\000\000\000\000\000\000\004\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\000\000\201\000\187\000\000\000\235\000\000\000\195\004\149\004\022\000\000\004)\004\159\000\000\000\000\000\000\000\000\003\128\004&\004\024\001\234\000\000\004\154\004\025\000\205\000\000\004\155\001\204\000\236\004'\001\216\0042\000\237\004\142\005\189\004\022\000\000\004)\000\000\000\207\000\000\000\201\004\157\000\000\000\137\000\000\000\000\000\000\000\000\0043\000\000\000\000\000\000\000\000\0044\000\000\000\000\004\149\0045\004\142\005\191\000\000\000\000\000\000\0046\004\159\000\000\004&\003\128\000\000\004\024\004\154\000\000\000\000\004\025\004\155\000\202\000\000\004'\004\022\000\000\004)\000\000\000\000\0042\000\000\000\186\000\000\000\000\001\206\000\000\004\157\000\000\001\207\003\128\001\204\004\024\000\000\001\216\000\000\004\025\000\000\0043\004\142\005\193\000\000\000\203\0044\000\000\000\000\000\000\0045\000\137\004\149\004\159\000\202\000\000\0046\000\000\000\000\000\000\000\000\000\000\004&\002\014\000\000\000\000\004\154\000\000\001\222\000\000\004\155\000\000\0042\004'\000\000\000\000\000\000\003\128\000\238\004\024\000\000\000\000\000\000\004\025\000\203\000\000\004\157\000\000\000\000\000\000\0043\000\000\000\000\000\186\000\000\0044\001\206\000\000\000\000\0045\001\207\000\000\000\000\004\149\000\000\0046\000\000\000\000\000\000\004\159\000\000\000\235\000\000\004&\000\000\000\000\001\204\004\154\000\000\001\216\000\000\004\155\000\000\000\000\004'\000\000\000\000\000\000\0042\004\149\000\205\000\000\000\000\000\137\000\236\000\000\001\222\004\157\000\237\004&\000\000\000\000\001\223\004\154\000\000\000\207\0043\004\155\000\000\000\000\004'\0044\000\000\000\000\000\000\0045\000\000\000\000\000\000\000\000\004\159\0046\000\000\004\157\000\000\000\000\000\000\000\000\004\022\000\000\004)\000\000\000\000\004\149\001\224\000\186\000\000\000\000\001\206\0042\000\000\000\000\001\207\004&\000\000\000\000\004\159\004\154\001\225\000\000\000\000\004\155\004\232\000\000\004'\000\000\001(\0043\001\226\000\000\000\000\000\000\0044\000\000\000\000\0042\0045\004\157\000\000\000\000\001\223\000\000\0046\001\221\000\000\000\000\001\227\000\000\001\222\001\204\000\000\001\228\001\216\0043\000\000\001\229\000\000\003\128\0044\004\024\004\159\001\230\0045\004\025\000\000\002\007\000\137\000\000\0046\000\000\000\000\000\000\001\224\000\000\000\000\001\204\000\000\000\000\001\216\0042\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\000\000\000\000\000\000\000\000\000\137\002\n\001(\000\000\001\226\0043\000\000\000\000\000\000\000\000\0044\000\000\000\000\000\000\0045\000\000\000\186\000\000\000\000\001\206\0046\000\000\001\227\001\207\000\000\000\000\000\000\001\228\000\000\000\000\001\223\001\229\000\000\000\193\000\193\000\000\000\000\001\230\000\194\000\197\000\000\002\011\000\186\000\000\000\000\001\206\000\000\000\193\000\000\001\207\000\000\000\137\000\197\000\000\002\t\000\000\000\000\000\000\000\000\001\222\000\000\004\149\001\224\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\004&\000\000\000\000\000\000\004\154\001\225\000\000\000\000\004\155\002\r\000\000\004'\000\193\001(\001\222\001\226\000\000\000\197\000\000\000\000\000\000\000\186\000\186\000\193\004\157\000\000\000\187\000\187\000\194\000\137\000\195\000\195\000\000\001\227\000\000\000\186\000\000\000\000\001\228\000\000\000\187\000\193\001\229\000\000\000\195\000\000\000\197\004\159\001\230\000\000\000\000\000\193\002\007\000\000\000\000\000\000\000\197\000\000\000\137\000\000\000\000\000\000\001\223\000\000\000\201\000\201\0042\000\000\000\137\000\000\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\201\000\000\000\195\000\000\000\186\000\000\0043\000\000\000\000\000\187\001\223\0044\000\193\000\195\000\000\0045\001\224\000\197\000\000\000\000\000\000\0046\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\137\001\225\000\195\000\186\000\183\002\031\000\000\000\201\000\187\001(\000\000\001\226\000\195\001\224\000\000\000\000\000\000\000\000\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\001\227\000\000\000\202\000\202\000\000\001\228\001(\000\201\001\226\001\229\000\000\000\000\000\000\000\186\000\000\001\230\000\202\000\201\000\187\002\007\000\000\000\000\000\195\000\000\000\000\000\000\001\227\001\186\000\000\000\000\000\000\001\228\000\203\000\203\000\186\001\229\000\000\000\000\000\000\000\187\002#\001\230\000\000\000\188\000\000\002\007\000\203\000\000\000\000\001\188\000\000\000\000\000\202\000\000\000\193\000\000\000\201\001(\000\000\000\197\000\235\000\000\0029\000\202\000\000\000\000\000\000\000\000\000\000\000\000\001(\000\137\000\000\000\235\000\000\000\000\002#\000\201\000\209\000\205\000\000\000\202\000\203\000\236\000\000\000\000\000\000\000\237\000\000\000\222\000\000\000\202\000\205\000\203\000\207\000\000\000\236\000\000\002?\003Z\000\237\000\000\000\000\003[\000\000\002#\001(\000\207\000\000\000\235\000\000\000\203\000\000\000\186\000\000\002#\000\000\000\000\000\187\000\000\000\000\000\203\000\195\000\000\000\193\000\000\000\000\002C\000\205\000\197\000\202\000\000\000\236\000\000\000\000\001(\000\237\003@\000\235\000\209\000\000\000\137\003Z\000\207\000\000\001(\003[\000\000\000\235\000\000\000\224\000\202\000\000\000\000\003G\000\000\000\201\000\205\003\128\000\000\000\203\000\236\003\\\000\000\000\000\000\237\003]\000\205\000\000\000\183\000\185\000\236\000\207\000\000\000\000\000\237\003I\000\000\000\000\000\183\001\197\000\203\000\207\000\186\001(\000\000\000\000\000\235\000\187\000\000\000\000\000\000\000\195\003\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\128\000\000\000\000\000\000\003\\\000\205\000\000\000\000\003]\000\236\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\003Z\000\000\000\000\000\201\003[\000\186\000\000\000\202\000\000\000\000\000\187\000\193\000\000\003\170\000\188\000\186\000\197\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\188\000\000\003\130\000\000\000\000\000\000\003Z\002#\000\000\000\000\003[\000\000\000\000\000\203\000\000\000\000\000\000\003j\000\000\003\168\000\183\001\200\000\193\000\000\000\201\003\133\000\000\000\197\003k\003\238\000\000\000\000\000\000\000\000\000\201\003\128\000\000\001(\000\000\003\\\000\235\000\000\000\000\003]\000\000\003\130\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\202\003\171\000\195\000\000\000\183\001\203\000\205\003j\003\136\003\168\000\236\000\000\003\128\000\000\000\237\003\133\003\\\003\174\003k\000\000\003]\000\207\000\000\000\000\004\003\000\000\000\186\000\000\000\186\000\000\000\203\000\187\000\000\000\187\000\000\000\188\000\201\000\195\000\000\000\000\000\000\000\000\000\000\000\000\003\171\000\202\004\005\003\177\000\193\000\000\003\138\003\136\000\000\000\197\001(\000\202\000\000\000\235\000\000\000\000\000\000\000\000\000\000\000\186\000\000\003\139\000\000\000\000\000\187\000\201\000\000\000\201\000\188\003\130\000\193\000\203\000\205\000\000\000\000\000\197\000\236\000\000\000\000\000\000\000\237\000\203\000\000\000\000\003j\000\000\003\168\000\207\000\000\003\138\000\000\000\000\003\133\000\183\003B\003k\000\000\000\000\003\202\003\130\000\000\000\000\000\201\000\186\003\139\000\000\000\202\000\000\000\187\000\000\000\000\000\000\000\195\000\000\003j\000\000\003\168\000\000\000\000\000\000\000\000\003\171\003\133\000\000\000\000\003k\000\000\000\000\003\136\000\186\003}\000\000\000\000\003\213\000\187\000\000\000\203\000\000\000\195\000\202\000\000\000\202\000\000\000\193\000\000\000\193\000\201\000\000\000\197\000\000\000\197\003\171\000\186\000\000\000\000\000\193\000\000\000\187\003\136\000\000\000\197\000\188\000\000\000\235\000\000\003}\000\000\000\000\000\000\000\203\003\138\000\203\000\201\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\000\205\000\000\000\193\003\139\000\236\000\000\000\000\000\197\000\237\000\000\000\000\000\000\000\000\000\201\000\193\000\207\000\235\000\000\003\138\000\197\000\186\000\000\000\186\000\000\000\203\000\187\000\000\000\187\000\000\000\195\003\221\000\195\000\186\003\139\000\000\000\205\000\000\000\187\000\202\000\236\000\000\000\195\004:\000\237\004o\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\000\004q\000\000\003\228\000\000\000\000\000\000\000\000\000\186\003}\000\201\000\202\000\201\000\187\000\000\000\203\000\000\000\195\000\000\000\000\000\186\000\000\000\201\000\000\000\000\000\187\000\183\003S\000\000\000\195\004s\000\000\000\000\000\000\000\202\003}\000\000\000\000\000\000\000\000\000\000\000\203\000\235\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\201\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\197\000\000\000\205\000\000\000\201\000\203\000\236\000\000\000\000\000\235\000\237\000\000\000\000\000\193\000\000\000\000\000\000\000\207\000\197\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\186\000\202\000\205\000\000\000\000\000\187\000\236\000\000\000\000\000\188\000\237\000\202\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\000\000\000\000\000\000\238\000\000\000\238\000\000\000\000\000\186\000\203\000\000\000\203\000\000\000\187\000\000\000\238\000\000\000\195\000\000\000\000\000\202\000\203\000\193\000\201\004\197\000\000\000\186\000\197\000\000\000\000\000\000\000\187\000\202\000\000\000\000\000\195\000\235\000\000\000\235\000\000\000\000\000\000\000\193\000\000\000\238\000\000\000\000\000\197\000\235\000\000\000\203\000\201\000\000\000\000\000\000\000\205\003}\000\205\000\000\000\236\000\000\000\236\000\203\000\237\000\000\000\237\000\000\000\205\000\000\000\201\000\207\000\236\000\207\000\193\000\000\000\237\000\000\000\235\000\197\000\000\000\000\000\186\000\207\000\000\000\000\000\000\000\187\000\000\000\000\000\235\000\195\000\000\000\000\000\193\000\000\000\000\000\205\000\202\000\197\000\000\000\236\000\186\000\000\000\000\000\237\000\000\000\187\000\000\000\205\000\000\000\195\000\207\000\236\000\000\000\000\000\193\000\237\004\206\000\000\000\000\000\197\000\000\000\000\000\207\000\201\000\202\000\000\000\203\000\193\000\000\000\000\000\000\000\186\000\197\000\000\004\214\000\000\000\187\000\183\003V\000\000\000\195\000\000\000\202\000\201\000\000\000\000\000\000\000\000\003}\000\000\000\000\000\186\000\000\000\000\000\203\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\000\000\000\000\000\003}\000\000\000\000\000\000\000\000\000\000\000\203\000\186\000\201\000\000\000\000\000\000\000\187\000\000\000\000\000\235\000\195\000\000\000\000\000\193\000\186\000\000\000\000\005A\000\197\000\187\000\000\000\000\000\201\000\195\000\186\000\202\000\000\000\235\000\205\000\187\000\000\000\000\000\236\000\188\000\000\000\000\000\237\005M\000\000\000\000\000\000\000\000\000\000\000\207\000\201\000\202\000\205\000\000\000\000\003}\000\236\000\000\000\000\000\000\000\237\000\203\000\000\000\201\000\000\000\000\000\193\000\207\000\000\000\000\000\000\000\197\000\000\000\201\005R\003}\000\000\000\000\000\186\000\000\000\000\000\203\000\202\000\187\000\000\000\000\000\000\000\195\000\235\000\000\000\000\000\000\000\000\000\000\005Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\000\000\000\003}\000\205\000\235\000\000\000\000\000\236\000\203\000\000\000\000\000\237\005b\000\000\000\000\000\000\000\000\000\201\000\207\000\000\000\202\000\186\003}\000\205\000\000\005x\000\187\000\236\000\203\000\000\000\195\000\237\000\000\000\202\000\193\000\235\000\000\000\000\000\207\000\197\000\000\000\000\000\000\000\202\003}\000\000\000\000\000\000\000\193\007X\000\203\000\000\000\000\000\197\000\205\000\235\000\000\003}\000\236\000\183\003Y\000\000\000\237\000\203\000\201\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\000\000\203\000\205\000\000\000\193\000\235\000\236\000\000\000\000\000\197\000\237\005}\000\000\000\000\000\000\000\000\000\000\000\207\000\235\000\202\000\193\000\186\000\000\000\000\000\205\000\197\000\187\000\000\000\236\000\000\000\195\000\000\000\237\000\000\000\000\000\186\000\000\000\205\000\000\000\207\000\187\000\236\000\000\003}\000\195\000\237\000\186\000\000\000\000\000\203\000\000\000\187\000\207\000\000\000\000\000\188\000\000\000\193\005\132\000\000\000\000\000\000\000\197\000\186\000\201\000\000\000\202\000\000\000\187\000\193\000\000\000\000\000\195\000\000\000\197\000\000\000\235\000\000\000\201\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\201\003}\000\000\000\000\000\000\000\000\000\205\000\203\000\193\000\000\000\236\000\000\000\000\000\197\000\237\000\000\000\000\000\201\000\000\000\000\000\000\000\207\000\000\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\201\000\235\000\000\000\195\000\000\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\202\000\193\000\000\000\000\000\205\000\000\000\197\000\000\000\236\000\000\000\000\000\000\000\237\000\000\000\202\000\000\000\000\000\000\000\186\000\207\000\000\000\201\000\000\000\187\006\245\000\202\000\000\000\195\000\000\000\000\000\203\000\000\000\000\000\201\000\000\000\000\000\000\000\000\001\020\000\000\000\000\000\000\000\202\000\000\000\203\000\193\000\000\000\000\000\000\000\000\000\197\000\000\000\000\000\000\000\000\000\203\000\000\000\235\000\202\000\000\000\186\000\201\000\000\000\000\000\000\000\187\000\234\000\000\000\000\000\195\000\000\000\235\000\203\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\236\000\000\001!\000\000\000\237\000\000\000\000\000\193\000\203\000\000\000\205\000\207\000\197\000\000\000\236\000\202\000\000\000\000\000\237\000\235\000\000\000\000\000\000\000\201\000\186\000\207\000\000\000\202\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\235\000\000\000\000\000\205\001\236\000\000\000\000\000\236\000\000\000\000\000\203\000\237\000\000\000\000\000\000\000\000\002\020\000\000\000\207\000\205\000\202\000\000\000\203\000\236\000\000\000\193\000\000\000\237\000\000\000\000\000\197\000\186\000\201\000\000\000\207\000\000\000\187\000\235\000\000\000\000\000\195\000\000\000\000\000\000\002-\000\000\000\000\000\000\000\000\000\235\000\203\000\000\000\000\000\193\000\193\000\000\000\205\000\000\000\197\000\197\000\236\000\000\000\202\000\000\000\237\000\000\000\000\000\000\000\205\000\000\000\000\000\207\000\236\000\193\000\201\000\000\000\237\000\235\000\194\000\000\000\000\000\000\000\000\000\207\000\186\000\000\003+\000\000\000\000\000\187\000\193\000\000\000\203\000\195\000\000\000\197\000\205\000\000\000\000\000\000\000\236\000\000\000\193\000\000\000\237\000\000\000\202\000\197\000\000\000\000\000\000\000\207\000\186\000\186\000\000\000\000\000\000\000\187\000\187\000\235\000\000\000\195\000\195\000\000\000\000\000\000\000\000\000\201\000\000\000\000\0031\000\000\000\186\000\000\000\000\000\000\000\203\000\187\000\205\000\193\000\000\000\195\000\236\000\000\000\197\000\000\000\237\000\000\000\202\000\186\000\183\003\240\000\000\000\207\000\187\000\201\000\201\000\000\000\195\000\000\000\000\000\186\000\000\000\235\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\003d\000\000\000\000\000\201\000\000\000\000\000\203\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\236\000\183\004\015\000\000\000\237\000\000\000\201\000\000\000\000\000\000\000\000\000\207\000\186\000\000\000\000\000\202\000\000\000\187\000\201\000\235\000\000\000\195\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\193\000\000\000\188\000\000\000\000\000\197\000\000\000\000\000\205\003o\000\000\000\000\000\236\000\202\000\202\000\203\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\201\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\202\000\000\000\187\000\201\003q\003\243\000\188\000\000\000\000\000\235\000\203\000\203\000\000\000\000\000\193\000\000\000\193\000\202\000\000\000\197\000\000\000\197\000\000\000\000\000\000\000\000\000\186\000\000\000\205\000\202\000\203\000\187\000\236\000\000\000\000\000\195\000\237\000\235\000\235\000\000\000\201\003\248\000\000\000\207\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\000\003\252\000\000\000\000\000\205\000\205\000\000\000\203\000\236\000\236\000\000\000\193\000\237\000\237\000\202\000\000\000\197\000\201\000\000\000\207\000\207\000\186\000\235\000\186\000\209\000\202\000\187\000\000\000\187\000\000\000\195\000\000\000\195\000\000\000\235\000\226\000\000\000\000\004 \000\000\000\000\000\205\000\000\000\193\000\203\000\236\000\000\000\000\000\197\000\237\000\000\000\000\000\000\000\205\000\000\000\203\000\207\000\236\000\000\000\183\004\018\000\237\000\202\000\000\000\201\000\000\000\201\000\000\000\207\000\000\000\186\000\235\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\193\000\193\000\000\000\000\000\000\000\197\000\197\000\000\000\205\000\202\000\203\000\000\000\236\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\186\000\000\000\000\000\207\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\201\000\000\004<\000\000\000\000\000\186\000\000\000\000\000\203\000\000\000\187\000\193\000\000\000\000\000\188\000\000\000\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\202\000\186\000\186\000\000\000\000\000\201\000\187\000\187\000\235\000\000\000\195\000\195\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\201\004g\000\000\004\146\000\000\000\000\000\205\000\203\000\000\000\203\000\236\000\000\000\000\000\000\000\237\000\000\000\183\004\021\000\000\000\000\000\000\000\207\000\186\000\201\000\201\000\000\000\202\000\187\000\193\000\000\000\000\000\195\000\000\000\197\000\235\000\000\000\235\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\193\000\000\000\197\000\000\000\000\000\197\0054\000\000\000\000\000\205\000\000\000\205\000\203\000\236\000\202\000\236\000\000\000\237\000\000\000\237\000\000\000\201\000\000\000\000\000\207\000\000\000\207\000\000\000\000\000\193\000\202\000\186\000\000\000\000\000\199\000\000\000\187\000\000\005\155\000\235\000\188\000\000\000\000\000\186\000\203\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\202\000\202\000\000\000\186\000\000\000\205\000\186\000\203\000\187\000\236\000\000\000\187\000\195\000\237\000\000\000\195\000\000\000\000\000\235\000\000\000\207\000\201\000\000\000\000\005\175\005\177\000\000\000\000\000\000\000\000\000\203\000\203\000\000\000\201\000\193\000\186\000\000\000\205\000\000\000\199\000\187\000\236\000\202\000\000\000\195\000\237\000\201\000\000\000\000\000\201\000\000\000\000\000\207\000\000\000\000\000\000\000\000\000\235\000\235\000\000\000\193\000\000\000\000\000\000\000\000\000\199\005\179\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\205\000\205\000\201\000\000\000\236\000\236\000\000\000\000\000\237\000\237\000\000\000\000\000\000\000\000\000\000\000\207\000\207\000\186\000\000\000\202\000\000\000\000\000\187\000\235\000\000\000\000\000\195\000\000\000\193\000\000\000\000\000\202\000\000\000\199\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\186\000\202\000\000\000\236\000\202\000\187\000\203\000\237\000\000\000\195\000\193\000\000\005\185\000\000\000\207\000\194\000\000\000\201\000\203\000\000\000\000\000\000\000\000\000\000\000\000\005\199\000\000\000\000\005\213\000\000\000\193\000\203\000\000\000\202\000\203\000\194\000\000\000\193\000\000\000\000\000\000\000\000\000\194\000\201\000\186\000\235\000\000\000\193\000\000\000\187\000\000\000\000\000\194\000\195\000\193\000\000\000\000\000\000\000\235\000\194\000\000\000\235\000\000\000\203\000\205\000\000\000\000\000\000\000\236\000\186\000\000\000\000\000\237\000\000\000\187\000\000\000\000\000\205\000\195\000\207\000\205\000\236\000\000\000\000\000\236\000\237\000\000\000\201\000\237\000\186\000\204\000\202\000\207\000\000\000\187\000\207\000\186\000\000\000\195\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\186\000\000\000\000\000\205\000\000\000\187\000\201\000\186\001\218\000\195\000\000\000\202\000\187\000\000\000\193\000\203\000\195\000\000\000\207\000\194\000\193\000\000\000\000\000\000\000\000\000\194\000\201\000\193\000\000\000\000\000\193\000\000\000\194\000\201\000\000\000\194\000\000\000\000\000\000\000\000\000\193\000\203\000\204\000\201\000\000\000\194\000\000\000\193\000\000\000\000\000\201\000\000\000\194\000\000\000\000\000\202\000\000\000\000\000\000\000\193\000\000\000\205\000\000\000\000\000\194\000\000\001\220\000\000\000\204\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\207\000\000\000\187\000\186\000\202\000\000\000\195\000\000\000\187\000\203\000\186\000\205\000\195\000\186\000\000\000\187\004+\000\000\000\187\000\195\000\000\000\000\000\195\000\186\000\202\000\000\000\207\000\000\000\187\000\000\000\186\000\202\000\195\000\000\000\203\000\187\000\204\000\000\000\000\000\195\000\201\000\202\000\186\000\000\000\193\000\000\000\201\000\187\000\202\000\194\000\000\000\195\000\000\000\201\000\203\000\205\000\201\000\000\000\000\000\000\004-\000\203\000\000\000\000\000\000\000\000\000\201\000\000\000\000\000\000\000\207\000\203\000\000\000\201\000\000\000\000\000\000\000\193\000\203\000\000\000\209\000\000\000\194\000\000\000\193\000\201\000\000\000\000\000\000\000\194\000\000\000\228\000\000\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\209\000\000\000\194\000\186\000\000\000\000\000\000\000\209\000\187\000\000\000\193\000\230\000\195\000\000\000\202\000\194\000\193\000\209\000\240\000\000\000\202\000\194\000\000\000\000\000\209\000\000\000\000\000\202\000\242\000\193\000\202\000\000\000\000\000\000\000\194\000\244\000\186\000\000\000\000\000\000\000\202\000\187\000\000\000\186\000\203\000\195\000\201\000\202\000\187\000\000\000\203\000\000\000\195\000\000\000\000\000\000\000\186\000\203\000\000\000\202\000\203\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\000\000\186\000\203\000\000\000\000\000\000\000\187\000\186\000\000\000\203\000\195\000\201\000\187\000\000\000\000\000\000\000\195\000\000\000\201\000\000\000\186\000\203\000\209\000\000\000\000\000\187\000\000\000\193\000\209\000\195\000\000\000\201\000\194\000\246\000\000\000\209\000\000\000\000\000\209\000\248\000\193\000\000\000\193\000\000\000\201\000\194\000\250\000\194\000\209\000\252\000\201\000\000\000\202\000\000\000\000\000\209\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\201\000\000\000\000\001\000\000\209\000\193\000\000\000\000\000\000\000\000\000\194\000\000\000\000\000\000\000\000\001\002\000\000\000\000\000\000\000\203\000\000\000\000\000\202\000\186\000\000\000\000\000\000\000\000\000\187\000\202\000\000\000\000\000\195\000\000\000\000\000\000\000\186\000\000\000\186\000\000\000\000\000\187\000\202\000\187\000\193\000\195\000\000\000\195\000\000\000\194\000\000\000\000\000\203\000\000\000\000\000\202\000\000\000\000\000\193\000\203\000\000\000\202\000\000\000\194\000\186\000\209\000\201\000\000\000\000\000\187\000\000\000\000\000\203\000\195\000\202\000\193\001\004\000\193\000\000\000\201\000\194\000\201\000\194\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\193\000\000\000\000\000\209\000\000\000\194\000\000\000\000\000\186\000\203\000\209\000\000\000\201\000\187\001\006\000\193\000\000\000\195\000\000\000\000\000\194\001\b\000\186\000\209\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\193\001\n\000\193\000\209\000\000\000\194\000\186\000\194\000\186\000\209\000\000\000\187\000\202\000\187\001\012\000\195\000\000\000\195\000\201\000\000\001\014\000\000\000\209\000\000\000\000\000\202\000\186\000\202\000\000\000\000\000\000\000\187\000\201\001\232\000\000\000\195\000\000\000\000\000\000\000\000\000\000\000\186\000\203\000\000\000\000\000\000\000\187\000\000\000\000\000\201\000\195\000\201\000\000\000\202\000\000\000\203\000\000\000\203\000\000\000\186\000\193\000\186\000\193\000\000\000\187\000\194\000\187\000\194\000\195\000\201\000\195\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\203\000\201\000\000\000\000\000\194\000\209\000\000\000\000\000\000\000\202\000\000\000\000\000\193\000\000\000\000\000\000\001\238\000\194\000\209\000\201\000\209\000\201\000\000\000\202\000\000\000\000\000\000\000\000\000\000\001\240\000\193\001\242\000\000\000\000\000\000\000\194\000\186\000\000\000\186\000\203\000\202\000\187\000\202\000\187\000\193\000\195\000\209\000\195\000\000\000\194\000\000\000\000\000\000\000\203\000\000\000\000\000\000\001\244\000\186\000\000\000\202\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\203\000\186\000\203\000\000\000\000\000\202\000\187\000\000\000\000\000\201\000\195\000\201\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\186\000\203\000\000\000\000\000\202\000\187\000\202\001\246\000\193\000\195\000\209\000\000\000\201\000\194\000\186\000\000\000\203\000\000\000\000\000\187\000\000\001\248\000\000\000\195\000\000\000\201\000\000\000\209\000\000\000\209\000\000\000\000\000\000\000\000\000\203\000\000\000\203\000\000\001\250\000\193\001\252\000\193\000\000\000\201\000\194\000\000\000\194\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\193\000\201\001\254\000\000\000\194\000\194\000\209\000\000\000\202\000\000\000\202\000\186\000\000\000\000\000\000\000\000\000\187\002\000\000\000\000\000\000\195\000\000\000\000\000\000\000\209\000\000\000\209\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\002\002\000\000\002\004\000\203\000\000\000\203\000\000\000\186\000\202\000\186\000\000\000\000\000\187\000\000\000\187\000\193\000\195\000\193\000\195\000\201\000\194\000\000\000\194\000\186\000\186\000\203\000\202\000\000\000\187\000\187\000\193\000\000\000\195\000\195\000\000\000\194\000\000\000\000\000\203\000\000\000\202\000\000\000\193\000\000\000\000\000\000\000\000\000\194\000\000\000\209\000\201\000\209\000\201\000\000\000\000\000\000\000\203\000\000\000\000\000\000\002\006\000\000\003\141\000\000\000\000\000\000\000\201\000\201\000\000\000\000\000\203\000\209\000\000\000\000\000\186\000\193\000\186\000\000\000\000\000\187\000\194\000\187\003\143\000\195\000\209\000\195\000\000\000\000\000\000\000\186\000\000\000\000\000\000\000\202\000\187\003\145\000\000\000\000\000\195\000\000\000\000\000\186\000\209\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\000\003\147\000\000\000\000\000\209\000\201\000\000\000\201\000\193\000\000\000\000\000\203\000\202\000\194\000\202\003\149\000\193\000\000\000\193\000\000\000\201\000\194\000\186\000\194\000\000\000\000\000\000\000\187\000\202\000\202\000\000\000\195\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\203\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\194\000\000\000\000\000\209\000\203\000\203\000\000\000\000\000\000\000\000\000\000\000\201\000\000\000\186\003\151\000\193\000\000\000\000\000\187\000\000\000\194\000\186\000\195\000\186\000\000\000\202\000\187\000\202\000\187\000\000\000\195\000\000\000\195\000\000\000\209\000\000\000\209\000\000\000\000\000\000\000\202\000\000\000\000\000\193\000\000\003\153\000\000\003\155\000\194\000\000\000\209\000\209\000\202\000\000\000\186\000\203\000\201\000\203\000\000\000\187\000\000\003\157\003\159\000\195\000\201\000\000\000\201\000\193\000\000\000\000\000\203\000\000\000\194\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\203\000\195\000\193\000\202\000\000\000\193\000\000\000\194\000\193\000\000\000\194\000\000\000\000\000\194\000\000\000\201\000\000\000\000\000\000\000\209\000\186\000\209\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\003\161\000\000\003\163\000\203\000\209\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\186\003\165\000\209\000\193\000\202\000\187\000\000\000\000\000\194\000\195\000\000\000\000\000\202\003\167\000\202\000\000\000\000\000\186\000\000\000\201\000\186\000\000\000\187\000\186\000\000\000\187\000\195\000\000\000\187\000\195\000\000\000\000\000\195\000\000\000\203\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\203\000\201\000\203\000\202\0048\000\193\000\000\000\000\000\000\000\000\000\194\000\000\000\193\000\000\000\000\000\000\000\000\000\194\000\201\000\000\000\186\000\201\000\000\000\202\000\201\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\209\004>\000\000\000\202\000\000\000\203\000\000\000\000\000\000\004@\000\000\004B\000\000\000\000\000\000\000\201\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\186\000\000\000\195\000\000\000\202\000\187\000\000\000\000\000\209\000\195\000\203\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004D\000\000\000\202\000\000\000\000\000\202\000\000\000\000\000\202\000\209\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\201\000\000\000\000\004F\000\000\000\000\000\000\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\203\000\000\000\209\000\203\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\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\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004J\000\000\000\000\000\000\000\000\000\203\000\209\000\000\000\000\000\209\000\000\000\000\000\209\000\000\000\000\000\000\000\000\004L\000\000\000\202\004N\000\000\000\000\004P\000\000\000\000\000\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\000\000\000\203\000\000\000\209\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\000\004R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\004T\000\000\000\000\000\000\000\000\000\000\000\000\004V")) let semantic_action = [| @@ -1635,9 +1644,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1987 "parser_cocci_menhir.mly" +# 2067 "parser_cocci_menhir.mly" ( Ast0.set_arg_exp _1 ) -# 1641 "parser_cocci_menhir.ml" +# 1650 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1658,12 +1667,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 1662 "parser_cocci_menhir.ml" +# 1671 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1989 "parser_cocci_menhir.mly" +# 2069 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -1672,7 +1681,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt) | Ast.CstLen n -> Ast0.CstListLen n in Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) ) -# 1676 "parser_cocci_menhir.ml" +# 1685 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1694,9 +1703,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1998 "parser_cocci_menhir.mly" +# 2078 "parser_cocci_menhir.mly" ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) ) -# 1700 "parser_cocci_menhir.ml" +# 1709 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1716,9 +1725,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2034 "parser_cocci_menhir.mly" +# 2114 "parser_cocci_menhir.mly" ( Ast.WhenAny ) -# 1722 "parser_cocci_menhir.ml" +# 1731 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1738,9 +1747,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2035 "parser_cocci_menhir.mly" +# 2115 "parser_cocci_menhir.mly" ( Ast.WhenStrict ) -# 1744 "parser_cocci_menhir.ml" +# 1753 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1760,9 +1769,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2036 "parser_cocci_menhir.mly" +# 2116 "parser_cocci_menhir.mly" ( Ast.WhenForall ) -# 1766 "parser_cocci_menhir.ml" +# 1775 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1782,9 +1791,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2037 "parser_cocci_menhir.mly" +# 2117 "parser_cocci_menhir.mly" ( Ast.WhenExists ) -# 1788 "parser_cocci_menhir.ml" +# 1797 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1806,9 +1815,289 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1328 "parser_cocci_menhir.mly" +# 1349 "parser_cocci_menhir.mly" ( _1 ) -# 1812 "parser_cocci_menhir.ml" +# 1821 "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_bis = Obj.magic _3 in + let _2 : ( +# 103 "parser_cocci_menhir.mly" + (Data.clt) +# 1853 "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_ = +# 1351 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Mul _1 _2 _3 ) +# 1861 "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_bis = Obj.magic _3 in + let _2 : ( +# 101 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 1893 "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_ = +# 1353 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 1901 "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_bis = Obj.magic _3 in + let _2 : ( +# 102 "parser_cocci_menhir.mly" + (Data.clt) +# 1933 "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_ = +# 1355 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Plus _1 _2 _3 ) +# 1941 "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_bis = Obj.magic _3 in + let _2 : ( +# 102 "parser_cocci_menhir.mly" + (Data.clt) +# 1973 "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_ = +# 1357 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Minus _1 _2 _3 ) +# 1981 "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_bis = Obj.magic _3 in + let _2 : ( +# 100 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 2013 "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_ = +# 1359 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 2021 "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_bis = Obj.magic _3 in + let _2 : ( +# 100 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 2053 "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_ = +# 1361 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 2061 "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_bis = Obj.magic _3 in + let _2 : ( +# 99 "parser_cocci_menhir.mly" + (Ast_cocci.logicalOp * Data.clt) +# 2093 "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_ = +# 1363 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) +# 2101 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1836,19 +2125,323 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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 : ( -# 103 "parser_cocci_menhir.mly" +# 98 "parser_cocci_menhir.mly" + (Data.clt) +# 2133 "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_ = +# 1365 "parser_cocci_menhir.mly" + ( P.logic_op Ast.Eq _1 _2 _3 ) +# 2141 "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_bis = Obj.magic _3 in + let _2 : ( +# 98 "parser_cocci_menhir.mly" + (Data.clt) +# 2173 "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_ = +# 1367 "parser_cocci_menhir.mly" + ( P.logic_op Ast.NotEq _1 _2 _3 ) +# 2181 "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_bis = Obj.magic _3 in + let _2 : ( +# 97 "parser_cocci_menhir.mly" + (Data.clt) +# 2213 "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_ = +# 1369 "parser_cocci_menhir.mly" + ( P.arith_op Ast.And _1 _2 _3 ) +# 2221 "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_bis = Obj.magic _3 in + let _2 : ( +# 95 "parser_cocci_menhir.mly" + (Data.clt) +# 2253 "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_ = +# 1371 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Or _1 _2 _3 ) +# 2261 "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_bis = Obj.magic _3 in + let _2 : ( +# 96 "parser_cocci_menhir.mly" + (Data.clt) +# 2293 "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_ = +# 1373 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Xor _1 _2 _3 ) +# 2301 "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_bis = Obj.magic _3 in + let _2 : ( +# 94 "parser_cocci_menhir.mly" + (Data.clt) +# 2333 "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_ = +# 1375 "parser_cocci_menhir.mly" + ( P.logic_op Ast.AndLog _1 _2 _3 ) +# 2341 "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_bis = Obj.magic _3 in + let _2 : ( +# 93 "parser_cocci_menhir.mly" (Data.clt) -# 1844 "parser_cocci_menhir.ml" +# 2373 "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" +# 1377 "parser_cocci_menhir.mly" + ( P.logic_op Ast.OrLog _1 _2 _3 ) +# 2381 "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_eexpr_invalid_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_arith_expr_eexpr_invalid_ = +# 1349 "parser_cocci_menhir.mly" + ( _1 ) +# 2405 "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_bis = Obj.magic _3 in + let _2 : ( +# 103 "parser_cocci_menhir.mly" + (Data.clt) +# 2437 "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_ = +# 1351 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 1852 "parser_cocci_menhir.ml" +# 2445 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1876,19 +2469,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Ast_cocci.arithOp * Data.clt) -# 1884 "parser_cocci_menhir.ml" +# 2477 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 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_dot_expressions_ = -# 1332 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_invalid_ = +# 1353 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 1892 "parser_cocci_menhir.ml" +# 2485 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1916,19 +2509,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 1924 "parser_cocci_menhir.ml" +# 2517 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 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_dot_expressions_ = -# 1334 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_invalid_ = +# 1355 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 1932 "parser_cocci_menhir.ml" +# 2525 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1956,19 +2549,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 1964 "parser_cocci_menhir.ml" +# 2557 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 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_dot_expressions_ = -# 1336 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_invalid_ = +# 1357 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 1972 "parser_cocci_menhir.ml" +# 2565 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1996,19 +2589,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Ast_cocci.arithOp * Data.clt) -# 2004 "parser_cocci_menhir.ml" +# 2597 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 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_dot_expressions_ = -# 1338 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_invalid_ = +# 1359 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2012 "parser_cocci_menhir.ml" +# 2605 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2036,19 +2629,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Ast_cocci.arithOp * Data.clt) -# 2044 "parser_cocci_menhir.ml" +# 2637 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 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_dot_expressions_ = -# 1340 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_invalid_ = +# 1361 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2052 "parser_cocci_menhir.ml" +# 2645 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2076,19 +2669,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Ast_cocci.logicalOp * Data.clt) -# 2084 "parser_cocci_menhir.ml" +# 2677 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 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_dot_expressions_ = -# 1342 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_invalid_ = +# 1363 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 2092 "parser_cocci_menhir.ml" +# 2685 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2116,19 +2709,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 2124 "parser_cocci_menhir.ml" +# 2717 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 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_dot_expressions_ = -# 1344 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_invalid_ = +# 1365 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 2132 "parser_cocci_menhir.ml" +# 2725 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2156,19 +2749,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 2164 "parser_cocci_menhir.ml" +# 2757 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 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_dot_expressions_ = -# 1346 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_invalid_ = +# 1367 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 2172 "parser_cocci_menhir.ml" +# 2765 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2196,19 +2789,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 2204 "parser_cocci_menhir.ml" +# 2797 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 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_dot_expressions_ = -# 1348 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_invalid_ = +# 1369 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 2212 "parser_cocci_menhir.ml" +# 2805 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2236,19 +2829,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 2244 "parser_cocci_menhir.ml" +# 2837 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 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_dot_expressions_ = -# 1350 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_invalid_ = +# 1371 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 2252 "parser_cocci_menhir.ml" +# 2845 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2276,19 +2869,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 2284 "parser_cocci_menhir.ml" +# 2877 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 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_dot_expressions_ = -# 1352 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_invalid_ = +# 1373 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 2292 "parser_cocci_menhir.ml" +# 2885 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2316,19 +2909,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 2324 "parser_cocci_menhir.ml" +# 2917 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 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_dot_expressions_ = -# 1354 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_invalid_ = +# 1375 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 2332 "parser_cocci_menhir.ml" +# 2925 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2356,19 +2949,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 2364 "parser_cocci_menhir.ml" +# 2957 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 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_dot_expressions_ = -# 1356 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_invalid_ = +# 1377 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 2372 "parser_cocci_menhir.ml" +# 2965 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2386,13 +2979,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_cast_expr_eexpr_invalid_ = Obj.magic _1 in + let _1 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1328 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_nest_expressions_ = +# 1349 "parser_cocci_menhir.mly" ( _1 ) -# 2396 "parser_cocci_menhir.ml" +# 2989 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2420,19 +3013,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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 : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 2428 "parser_cocci_menhir.ml" +# 3021 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_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_invalid_ = -# 1330 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_nest_expressions_ = +# 1351 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 2436 "parser_cocci_menhir.ml" +# 3029 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2460,19 +3053,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Ast_cocci.arithOp * Data.clt) -# 2468 "parser_cocci_menhir.ml" +# 3061 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_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_invalid_ = -# 1332 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_nest_expressions_ = +# 1353 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2476 "parser_cocci_menhir.ml" +# 3069 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2500,19 +3093,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 2508 "parser_cocci_menhir.ml" +# 3101 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_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_invalid_ = -# 1334 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_nest_expressions_ = +# 1355 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 2516 "parser_cocci_menhir.ml" +# 3109 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2540,19 +3133,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 2548 "parser_cocci_menhir.ml" +# 3141 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_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_invalid_ = -# 1336 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_nest_expressions_ = +# 1357 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 2556 "parser_cocci_menhir.ml" +# 3149 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2580,19 +3173,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Ast_cocci.arithOp * Data.clt) -# 2588 "parser_cocci_menhir.ml" +# 3181 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_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_invalid_ = -# 1338 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_nest_expressions_ = +# 1359 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2596 "parser_cocci_menhir.ml" +# 3189 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2620,19 +3213,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Ast_cocci.arithOp * Data.clt) -# 2628 "parser_cocci_menhir.ml" +# 3221 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_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_invalid_ = -# 1340 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_nest_expressions_ = +# 1361 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2636 "parser_cocci_menhir.ml" +# 3229 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2660,19 +3253,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Ast_cocci.logicalOp * Data.clt) -# 2668 "parser_cocci_menhir.ml" +# 3261 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_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_invalid_ = -# 1342 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_nest_expressions_ = +# 1363 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 2676 "parser_cocci_menhir.ml" +# 3269 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2700,19 +3293,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 2708 "parser_cocci_menhir.ml" +# 3301 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_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_invalid_ = -# 1344 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_nest_expressions_ = +# 1365 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 2716 "parser_cocci_menhir.ml" +# 3309 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2740,19 +3333,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 2748 "parser_cocci_menhir.ml" +# 3341 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_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_invalid_ = -# 1346 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_nest_expressions_ = +# 1367 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 2756 "parser_cocci_menhir.ml" +# 3349 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2780,19 +3373,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 2788 "parser_cocci_menhir.ml" +# 3381 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_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_invalid_ = -# 1348 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_nest_expressions_ = +# 1369 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 2796 "parser_cocci_menhir.ml" +# 3389 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2820,19 +3413,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 2828 "parser_cocci_menhir.ml" +# 3421 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_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_invalid_ = -# 1350 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_nest_expressions_ = +# 1371 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 2836 "parser_cocci_menhir.ml" +# 3429 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2860,19 +3453,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 2868 "parser_cocci_menhir.ml" +# 3461 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_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_invalid_ = -# 1352 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_nest_expressions_ = +# 1373 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 2876 "parser_cocci_menhir.ml" +# 3469 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2900,19 +3493,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 2908 "parser_cocci_menhir.ml" +# 3501 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_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_invalid_ = -# 1354 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_nest_expressions_ = +# 1375 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 2916 "parser_cocci_menhir.ml" +# 3509 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2940,19 +3533,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 2948 "parser_cocci_menhir.ml" +# 3541 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_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_invalid_ = -# 1356 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_eexpr_nest_expressions_ = +# 1377 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 2956 "parser_cocci_menhir.ml" +# 3549 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2970,13 +3563,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _1 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_eexpr_nest_expressions_ = -# 1328 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_expr_invalid_ = +# 1349 "parser_cocci_menhir.mly" ( _1 ) -# 2980 "parser_cocci_menhir.ml" +# 3573 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3004,19 +3597,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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 : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 3012 "parser_cocci_menhir.ml" +# 3605 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_nest_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_arith_expr_eexpr_nest_expressions_ = -# 1330 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_expr_invalid_ = +# 1351 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 3020 "parser_cocci_menhir.ml" +# 3613 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3044,19 +3637,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Ast_cocci.arithOp * Data.clt) -# 3052 "parser_cocci_menhir.ml" +# 3645 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_nest_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_arith_expr_eexpr_nest_expressions_ = -# 1332 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_expr_invalid_ = +# 1353 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3060 "parser_cocci_menhir.ml" +# 3653 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3084,19 +3677,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 3092 "parser_cocci_menhir.ml" +# 3685 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_nest_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_arith_expr_eexpr_nest_expressions_ = -# 1334 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_expr_invalid_ = +# 1355 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 3100 "parser_cocci_menhir.ml" +# 3693 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3124,19 +3717,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 3132 "parser_cocci_menhir.ml" +# 3725 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_nest_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_arith_expr_eexpr_nest_expressions_ = -# 1336 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_expr_invalid_ = +# 1357 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 3140 "parser_cocci_menhir.ml" +# 3733 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3164,19 +3757,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Ast_cocci.arithOp * Data.clt) -# 3172 "parser_cocci_menhir.ml" +# 3765 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_nest_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_arith_expr_eexpr_nest_expressions_ = -# 1338 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_expr_invalid_ = +# 1359 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3180 "parser_cocci_menhir.ml" +# 3773 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3204,19 +3797,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Ast_cocci.arithOp * Data.clt) -# 3212 "parser_cocci_menhir.ml" +# 3805 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_nest_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_arith_expr_eexpr_nest_expressions_ = -# 1340 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_expr_invalid_ = +# 1361 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3220 "parser_cocci_menhir.ml" +# 3813 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3244,19 +3837,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Ast_cocci.logicalOp * Data.clt) -# 3252 "parser_cocci_menhir.ml" +# 3845 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_nest_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_arith_expr_eexpr_nest_expressions_ = -# 1342 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_expr_invalid_ = +# 1363 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 3260 "parser_cocci_menhir.ml" +# 3853 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3284,19 +3877,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 3292 "parser_cocci_menhir.ml" +# 3885 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_nest_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_arith_expr_eexpr_nest_expressions_ = -# 1344 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_expr_invalid_ = +# 1365 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 3300 "parser_cocci_menhir.ml" +# 3893 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3324,19 +3917,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 3332 "parser_cocci_menhir.ml" +# 3925 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_nest_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_arith_expr_eexpr_nest_expressions_ = -# 1346 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_expr_invalid_ = +# 1367 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 3340 "parser_cocci_menhir.ml" +# 3933 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3364,19 +3957,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 3372 "parser_cocci_menhir.ml" +# 3965 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_nest_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_arith_expr_eexpr_nest_expressions_ = -# 1348 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_expr_invalid_ = +# 1369 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 3380 "parser_cocci_menhir.ml" +# 3973 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3404,19 +3997,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 3412 "parser_cocci_menhir.ml" +# 4005 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_nest_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_arith_expr_eexpr_nest_expressions_ = -# 1350 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_expr_invalid_ = +# 1371 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 3420 "parser_cocci_menhir.ml" +# 4013 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3444,19 +4037,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 3452 "parser_cocci_menhir.ml" +# 4045 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_nest_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_arith_expr_eexpr_nest_expressions_ = -# 1352 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_expr_invalid_ = +# 1373 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 3460 "parser_cocci_menhir.ml" +# 4053 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3484,19 +4077,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 3492 "parser_cocci_menhir.ml" +# 4085 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_nest_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_arith_expr_eexpr_nest_expressions_ = -# 1354 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_expr_invalid_ = +# 1375 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 3500 "parser_cocci_menhir.ml" +# 4093 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3524,19 +4117,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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 : ( # 93 "parser_cocci_menhir.mly" (Data.clt) -# 3532 "parser_cocci_menhir.ml" +# 4125 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_eexpr_nest_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_arith_expr_eexpr_nest_expressions_ = -# 1356 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_expr_invalid_ = +# 1377 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 3540 "parser_cocci_menhir.ml" +# 4133 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3554,13 +4147,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 _1 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_arith_expr_expr_invalid_ = -# 1328 "parser_cocci_menhir.mly" - ( _1 ) -# 3564 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_bis = +# 1382 "parser_cocci_menhir.mly" + ( _1 ) +# 4157 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3588,19 +4181,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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 : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 3596 "parser_cocci_menhir.ml" +# 4189 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_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_arith_expr_expr_invalid_ = -# 1330 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_bis = +# 1384 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 3604 "parser_cocci_menhir.ml" +# 4197 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3628,19 +4221,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Ast_cocci.arithOp * Data.clt) -# 3636 "parser_cocci_menhir.ml" +# 4229 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_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_arith_expr_expr_invalid_ = -# 1332 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_bis = +# 1386 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3644 "parser_cocci_menhir.ml" +# 4237 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3668,19 +4261,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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 : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 3676 "parser_cocci_menhir.ml" +# 4269 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_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_arith_expr_expr_invalid_ = -# 1334 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_bis = +# 1388 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 3684 "parser_cocci_menhir.ml" +# 4277 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3708,19 +4301,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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 : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 3716 "parser_cocci_menhir.ml" +# 4309 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_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_arith_expr_expr_invalid_ = -# 1336 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_bis = +# 1390 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 3724 "parser_cocci_menhir.ml" +# 4317 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3748,19 +4341,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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 : ( # 100 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3756 "parser_cocci_menhir.ml" +# 4349 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_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_arith_expr_expr_invalid_ = -# 1338 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_bis = +# 1392 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3764 "parser_cocci_menhir.ml" +# 4357 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3788,19 +4381,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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 : ( # 100 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3796 "parser_cocci_menhir.ml" +# 4389 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_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_arith_expr_expr_invalid_ = -# 1340 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_bis = +# 1394 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3804 "parser_cocci_menhir.ml" +# 4397 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3828,19 +4421,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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.logicalOp * Data.clt) -# 3836 "parser_cocci_menhir.ml" +# 4429 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_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_arith_expr_expr_invalid_ = -# 1342 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_bis = +# 1396 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 3844 "parser_cocci_menhir.ml" +# 4437 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3868,19 +4461,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 3876 "parser_cocci_menhir.ml" +# 4469 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_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_arith_expr_expr_invalid_ = -# 1344 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_bis = +# 1398 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 3884 "parser_cocci_menhir.ml" +# 4477 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3908,19 +4501,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 3916 "parser_cocci_menhir.ml" +# 4509 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_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_arith_expr_expr_invalid_ = -# 1346 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_bis = +# 1400 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 3924 "parser_cocci_menhir.ml" +# 4517 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3948,19 +4541,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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" (Data.clt) -# 3956 "parser_cocci_menhir.ml" +# 4549 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_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_arith_expr_expr_invalid_ = -# 1348 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_bis = +# 1402 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 3964 "parser_cocci_menhir.ml" +# 4557 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3988,19 +4581,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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) -# 3996 "parser_cocci_menhir.ml" +# 4589 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_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_arith_expr_expr_invalid_ = -# 1350 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_bis = +# 1404 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 4004 "parser_cocci_menhir.ml" +# 4597 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4028,19 +4621,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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) -# 4036 "parser_cocci_menhir.ml" +# 4629 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_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_arith_expr_expr_invalid_ = -# 1352 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_bis = +# 1406 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 4044 "parser_cocci_menhir.ml" +# 4637 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4068,59 +4661,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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) -# 4076 "parser_cocci_menhir.ml" +# 4669 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_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_arith_expr_expr_invalid_ = -# 1354 "parser_cocci_menhir.mly" + let _v : 'tv_arith_expr_bis = +# 1408 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 4084 "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 : ( -# 93 "parser_cocci_menhir.mly" - (Data.clt) -# 4116 "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_ = -# 1356 "parser_cocci_menhir.mly" - ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 4124 "parser_cocci_menhir.ml" +# 4677 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4140,9 +4693,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 521 "parser_cocci_menhir.mly" +# 526 "parser_cocci_menhir.mly" ( Ast.UNIQUE ) -# 4146 "parser_cocci_menhir.ml" +# 4699 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4162,9 +4715,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 522 "parser_cocci_menhir.mly" +# 527 "parser_cocci_menhir.mly" ( Ast.OPT ) -# 4168 "parser_cocci_menhir.ml" +# 4721 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4184,9 +4737,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 523 "parser_cocci_menhir.mly" +# 528 "parser_cocci_menhir.mly" ( Ast.MULTI ) -# 4190 "parser_cocci_menhir.ml" +# 4743 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4201,9 +4754,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_arity = -# 524 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( Ast.NONE ) -# 4207 "parser_cocci_menhir.ml" +# 4760 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4234,20 +4787,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r : ( # 106 "parser_cocci_menhir.mly" (Data.clt) -# 4238 "parser_cocci_menhir.ml" +# 4791 "parser_cocci_menhir.ml" ) = Obj.magic r in let i : 'tv_option_eexpr_ = Obj.magic i in let l : ( # 106 "parser_cocci_menhir.mly" (Data.clt) -# 4244 "parser_cocci_menhir.ml" +# 4797 "parser_cocci_menhir.ml" ) = Obj.magic l in let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_array_dec = -# 1155 "parser_cocci_menhir.mly" +# 1174 "parser_cocci_menhir.mly" ( (l,i,r) ) -# 4251 "parser_cocci_menhir.ml" +# 4804 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4269,9 +4822,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_eexpr_dot_expressions_ = -# 1300 "parser_cocci_menhir.mly" +# 1321 "parser_cocci_menhir.mly" ( _1 ) -# 4275 "parser_cocci_menhir.ml" +# 4828 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4303,17 +4856,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 112 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 4307 "parser_cocci_menhir.ml" +# 4860 "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_ = -# 1302 "parser_cocci_menhir.mly" +# 1323 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 4317 "parser_cocci_menhir.ml" +# 4870 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4345,17 +4898,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 4349 "parser_cocci_menhir.ml" +# 4902 "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_ = -# 1306 "parser_cocci_menhir.mly" +# 1327 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4359 "parser_cocci_menhir.ml" +# 4912 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4377,9 +4930,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1300 "parser_cocci_menhir.mly" +# 1321 "parser_cocci_menhir.mly" ( _1 ) -# 4383 "parser_cocci_menhir.ml" +# 4936 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4411,17 +4964,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 112 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 4415 "parser_cocci_menhir.ml" +# 4968 "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__3_ in let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1302 "parser_cocci_menhir.mly" +# 1323 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 4425 "parser_cocci_menhir.ml" +# 4978 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4453,17 +5006,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 4457 "parser_cocci_menhir.ml" +# 5010 "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__3_ in let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1306 "parser_cocci_menhir.mly" +# 1327 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4467 "parser_cocci_menhir.ml" +# 5020 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4485,9 +5038,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1300 "parser_cocci_menhir.mly" +# 1321 "parser_cocci_menhir.mly" ( _1 ) -# 4491 "parser_cocci_menhir.ml" +# 5044 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4519,17 +5072,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 112 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 4523 "parser_cocci_menhir.ml" +# 5076 "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__3_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1302 "parser_cocci_menhir.mly" +# 1323 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 4533 "parser_cocci_menhir.ml" +# 5086 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4561,17 +5114,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 4565 "parser_cocci_menhir.ml" +# 5118 "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__3_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1306 "parser_cocci_menhir.mly" +# 1327 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4575 "parser_cocci_menhir.ml" +# 5128 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4593,9 +5146,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_bis = -# 1311 "parser_cocci_menhir.mly" +# 1332 "parser_cocci_menhir.mly" ( _1 ) -# 4599 "parser_cocci_menhir.ml" +# 5152 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4627,17 +5180,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 112 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 4631 "parser_cocci_menhir.ml" +# 5184 "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_bis = -# 1313 "parser_cocci_menhir.mly" +# 1334 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 4641 "parser_cocci_menhir.ml" +# 5194 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4669,17 +5222,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 4673 "parser_cocci_menhir.ml" +# 5226 "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_bis = -# 1317 "parser_cocci_menhir.mly" +# 1338 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4683 "parser_cocci_menhir.ml" +# 5236 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4701,9 +5254,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_eexpr_dot_expressions_ = -# 1297 "parser_cocci_menhir.mly" +# 1318 "parser_cocci_menhir.mly" ( _1 ) -# 4707 "parser_cocci_menhir.ml" +# 5260 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4725,9 +5278,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_eexpr_nest_expressions_ = -# 1297 "parser_cocci_menhir.mly" +# 1318 "parser_cocci_menhir.mly" ( _1 ) -# 4731 "parser_cocci_menhir.ml" +# 5284 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4749,9 +5302,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_expr_invalid_ = -# 1297 "parser_cocci_menhir.mly" +# 1318 "parser_cocci_menhir.mly" ( _1 ) -# 4755 "parser_cocci_menhir.ml" +# 5308 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4783,20 +5336,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 4787 "parser_cocci_menhir.ml" +# 5340 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 4792 "parser_cocci_menhir.ml" +# 5345 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_case_line = -# 1017 "parser_cocci_menhir.mly" +# 1036 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) ) -# 4800 "parser_cocci_menhir.ml" +# 5353 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4833,20 +5386,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 4837 "parser_cocci_menhir.ml" +# 5390 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 4843 "parser_cocci_menhir.ml" +# 5396 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_case_line = -# 1020 "parser_cocci_menhir.mly" +# 1039 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) ) -# 4850 "parser_cocci_menhir.ml" +# 5403 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4868,9 +5421,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_dot_expressions_ = -# 1359 "parser_cocci_menhir.mly" +# 1413 "parser_cocci_menhir.mly" ( _1 ) -# 4874 "parser_cocci_menhir.ml" +# 5427 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4907,21 +5460,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 4911 "parser_cocci_menhir.ml" +# 5464 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 4917 "parser_cocci_menhir.ml" +# 5470 "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_ = -# 1361 "parser_cocci_menhir.mly" +# 1415 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 4925 "parser_cocci_menhir.ml" +# 5478 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4943,9 +5496,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_invalid_ = -# 1359 "parser_cocci_menhir.mly" +# 1413 "parser_cocci_menhir.mly" ( _1 ) -# 4949 "parser_cocci_menhir.ml" +# 5502 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4982,21 +5535,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 4986 "parser_cocci_menhir.ml" +# 5539 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 4992 "parser_cocci_menhir.ml" +# 5545 "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_ = -# 1361 "parser_cocci_menhir.mly" +# 1415 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 5000 "parser_cocci_menhir.ml" +# 5553 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5018,9 +5571,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_nest_expressions_ = -# 1359 "parser_cocci_menhir.mly" +# 1413 "parser_cocci_menhir.mly" ( _1 ) -# 5024 "parser_cocci_menhir.ml" +# 5577 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5057,21 +5610,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 5061 "parser_cocci_menhir.ml" +# 5614 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 5067 "parser_cocci_menhir.ml" +# 5620 "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_ = -# 1361 "parser_cocci_menhir.mly" +# 1415 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 5075 "parser_cocci_menhir.ml" +# 5628 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5093,9 +5646,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_expr_invalid_ = -# 1359 "parser_cocci_menhir.mly" +# 1413 "parser_cocci_menhir.mly" ( _1 ) -# 5099 "parser_cocci_menhir.ml" +# 5652 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5132,21 +5685,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 5136 "parser_cocci_menhir.ml" +# 5689 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 5142 "parser_cocci_menhir.ml" +# 5695 "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_ = -# 1361 "parser_cocci_menhir.mly" +# 1415 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 5150 "parser_cocci_menhir.ml" +# 5703 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5174,7 +5727,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_choose_iso = # 243 "parser_cocci_menhir.mly" ( List.map P.id2name _2 ) -# 5178 "parser_cocci_menhir.ml" +# 5731 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5196,9 +5749,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_any_strict_ = -# 2012 "parser_cocci_menhir.mly" +# 2092 "parser_cocci_menhir.mly" ( _1 ) -# 5202 "parser_cocci_menhir.ml" +# 5755 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5220,9 +5773,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_ctype_ = -# 2012 "parser_cocci_menhir.mly" +# 2092 "parser_cocci_menhir.mly" ( _1 ) -# 5226 "parser_cocci_menhir.ml" +# 5779 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5244,9 +5797,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_d_ident_ = -# 2012 "parser_cocci_menhir.mly" +# 2092 "parser_cocci_menhir.mly" ( _1 ) -# 5250 "parser_cocci_menhir.ml" +# 5803 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5268,9 +5821,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_ident_or_const_ = -# 2012 "parser_cocci_menhir.mly" +# 2092 "parser_cocci_menhir.mly" ( _1 ) -# 5274 "parser_cocci_menhir.ml" +# 5827 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5292,9 +5845,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_meta_ident_ = -# 2012 "parser_cocci_menhir.mly" +# 2092 "parser_cocci_menhir.mly" ( _1 ) -# 5298 "parser_cocci_menhir.ml" +# 5851 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5316,9 +5869,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_ = -# 2012 "parser_cocci_menhir.mly" +# 2092 "parser_cocci_menhir.mly" ( _1 ) -# 5322 "parser_cocci_menhir.ml" +# 5875 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5340,9 +5893,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_ = -# 2012 "parser_cocci_menhir.mly" +# 2092 "parser_cocci_menhir.mly" ( _1 ) -# 5346 "parser_cocci_menhir.ml" +# 5899 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5364,9 +5917,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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__ = -# 2012 "parser_cocci_menhir.mly" +# 2092 "parser_cocci_menhir.mly" ( _1 ) -# 5370 "parser_cocci_menhir.ml" +# 5923 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5388,9 +5941,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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__ = -# 2012 "parser_cocci_menhir.mly" +# 2092 "parser_cocci_menhir.mly" ( _1 ) -# 5394 "parser_cocci_menhir.ml" +# 5947 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5412,9 +5965,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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__ = -# 2012 "parser_cocci_menhir.mly" +# 2092 "parser_cocci_menhir.mly" ( _1 ) -# 5418 "parser_cocci_menhir.ml" +# 5971 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5436,9 +5989,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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__ = -# 2012 "parser_cocci_menhir.mly" +# 2092 "parser_cocci_menhir.mly" ( _1 ) -# 5442 "parser_cocci_menhir.ml" +# 5995 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5460,9 +6013,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = -# 2012 "parser_cocci_menhir.mly" +# 2092 "parser_cocci_menhir.mly" ( _1 ) -# 5466 "parser_cocci_menhir.ml" +# 6019 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5484,9 +6037,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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__ = -# 2012 "parser_cocci_menhir.mly" +# 2092 "parser_cocci_menhir.mly" ( _1 ) -# 5490 "parser_cocci_menhir.ml" +# 6043 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5508,9 +6061,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_typedef_ident_ = -# 2012 "parser_cocci_menhir.mly" +# 2092 "parser_cocci_menhir.mly" ( _1 ) -# 5514 "parser_cocci_menhir.ml" +# 6067 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5532,9 +6085,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_eexpr_dot_expressions_ = -# 1322 "parser_cocci_menhir.mly" +# 1343 "parser_cocci_menhir.mly" ( _1 ) -# 5538 "parser_cocci_menhir.ml" +# 6091 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5572,26 +6125,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 5580 "parser_cocci_menhir.ml" +# 6133 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 5586 "parser_cocci_menhir.ml" +# 6139 "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_ = -# 1324 "parser_cocci_menhir.mly" +# 1345 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5595 "parser_cocci_menhir.ml" +# 6148 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5613,9 +6166,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_eexpr_nest_expressions_ = -# 1322 "parser_cocci_menhir.mly" +# 1343 "parser_cocci_menhir.mly" ( _1 ) -# 5619 "parser_cocci_menhir.ml" +# 6172 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5653,26 +6206,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _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 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 5661 "parser_cocci_menhir.ml" +# 6214 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 5667 "parser_cocci_menhir.ml" +# 6220 "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_ = -# 1324 "parser_cocci_menhir.mly" +# 1345 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5676 "parser_cocci_menhir.ml" +# 6229 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5694,9 +6247,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_expr_invalid_ = -# 1322 "parser_cocci_menhir.mly" +# 1343 "parser_cocci_menhir.mly" ( _1 ) -# 5700 "parser_cocci_menhir.ml" +# 6253 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5734,26 +6287,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let r : 'tv_cond_expr_expr_invalid_ = Obj.magic r in + let r : 'tv_eexpr = Obj.magic r in let dd : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 5742 "parser_cocci_menhir.ml" +# 6295 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 5748 "parser_cocci_menhir.ml" +# 6301 "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_ = -# 1324 "parser_cocci_menhir.mly" +# 1345 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5757 "parser_cocci_menhir.ml" +# 6310 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5774,14 +6327,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 5778 "parser_cocci_menhir.ml" +# 6331 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_const_vol = -# 926 "parser_cocci_menhir.mly" +# 945 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Const _1 ) -# 5785 "parser_cocci_menhir.ml" +# 6338 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5802,14 +6355,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 57 "parser_cocci_menhir.mly" (Data.clt) -# 5806 "parser_cocci_menhir.ml" +# 6359 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_const_vol = -# 927 "parser_cocci_menhir.mly" +# 946 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Volatile _1 ) -# 5813 "parser_cocci_menhir.ml" +# 6366 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5831,9 +6384,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_aexpr_TEllipsis_ = -# 1788 "parser_cocci_menhir.mly" +# 1868 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 5837 "parser_cocci_menhir.ml" +# 6390 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5859,16 +6412,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 5863 "parser_cocci_menhir.ml" +# 6416 "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_list_aexpr_TEllipsis_ = -# 1790 "parser_cocci_menhir.mly" +# 1870 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 5872 "parser_cocci_menhir.ml" +# 6425 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5900,17 +6453,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 5904 "parser_cocci_menhir.ml" +# 6457 "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_continue_list_aexpr_TEllipsis_ = -# 1793 "parser_cocci_menhir.mly" +# 1873 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 5914 "parser_cocci_menhir.ml" +# 6467 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5936,9 +6489,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_aexpr_TEllipsis_ = -# 1796 "parser_cocci_menhir.mly" +# 1876 "parser_cocci_menhir.mly" ( _2 ) -# 5942 "parser_cocci_menhir.ml" +# 6495 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5960,9 +6513,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_dparam_TEllipsis_ = -# 1788 "parser_cocci_menhir.mly" +# 1868 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 5966 "parser_cocci_menhir.ml" +# 6519 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5988,16 +6541,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 5992 "parser_cocci_menhir.ml" +# 6545 "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_ = -# 1790 "parser_cocci_menhir.mly" +# 1870 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 6001 "parser_cocci_menhir.ml" +# 6554 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6029,17 +6582,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 6033 "parser_cocci_menhir.ml" +# 6586 "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_ = -# 1793 "parser_cocci_menhir.mly" +# 1873 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 6043 "parser_cocci_menhir.ml" +# 6596 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6065,9 +6618,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_dparam_TEllipsis_ = -# 1796 "parser_cocci_menhir.mly" +# 1876 "parser_cocci_menhir.mly" ( _2 ) -# 6071 "parser_cocci_menhir.ml" +# 6624 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6089,9 +6642,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1788 "parser_cocci_menhir.mly" +# 1868 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 6095 "parser_cocci_menhir.ml" +# 6648 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6117,16 +6670,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 6121 "parser_cocci_menhir.ml" +# 6674 "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__ = -# 1790 "parser_cocci_menhir.mly" +# 1870 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 6130 "parser_cocci_menhir.ml" +# 6683 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6158,17 +6711,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 6162 "parser_cocci_menhir.ml" +# 6715 "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__ = -# 1793 "parser_cocci_menhir.mly" +# 1873 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 6172 "parser_cocci_menhir.ml" +# 6725 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6194,9 +6747,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1796 "parser_cocci_menhir.mly" +# 1876 "parser_cocci_menhir.mly" ( _2 ) -# 6200 "parser_cocci_menhir.ml" +# 6753 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6218,9 +6771,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = -# 1788 "parser_cocci_menhir.mly" +# 1868 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 6224 "parser_cocci_menhir.ml" +# 6777 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6246,16 +6799,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 6250 "parser_cocci_menhir.ml" +# 6803 "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__ = -# 1790 "parser_cocci_menhir.mly" +# 1870 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 6259 "parser_cocci_menhir.ml" +# 6812 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6287,17 +6840,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 6291 "parser_cocci_menhir.ml" +# 6844 "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__ = -# 1793 "parser_cocci_menhir.mly" +# 1873 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 6301 "parser_cocci_menhir.ml" +# 6854 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6323,9 +6876,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = -# 1796 "parser_cocci_menhir.mly" +# 1876 "parser_cocci_menhir.mly" ( _2 ) -# 6329 "parser_cocci_menhir.ml" +# 6882 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6347,9 +6900,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = -# 1788 "parser_cocci_menhir.mly" +# 1868 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 6353 "parser_cocci_menhir.ml" +# 6906 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6375,16 +6928,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 6379 "parser_cocci_menhir.ml" +# 6932 "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_ = -# 1790 "parser_cocci_menhir.mly" +# 1870 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 6388 "parser_cocci_menhir.ml" +# 6941 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6416,17 +6969,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 6420 "parser_cocci_menhir.ml" +# 6973 "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_ = -# 1793 "parser_cocci_menhir.mly" +# 1873 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 6430 "parser_cocci_menhir.ml" +# 6983 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6452,9 +7005,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = -# 1796 "parser_cocci_menhir.mly" +# 1876 "parser_cocci_menhir.mly" ( _2 ) -# 6458 "parser_cocci_menhir.ml" +# 7011 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6476,9 +7029,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = -# 1788 "parser_cocci_menhir.mly" +# 1868 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 6482 "parser_cocci_menhir.ml" +# 7035 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6504,16 +7057,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 6508 "parser_cocci_menhir.ml" +# 7061 "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_ = -# 1790 "parser_cocci_menhir.mly" +# 1870 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 6517 "parser_cocci_menhir.ml" +# 7070 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6545,17 +7098,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 6549 "parser_cocci_menhir.ml" +# 7102 "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_ = -# 1793 "parser_cocci_menhir.mly" +# 1873 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 6559 "parser_cocci_menhir.ml" +# 7112 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6581,9 +7134,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = -# 1796 "parser_cocci_menhir.mly" +# 1876 "parser_cocci_menhir.mly" ( _2 ) -# 6587 "parser_cocci_menhir.ml" +# 7140 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6598,9 +7151,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_continue_struct_decl_list = -# 660 "parser_cocci_menhir.mly" +# 665 "parser_cocci_menhir.mly" ( [] ) -# 6604 "parser_cocci_menhir.ml" +# 7157 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6628,9 +7181,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_struct_decl_list = -# 661 "parser_cocci_menhir.mly" +# 666 "parser_cocci_menhir.mly" ( _1@_2 ) -# 6634 "parser_cocci_menhir.ml" +# 7187 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6652,9 +7205,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_struct_decl_list = -# 662 "parser_cocci_menhir.mly" +# 667 "parser_cocci_menhir.mly" ( _1 ) -# 6658 "parser_cocci_menhir.ml" +# 7211 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6686,12 +7239,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6690 "parser_cocci_menhir.ml" +# 7243 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 6695 "parser_cocci_menhir.ml" +# 7248 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6701,28 +7254,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 536 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 6707 "parser_cocci_menhir.ml" +# 7260 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6713 "parser_cocci_menhir.ml" +# 7266 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6720 "parser_cocci_menhir.ml" +# 7273 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6726 "parser_cocci_menhir.ml" +# 7279 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6754,12 +7307,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6758 "parser_cocci_menhir.ml" +# 7311 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 6763 "parser_cocci_menhir.ml" +# 7316 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6769,28 +7322,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 538 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 6775 "parser_cocci_menhir.ml" +# 7328 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6781 "parser_cocci_menhir.ml" +# 7334 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6788 "parser_cocci_menhir.ml" +# 7341 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6794 "parser_cocci_menhir.ml" +# 7347 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6822,12 +7375,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6826 "parser_cocci_menhir.ml" +# 7379 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 6831 "parser_cocci_menhir.ml" +# 7384 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6837,28 +7390,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 540 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 6843 "parser_cocci_menhir.ml" +# 7396 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6849 "parser_cocci_menhir.ml" +# 7402 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6856 "parser_cocci_menhir.ml" +# 7409 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6862 "parser_cocci_menhir.ml" +# 7415 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6890,12 +7443,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 6894 "parser_cocci_menhir.ml" +# 7447 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 6899 "parser_cocci_menhir.ml" +# 7452 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6905,29 +7458,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 542 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 6912 "parser_cocci_menhir.ml" +# 7465 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6918 "parser_cocci_menhir.ml" +# 7471 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6925 "parser_cocci_menhir.ml" +# 7478 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6931 "parser_cocci_menhir.ml" +# 7484 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6968,17 +7521,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 6972 "parser_cocci_menhir.ml" +# 7525 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 6977 "parser_cocci_menhir.ml" +# 7530 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 6982 "parser_cocci_menhir.ml" +# 7535 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -6990,33 +7543,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 545 "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*))) ) -# 7001 "parser_cocci_menhir.ml" +# 7554 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 7007 "parser_cocci_menhir.ml" +# 7560 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7014 "parser_cocci_menhir.ml" +# 7567 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7020 "parser_cocci_menhir.ml" +# 7573 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7048,12 +7601,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7052 "parser_cocci_menhir.ml" +# 7605 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 7057 "parser_cocci_menhir.ml" +# 7610 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -7063,28 +7616,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 552 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 7069 "parser_cocci_menhir.ml" +# 7622 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 7075 "parser_cocci_menhir.ml" +# 7628 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7082 "parser_cocci_menhir.ml" +# 7635 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7088 "parser_cocci_menhir.ml" +# 7641 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7121,17 +7674,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7125 "parser_cocci_menhir.ml" +# 7678 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7130 "parser_cocci_menhir.ml" +# 7683 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 7135 "parser_cocci_menhir.ml" +# 7688 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -7143,31 +7696,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 7152 "parser_cocci_menhir.ml" +# 7705 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 7158 "parser_cocci_menhir.ml" +# 7711 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7165 "parser_cocci_menhir.ml" +# 7718 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7171 "parser_cocci_menhir.ml" +# 7724 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7199,12 +7752,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7203 "parser_cocci_menhir.ml" +# 7756 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 7208 "parser_cocci_menhir.ml" +# 7761 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -7214,28 +7767,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 536 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 7220 "parser_cocci_menhir.ml" +# 7773 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 7226 "parser_cocci_menhir.ml" +# 7779 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7233 "parser_cocci_menhir.ml" +# 7786 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7239 "parser_cocci_menhir.ml" +# 7792 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7267,12 +7820,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7271 "parser_cocci_menhir.ml" +# 7824 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 7276 "parser_cocci_menhir.ml" +# 7829 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -7282,28 +7835,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 538 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 7288 "parser_cocci_menhir.ml" +# 7841 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 7294 "parser_cocci_menhir.ml" +# 7847 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7301 "parser_cocci_menhir.ml" +# 7854 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7307 "parser_cocci_menhir.ml" +# 7860 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7335,12 +7888,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7339 "parser_cocci_menhir.ml" +# 7892 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 7344 "parser_cocci_menhir.ml" +# 7897 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -7350,28 +7903,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 540 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 7356 "parser_cocci_menhir.ml" +# 7909 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 7362 "parser_cocci_menhir.ml" +# 7915 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7369 "parser_cocci_menhir.ml" +# 7922 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7375 "parser_cocci_menhir.ml" +# 7928 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7403,12 +7956,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 7407 "parser_cocci_menhir.ml" +# 7960 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 7412 "parser_cocci_menhir.ml" +# 7965 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -7418,29 +7971,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 542 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 7425 "parser_cocci_menhir.ml" +# 7978 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 7431 "parser_cocci_menhir.ml" +# 7984 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7438 "parser_cocci_menhir.ml" +# 7991 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7444 "parser_cocci_menhir.ml" +# 7997 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7481,17 +8034,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 7485 "parser_cocci_menhir.ml" +# 8038 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 7490 "parser_cocci_menhir.ml" +# 8043 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 7495 "parser_cocci_menhir.ml" +# 8048 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -7503,33 +8056,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 545 "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*))) ) -# 7514 "parser_cocci_menhir.ml" +# 8067 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 7520 "parser_cocci_menhir.ml" +# 8073 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7527 "parser_cocci_menhir.ml" +# 8080 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7533 "parser_cocci_menhir.ml" +# 8086 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7561,12 +8114,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7565 "parser_cocci_menhir.ml" +# 8118 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 7570 "parser_cocci_menhir.ml" +# 8123 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -7576,28 +8129,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 552 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 7582 "parser_cocci_menhir.ml" +# 8135 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 7588 "parser_cocci_menhir.ml" +# 8141 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7595 "parser_cocci_menhir.ml" +# 8148 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7601 "parser_cocci_menhir.ml" +# 8154 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7634,17 +8187,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7638 "parser_cocci_menhir.ml" +# 8191 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7643 "parser_cocci_menhir.ml" +# 8196 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 7648 "parser_cocci_menhir.ml" +# 8201 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -7656,31 +8209,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 7665 "parser_cocci_menhir.ml" +# 8218 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 7671 "parser_cocci_menhir.ml" +# 8224 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7678 "parser_cocci_menhir.ml" +# 8231 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7684 "parser_cocci_menhir.ml" +# 8237 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7707,7 +8260,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7711 "parser_cocci_menhir.ml" +# 8264 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7716,28 +8269,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 536 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 7722 "parser_cocci_menhir.ml" +# 8275 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 7728 "parser_cocci_menhir.ml" +# 8281 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7735 "parser_cocci_menhir.ml" +# 8288 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7741 "parser_cocci_menhir.ml" +# 8294 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7764,7 +8317,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7768 "parser_cocci_menhir.ml" +# 8321 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7773,28 +8326,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 538 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 7779 "parser_cocci_menhir.ml" +# 8332 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 7785 "parser_cocci_menhir.ml" +# 8338 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7792 "parser_cocci_menhir.ml" +# 8345 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7798 "parser_cocci_menhir.ml" +# 8351 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7821,7 +8374,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7825 "parser_cocci_menhir.ml" +# 8378 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7830,28 +8383,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 540 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 7836 "parser_cocci_menhir.ml" +# 8389 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 7842 "parser_cocci_menhir.ml" +# 8395 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7849 "parser_cocci_menhir.ml" +# 8402 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7855 "parser_cocci_menhir.ml" +# 8408 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7878,7 +8431,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 7882 "parser_cocci_menhir.ml" +# 8435 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -7887,29 +8440,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 542 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 7894 "parser_cocci_menhir.ml" +# 8447 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 7900 "parser_cocci_menhir.ml" +# 8453 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7907 "parser_cocci_menhir.ml" +# 8460 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7913 "parser_cocci_menhir.ml" +# 8466 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7945,12 +8498,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 7949 "parser_cocci_menhir.ml" +# 8502 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 7954 "parser_cocci_menhir.ml" +# 8507 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let _startpos = _startpos_r00_ in let _endpos = _endpos_m_ in @@ -7961,33 +8514,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 545 "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*))) ) -# 7972 "parser_cocci_menhir.ml" +# 8525 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 7978 "parser_cocci_menhir.ml" +# 8531 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7985 "parser_cocci_menhir.ml" +# 8538 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7991 "parser_cocci_menhir.ml" +# 8544 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8014,7 +8567,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8018 "parser_cocci_menhir.ml" +# 8571 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -8023,28 +8576,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 552 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 8029 "parser_cocci_menhir.ml" +# 8582 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 8035 "parser_cocci_menhir.ml" +# 8588 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8042 "parser_cocci_menhir.ml" +# 8595 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8048 "parser_cocci_menhir.ml" +# 8601 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8076,12 +8629,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8080 "parser_cocci_menhir.ml" +# 8633 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8085 "parser_cocci_menhir.ml" +# 8638 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -8092,31 +8645,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 8101 "parser_cocci_menhir.ml" +# 8654 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 8107 "parser_cocci_menhir.ml" +# 8660 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8114 "parser_cocci_menhir.ml" +# 8667 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8120 "parser_cocci_menhir.ml" +# 8673 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8143,7 +8696,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 8147 "parser_cocci_menhir.ml" +# 8700 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -8152,28 +8705,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 557 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 8158 "parser_cocci_menhir.ml" +# 8711 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 8164 "parser_cocci_menhir.ml" +# 8717 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8171 "parser_cocci_menhir.ml" +# 8724 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8177 "parser_cocci_menhir.ml" +# 8730 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8200,7 +8753,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8204 "parser_cocci_menhir.ml" +# 8757 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -8209,28 +8762,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 559 "parser_cocci_menhir.mly" +# 564 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 8215 "parser_cocci_menhir.ml" +# 8768 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 8221 "parser_cocci_menhir.ml" +# 8774 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8228 "parser_cocci_menhir.ml" +# 8781 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8234 "parser_cocci_menhir.ml" +# 8787 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8257,7 +8810,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8261 "parser_cocci_menhir.ml" +# 8814 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -8266,28 +8819,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 561 "parser_cocci_menhir.mly" +# 566 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 8272 "parser_cocci_menhir.ml" +# 8825 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 8278 "parser_cocci_menhir.ml" +# 8831 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8285 "parser_cocci_menhir.ml" +# 8838 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8291 "parser_cocci_menhir.ml" +# 8844 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8314,7 +8867,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 8318 "parser_cocci_menhir.ml" +# 8871 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -8323,28 +8876,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 563 "parser_cocci_menhir.mly" +# 568 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) -# 8329 "parser_cocci_menhir.ml" +# 8882 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 8335 "parser_cocci_menhir.ml" +# 8888 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8342 "parser_cocci_menhir.ml" +# 8895 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8348 "parser_cocci_menhir.ml" +# 8901 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8371,7 +8924,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 8375 "parser_cocci_menhir.ml" +# 8928 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -8380,28 +8933,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 565 "parser_cocci_menhir.mly" +# 570 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) -# 8386 "parser_cocci_menhir.ml" +# 8939 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 8392 "parser_cocci_menhir.ml" +# 8945 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8399 "parser_cocci_menhir.ml" +# 8952 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8405 "parser_cocci_menhir.ml" +# 8958 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8428,7 +8981,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 8432 "parser_cocci_menhir.ml" +# 8985 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -8437,28 +8990,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 567 "parser_cocci_menhir.mly" +# 572 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) -# 8443 "parser_cocci_menhir.ml" +# 8996 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 8449 "parser_cocci_menhir.ml" +# 9002 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8456 "parser_cocci_menhir.ml" +# 9009 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8462 "parser_cocci_menhir.ml" +# 9015 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8491,7 +9044,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s00 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 8495 "parser_cocci_menhir.ml" +# 9048 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -8502,28 +9055,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 569 "parser_cocci_menhir.mly" +# 574 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) -# 8508 "parser_cocci_menhir.ml" +# 9061 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 8514 "parser_cocci_menhir.ml" +# 9067 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8521 "parser_cocci_menhir.ml" +# 9074 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8527 "parser_cocci_menhir.ml" +# 9080 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8565,18 +9118,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 8569 "parser_cocci_menhir.ml" +# 9122 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 8575 "parser_cocci_menhir.ml" +# 9128 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 8580 "parser_cocci_menhir.ml" +# 9133 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -8594,35 +9147,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 8598 "parser_cocci_menhir.ml" +# 9151 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 576 "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)) ) -# 8607 "parser_cocci_menhir.ml" +# 9160 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 8613 "parser_cocci_menhir.ml" +# 9166 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8620 "parser_cocci_menhir.ml" +# 9173 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8626 "parser_cocci_menhir.ml" +# 9179 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8669,19 +9222,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 8673 "parser_cocci_menhir.ml" +# 9226 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 8679 "parser_cocci_menhir.ml" +# 9232 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 8685 "parser_cocci_menhir.ml" +# 9238 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -8702,35 +9255,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8706 "parser_cocci_menhir.ml" +# 9259 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 576 "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)) ) -# 8715 "parser_cocci_menhir.ml" +# 9268 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 8721 "parser_cocci_menhir.ml" +# 9274 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8728 "parser_cocci_menhir.ml" +# 9281 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8734 "parser_cocci_menhir.ml" +# 9287 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8770,28 +9323,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 576 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 8776 "parser_cocci_menhir.ml" +# 9329 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 8782 "parser_cocci_menhir.ml" +# 9335 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8789 "parser_cocci_menhir.ml" +# 9342 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8795 "parser_cocci_menhir.ml" +# 9348 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8833,13 +9386,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 8837 "parser_cocci_menhir.ml" +# 9390 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 8843 "parser_cocci_menhir.ml" +# 9396 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let _startpos = _startpos_s00_ in @@ -8858,36 +9411,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 8862 "parser_cocci_menhir.ml" +# 9415 "parser_cocci_menhir.ml" in -# 579 "parser_cocci_menhir.mly" +# 584 "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)) ) -# 8872 "parser_cocci_menhir.ml" +# 9425 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 8878 "parser_cocci_menhir.ml" +# 9431 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8885 "parser_cocci_menhir.ml" +# 9438 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8891 "parser_cocci_menhir.ml" +# 9444 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8934,13 +9487,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 8938 "parser_cocci_menhir.ml" +# 9491 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 8944 "parser_cocci_menhir.ml" +# 9497 "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 @@ -8963,36 +9516,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8967 "parser_cocci_menhir.ml" +# 9520 "parser_cocci_menhir.ml" in -# 579 "parser_cocci_menhir.mly" +# 584 "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)) ) -# 8977 "parser_cocci_menhir.ml" +# 9530 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 8983 "parser_cocci_menhir.ml" +# 9536 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8990 "parser_cocci_menhir.ml" +# 9543 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8996 "parser_cocci_menhir.ml" +# 9549 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9034,18 +9587,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 9038 "parser_cocci_menhir.ml" +# 9591 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 9044 "parser_cocci_menhir.ml" +# 9597 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 9049 "parser_cocci_menhir.ml" +# 9602 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -9060,30 +9613,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 585 "parser_cocci_menhir.mly" +# 590 "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)) ) -# 9068 "parser_cocci_menhir.ml" +# 9621 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 9074 "parser_cocci_menhir.ml" +# 9627 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9081 "parser_cocci_menhir.ml" +# 9634 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9087 "parser_cocci_menhir.ml" +# 9640 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9110,7 +9663,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 9114 "parser_cocci_menhir.ml" +# 9667 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -9119,28 +9672,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 589 "parser_cocci_menhir.mly" +# 594 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 9125 "parser_cocci_menhir.ml" +# 9678 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 9131 "parser_cocci_menhir.ml" +# 9684 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 9138 "parser_cocci_menhir.ml" +# 9691 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9144 "parser_cocci_menhir.ml" +# 9697 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9177,12 +9730,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9181 "parser_cocci_menhir.ml" +# 9734 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 9186 "parser_cocci_menhir.ml" +# 9739 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9193,15 +9746,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 536 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 9199 "parser_cocci_menhir.ml" +# 9752 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 9205 "parser_cocci_menhir.ml" +# 9758 "parser_cocci_menhir.ml" in let cv = @@ -9209,13 +9762,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9213 "parser_cocci_menhir.ml" +# 9766 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9219 "parser_cocci_menhir.ml" +# 9772 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9252,12 +9805,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9256 "parser_cocci_menhir.ml" +# 9809 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 9261 "parser_cocci_menhir.ml" +# 9814 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9268,15 +9821,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 538 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 9274 "parser_cocci_menhir.ml" +# 9827 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 9280 "parser_cocci_menhir.ml" +# 9833 "parser_cocci_menhir.ml" in let cv = @@ -9284,13 +9837,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9288 "parser_cocci_menhir.ml" +# 9841 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9294 "parser_cocci_menhir.ml" +# 9847 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9327,12 +9880,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9331 "parser_cocci_menhir.ml" +# 9884 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 9336 "parser_cocci_menhir.ml" +# 9889 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9343,15 +9896,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 540 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 9349 "parser_cocci_menhir.ml" +# 9902 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 9355 "parser_cocci_menhir.ml" +# 9908 "parser_cocci_menhir.ml" in let cv = @@ -9359,13 +9912,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9363 "parser_cocci_menhir.ml" +# 9916 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9369 "parser_cocci_menhir.ml" +# 9922 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9402,12 +9955,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 9406 "parser_cocci_menhir.ml" +# 9959 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 9411 "parser_cocci_menhir.ml" +# 9964 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9418,16 +9971,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 542 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 9425 "parser_cocci_menhir.ml" +# 9978 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 9431 "parser_cocci_menhir.ml" +# 9984 "parser_cocci_menhir.ml" in let cv = @@ -9435,13 +9988,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9439 "parser_cocci_menhir.ml" +# 9992 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9445 "parser_cocci_menhir.ml" +# 9998 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9487,17 +10040,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 9491 "parser_cocci_menhir.ml" +# 10044 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 9496 "parser_cocci_menhir.ml" +# 10049 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 9501 "parser_cocci_menhir.ml" +# 10054 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9510,20 +10063,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 545 "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*))) ) -# 9521 "parser_cocci_menhir.ml" +# 10074 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 9527 "parser_cocci_menhir.ml" +# 10080 "parser_cocci_menhir.ml" in let cv = @@ -9531,13 +10084,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9535 "parser_cocci_menhir.ml" +# 10088 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9541 "parser_cocci_menhir.ml" +# 10094 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9574,12 +10127,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9578 "parser_cocci_menhir.ml" +# 10131 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 9583 "parser_cocci_menhir.ml" +# 10136 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9590,15 +10143,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 552 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 9596 "parser_cocci_menhir.ml" +# 10149 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 9602 "parser_cocci_menhir.ml" +# 10155 "parser_cocci_menhir.ml" in let cv = @@ -9606,13 +10159,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9610 "parser_cocci_menhir.ml" +# 10163 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9616 "parser_cocci_menhir.ml" +# 10169 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9654,17 +10207,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9658 "parser_cocci_menhir.ml" +# 10211 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9663 "parser_cocci_menhir.ml" +# 10216 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 9668 "parser_cocci_menhir.ml" +# 10221 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9677,18 +10230,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 9686 "parser_cocci_menhir.ml" +# 10239 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 9692 "parser_cocci_menhir.ml" +# 10245 "parser_cocci_menhir.ml" in let cv = @@ -9696,13 +10249,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9700 "parser_cocci_menhir.ml" +# 10253 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9706 "parser_cocci_menhir.ml" +# 10259 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9739,12 +10292,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9743 "parser_cocci_menhir.ml" +# 10296 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 9748 "parser_cocci_menhir.ml" +# 10301 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9755,15 +10308,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 536 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 9761 "parser_cocci_menhir.ml" +# 10314 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 9767 "parser_cocci_menhir.ml" +# 10320 "parser_cocci_menhir.ml" in let cv = @@ -9771,13 +10324,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9775 "parser_cocci_menhir.ml" +# 10328 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9781 "parser_cocci_menhir.ml" +# 10334 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9814,12 +10367,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9818 "parser_cocci_menhir.ml" +# 10371 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 9823 "parser_cocci_menhir.ml" +# 10376 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9830,15 +10383,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 538 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 9836 "parser_cocci_menhir.ml" +# 10389 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 9842 "parser_cocci_menhir.ml" +# 10395 "parser_cocci_menhir.ml" in let cv = @@ -9846,13 +10399,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9850 "parser_cocci_menhir.ml" +# 10403 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9856 "parser_cocci_menhir.ml" +# 10409 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9889,12 +10442,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9893 "parser_cocci_menhir.ml" +# 10446 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 9898 "parser_cocci_menhir.ml" +# 10451 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9905,15 +10458,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 540 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 9911 "parser_cocci_menhir.ml" +# 10464 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 9917 "parser_cocci_menhir.ml" +# 10470 "parser_cocci_menhir.ml" in let cv = @@ -9921,13 +10474,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9925 "parser_cocci_menhir.ml" +# 10478 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9931 "parser_cocci_menhir.ml" +# 10484 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9964,12 +10517,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 9968 "parser_cocci_menhir.ml" +# 10521 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 9973 "parser_cocci_menhir.ml" +# 10526 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9980,16 +10533,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 542 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 9987 "parser_cocci_menhir.ml" +# 10540 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 9993 "parser_cocci_menhir.ml" +# 10546 "parser_cocci_menhir.ml" in let cv = @@ -9997,13 +10550,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10001 "parser_cocci_menhir.ml" +# 10554 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10007 "parser_cocci_menhir.ml" +# 10560 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10049,17 +10602,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 10053 "parser_cocci_menhir.ml" +# 10606 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 10058 "parser_cocci_menhir.ml" +# 10611 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 10063 "parser_cocci_menhir.ml" +# 10616 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10072,20 +10625,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 545 "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*))) ) -# 10083 "parser_cocci_menhir.ml" +# 10636 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 10089 "parser_cocci_menhir.ml" +# 10642 "parser_cocci_menhir.ml" in let cv = @@ -10093,13 +10646,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10097 "parser_cocci_menhir.ml" +# 10650 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10103 "parser_cocci_menhir.ml" +# 10656 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10136,12 +10689,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 10140 "parser_cocci_menhir.ml" +# 10693 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 10145 "parser_cocci_menhir.ml" +# 10698 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10152,15 +10705,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 552 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 10158 "parser_cocci_menhir.ml" +# 10711 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 10164 "parser_cocci_menhir.ml" +# 10717 "parser_cocci_menhir.ml" in let cv = @@ -10168,13 +10721,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10172 "parser_cocci_menhir.ml" +# 10725 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10178 "parser_cocci_menhir.ml" +# 10731 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10216,17 +10769,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 10220 "parser_cocci_menhir.ml" +# 10773 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 10225 "parser_cocci_menhir.ml" +# 10778 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 10230 "parser_cocci_menhir.ml" +# 10783 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10239,18 +10792,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 10248 "parser_cocci_menhir.ml" +# 10801 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 10254 "parser_cocci_menhir.ml" +# 10807 "parser_cocci_menhir.ml" in let cv = @@ -10258,13 +10811,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10262 "parser_cocci_menhir.ml" +# 10815 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10268 "parser_cocci_menhir.ml" +# 10821 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10296,7 +10849,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 10300 "parser_cocci_menhir.ml" +# 10853 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10306,15 +10859,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 536 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 10312 "parser_cocci_menhir.ml" +# 10865 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 10318 "parser_cocci_menhir.ml" +# 10871 "parser_cocci_menhir.ml" in let cv = @@ -10322,13 +10875,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10326 "parser_cocci_menhir.ml" +# 10879 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10332 "parser_cocci_menhir.ml" +# 10885 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10360,7 +10913,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 10364 "parser_cocci_menhir.ml" +# 10917 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10370,15 +10923,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 538 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 10376 "parser_cocci_menhir.ml" +# 10929 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 10382 "parser_cocci_menhir.ml" +# 10935 "parser_cocci_menhir.ml" in let cv = @@ -10386,13 +10939,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10390 "parser_cocci_menhir.ml" +# 10943 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10396 "parser_cocci_menhir.ml" +# 10949 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10424,7 +10977,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 10428 "parser_cocci_menhir.ml" +# 10981 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10434,15 +10987,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 540 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 10440 "parser_cocci_menhir.ml" +# 10993 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 10446 "parser_cocci_menhir.ml" +# 10999 "parser_cocci_menhir.ml" in let cv = @@ -10450,13 +11003,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10454 "parser_cocci_menhir.ml" +# 11007 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10460 "parser_cocci_menhir.ml" +# 11013 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10488,7 +11041,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 10492 "parser_cocci_menhir.ml" +# 11045 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10498,16 +11051,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 542 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 10505 "parser_cocci_menhir.ml" +# 11058 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 10511 "parser_cocci_menhir.ml" +# 11064 "parser_cocci_menhir.ml" in let cv = @@ -10515,13 +11068,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10519 "parser_cocci_menhir.ml" +# 11072 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10525 "parser_cocci_menhir.ml" +# 11078 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10562,12 +11115,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 10566 "parser_cocci_menhir.ml" +# 11119 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 10571 "parser_cocci_menhir.ml" +# 11124 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10579,20 +11132,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 545 "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*))) ) -# 10590 "parser_cocci_menhir.ml" +# 11143 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 10596 "parser_cocci_menhir.ml" +# 11149 "parser_cocci_menhir.ml" in let cv = @@ -10600,13 +11153,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10604 "parser_cocci_menhir.ml" +# 11157 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10610 "parser_cocci_menhir.ml" +# 11163 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10638,7 +11191,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 10642 "parser_cocci_menhir.ml" +# 11195 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10648,15 +11201,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 552 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 10654 "parser_cocci_menhir.ml" +# 11207 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 10660 "parser_cocci_menhir.ml" +# 11213 "parser_cocci_menhir.ml" in let cv = @@ -10664,13 +11217,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10668 "parser_cocci_menhir.ml" +# 11221 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10674 "parser_cocci_menhir.ml" +# 11227 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10707,12 +11260,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 10711 "parser_cocci_menhir.ml" +# 11264 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 10716 "parser_cocci_menhir.ml" +# 11269 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10724,18 +11277,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 10733 "parser_cocci_menhir.ml" +# 11286 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 10739 "parser_cocci_menhir.ml" +# 11292 "parser_cocci_menhir.ml" in let cv = @@ -10743,13 +11296,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10747 "parser_cocci_menhir.ml" +# 11300 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10753 "parser_cocci_menhir.ml" +# 11306 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10781,7 +11334,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 10785 "parser_cocci_menhir.ml" +# 11338 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10791,15 +11344,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 557 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 10797 "parser_cocci_menhir.ml" +# 11350 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 10803 "parser_cocci_menhir.ml" +# 11356 "parser_cocci_menhir.ml" in let cv = @@ -10807,13 +11360,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10811 "parser_cocci_menhir.ml" +# 11364 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10817 "parser_cocci_menhir.ml" +# 11370 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10845,7 +11398,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 10849 "parser_cocci_menhir.ml" +# 11402 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10855,15 +11408,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 559 "parser_cocci_menhir.mly" +# 564 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 10861 "parser_cocci_menhir.ml" +# 11414 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 10867 "parser_cocci_menhir.ml" +# 11420 "parser_cocci_menhir.ml" in let cv = @@ -10871,13 +11424,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10875 "parser_cocci_menhir.ml" +# 11428 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10881 "parser_cocci_menhir.ml" +# 11434 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10909,7 +11462,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 10913 "parser_cocci_menhir.ml" +# 11466 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10919,15 +11472,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 561 "parser_cocci_menhir.mly" +# 566 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 10925 "parser_cocci_menhir.ml" +# 11478 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 10931 "parser_cocci_menhir.ml" +# 11484 "parser_cocci_menhir.ml" in let cv = @@ -10935,13 +11488,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10939 "parser_cocci_menhir.ml" +# 11492 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10945 "parser_cocci_menhir.ml" +# 11498 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10973,7 +11526,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 10977 "parser_cocci_menhir.ml" +# 11530 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10983,15 +11536,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 563 "parser_cocci_menhir.mly" +# 568 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) -# 10989 "parser_cocci_menhir.ml" +# 11542 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 10995 "parser_cocci_menhir.ml" +# 11548 "parser_cocci_menhir.ml" in let cv = @@ -10999,13 +11552,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11003 "parser_cocci_menhir.ml" +# 11556 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11009 "parser_cocci_menhir.ml" +# 11562 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11037,7 +11590,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 11041 "parser_cocci_menhir.ml" +# 11594 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11047,15 +11600,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 565 "parser_cocci_menhir.mly" +# 570 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) -# 11053 "parser_cocci_menhir.ml" +# 11606 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 11059 "parser_cocci_menhir.ml" +# 11612 "parser_cocci_menhir.ml" in let cv = @@ -11063,13 +11616,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11067 "parser_cocci_menhir.ml" +# 11620 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11073 "parser_cocci_menhir.ml" +# 11626 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11101,7 +11654,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 11105 "parser_cocci_menhir.ml" +# 11658 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11111,15 +11664,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 567 "parser_cocci_menhir.mly" +# 572 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) -# 11117 "parser_cocci_menhir.ml" +# 11670 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 11123 "parser_cocci_menhir.ml" +# 11676 "parser_cocci_menhir.ml" in let cv = @@ -11127,13 +11680,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11131 "parser_cocci_menhir.ml" +# 11684 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11137 "parser_cocci_menhir.ml" +# 11690 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11171,7 +11724,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s00 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 11175 "parser_cocci_menhir.ml" +# 11728 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11183,15 +11736,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 569 "parser_cocci_menhir.mly" +# 574 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) -# 11189 "parser_cocci_menhir.ml" +# 11742 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 11195 "parser_cocci_menhir.ml" +# 11748 "parser_cocci_menhir.ml" in let cv = @@ -11199,13 +11752,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11203 "parser_cocci_menhir.ml" +# 11756 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11209 "parser_cocci_menhir.ml" +# 11762 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11252,18 +11805,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 11256 "parser_cocci_menhir.ml" +# 11809 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 11262 "parser_cocci_menhir.ml" +# 11815 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 11267 "parser_cocci_menhir.ml" +# 11820 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11282,22 +11835,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11286 "parser_cocci_menhir.ml" +# 11839 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 576 "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)) ) -# 11295 "parser_cocci_menhir.ml" +# 11848 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 11301 "parser_cocci_menhir.ml" +# 11854 "parser_cocci_menhir.ml" in let cv = @@ -11305,13 +11858,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11309 "parser_cocci_menhir.ml" +# 11862 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11315 "parser_cocci_menhir.ml" +# 11868 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11363,19 +11916,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 11367 "parser_cocci_menhir.ml" +# 11920 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 11373 "parser_cocci_menhir.ml" +# 11926 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 11379 "parser_cocci_menhir.ml" +# 11932 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11397,22 +11950,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11401 "parser_cocci_menhir.ml" +# 11954 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 576 "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)) ) -# 11410 "parser_cocci_menhir.ml" +# 11963 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 11416 "parser_cocci_menhir.ml" +# 11969 "parser_cocci_menhir.ml" in let cv = @@ -11420,13 +11973,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11424 "parser_cocci_menhir.ml" +# 11977 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11430 "parser_cocci_menhir.ml" +# 11983 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11472,15 +12025,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 576 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 11478 "parser_cocci_menhir.ml" +# 12031 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 11484 "parser_cocci_menhir.ml" +# 12037 "parser_cocci_menhir.ml" in let cv = @@ -11488,13 +12041,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11492 "parser_cocci_menhir.ml" +# 12045 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11498 "parser_cocci_menhir.ml" +# 12051 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11541,13 +12094,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 11545 "parser_cocci_menhir.ml" +# 12098 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 11551 "parser_cocci_menhir.ml" +# 12104 "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 @@ -11567,23 +12120,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11571 "parser_cocci_menhir.ml" +# 12124 "parser_cocci_menhir.ml" in -# 579 "parser_cocci_menhir.mly" +# 584 "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)) ) -# 11581 "parser_cocci_menhir.ml" +# 12134 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 11587 "parser_cocci_menhir.ml" +# 12140 "parser_cocci_menhir.ml" in let cv = @@ -11591,13 +12144,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11595 "parser_cocci_menhir.ml" +# 12148 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11601 "parser_cocci_menhir.ml" +# 12154 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11649,13 +12202,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 11653 "parser_cocci_menhir.ml" +# 12206 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 11659 "parser_cocci_menhir.ml" +# 12212 "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 @@ -11679,23 +12232,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11683 "parser_cocci_menhir.ml" +# 12236 "parser_cocci_menhir.ml" in -# 579 "parser_cocci_menhir.mly" +# 584 "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)) ) -# 11693 "parser_cocci_menhir.ml" +# 12246 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 11699 "parser_cocci_menhir.ml" +# 12252 "parser_cocci_menhir.ml" in let cv = @@ -11703,13 +12256,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11707 "parser_cocci_menhir.ml" +# 12260 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11713 "parser_cocci_menhir.ml" +# 12266 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11756,18 +12309,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 11760 "parser_cocci_menhir.ml" +# 12313 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 11766 "parser_cocci_menhir.ml" +# 12319 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 11771 "parser_cocci_menhir.ml" +# 12324 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11783,17 +12336,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 585 "parser_cocci_menhir.mly" +# 590 "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)) ) -# 11791 "parser_cocci_menhir.ml" +# 12344 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 11797 "parser_cocci_menhir.ml" +# 12350 "parser_cocci_menhir.ml" in let cv = @@ -11801,13 +12354,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11805 "parser_cocci_menhir.ml" +# 12358 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11811 "parser_cocci_menhir.ml" +# 12364 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11839,7 +12392,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 11843 "parser_cocci_menhir.ml" +# 12396 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -11849,15 +12402,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 589 "parser_cocci_menhir.mly" +# 594 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 11855 "parser_cocci_menhir.ml" +# 12408 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 11861 "parser_cocci_menhir.ml" +# 12414 "parser_cocci_menhir.ml" in let cv = @@ -11865,13 +12418,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11869 "parser_cocci_menhir.ml" +# 12422 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 607 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 11875 "parser_cocci_menhir.ml" +# 12428 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11892,14 +12445,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 11896 "parser_cocci_menhir.ml" +# 12449 "parser_cocci_menhir.ml" ) = Obj.magic r in let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_ctype = -# 604 "parser_cocci_menhir.mly" +# 609 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) ) -# 11903 "parser_cocci_menhir.ml" +# 12456 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11920,14 +12473,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 11924 "parser_cocci_menhir.ml" +# 12477 "parser_cocci_menhir.ml" ) = Obj.magic r in let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_ctype = -# 606 "parser_cocci_menhir.mly" +# 611 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) ) -# 11931 "parser_cocci_menhir.ml" +# 12484 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11958,22 +12511,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 11962 "parser_cocci_menhir.ml" +# 12515 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in let lp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 11968 "parser_cocci_menhir.ml" +# 12521 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_ctype = -# 608 "parser_cocci_menhir.mly" +# 613 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) -# 11977 "parser_cocci_menhir.ml" +# 12530 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12001,7 +12554,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_d_ident = -# 1146 "parser_cocci_menhir.mly" +# 1165 "parser_cocci_menhir.mly" ( (_1, function t -> List.fold_right @@ -12010,7 +12563,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Ast0.wrap (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r))) _2 t) ) -# 12014 "parser_cocci_menhir.ml" +# 12567 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12038,9 +12591,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_i_ in let _v : 'tv_decl = -# 900 "parser_cocci_menhir.mly" +# 919 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Param(t, Some i)) ) -# 12044 "parser_cocci_menhir.ml" +# 12597 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12062,9 +12615,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_t_ in let _v : 'tv_decl = -# 901 "parser_cocci_menhir.mly" +# 920 "parser_cocci_menhir.mly" ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) ) -# 12068 "parser_cocci_menhir.ml" +# 12621 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12120,42 +12673,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp1 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 12124 "parser_cocci_menhir.ml" +# 12677 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 12130 "parser_cocci_menhir.ml" +# 12683 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let rp : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 12135 "parser_cocci_menhir.ml" +# 12688 "parser_cocci_menhir.ml" ) = Obj.magic rp in let i : 'tv_ident = Obj.magic i in let s : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 12141 "parser_cocci_menhir.ml" +# 12694 "parser_cocci_menhir.ml" ) = Obj.magic s in let lp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 12146 "parser_cocci_menhir.ml" +# 12699 "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 = -# 904 "parser_cocci_menhir.mly" +# 923 "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)) ) -# 12159 "parser_cocci_menhir.ml" +# 12712 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12176,15 +12729,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 12180 "parser_cocci_menhir.ml" +# 12733 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl = -# 911 "parser_cocci_menhir.mly" +# 930 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) ) -# 12188 "parser_cocci_menhir.ml" +# 12741 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12205,14 +12758,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 12209 "parser_cocci_menhir.ml" +# 12762 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_ident = -# 1713 "parser_cocci_menhir.mly" +# 1793 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 12216 "parser_cocci_menhir.ml" +# 12769 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12233,15 +12786,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 66 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 12237 "parser_cocci_menhir.ml" +# 12790 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_ident = -# 1715 "parser_cocci_menhir.mly" +# 1795 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 12245 "parser_cocci_menhir.ml" +# 12798 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12263,13 +12816,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_decl_ = -# 1736 "parser_cocci_menhir.mly" +# 1816 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.DOTS (_1 (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d))) (fun c -> Ast0.PComma c))) ) -# 12273 "parser_cocci_menhir.ml" +# 12826 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12291,13 +12844,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_name_opt_decl_ = -# 1736 "parser_cocci_menhir.mly" +# 1816 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.DOTS (_1 (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d))) (fun c -> Ast0.PComma c))) ) -# 12301 "parser_cocci_menhir.ml" +# 12854 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12318,15 +12871,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 12322 "parser_cocci_menhir.ml" +# 12875 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1204 "parser_cocci_menhir.mly" +# 1223 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) -# 12330 "parser_cocci_menhir.ml" +# 12883 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12348,13 +12901,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1207 "parser_cocci_menhir.mly" +# 1226 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x))) _1 ) -# 12358 "parser_cocci_menhir.ml" +# 12911 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12376,9 +12929,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1212 "parser_cocci_menhir.mly" +# 1231 "parser_cocci_menhir.mly" ( [_1] ) -# 12382 "parser_cocci_menhir.ml" +# 12935 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12409,18 +12962,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 12413 "parser_cocci_menhir.ml" +# 12966 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in let _1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 12419 "parser_cocci_menhir.ml" +# 12972 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement = -# 1221 "parser_cocci_menhir.mly" +# 1240 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function x -> @@ -12430,7 +12983,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct else [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3))] ) -# 12434 "parser_cocci_menhir.ml" +# 12987 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12451,15 +13004,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 12455 "parser_cocci_menhir.ml" +# 13008 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1234 "parser_cocci_menhir.mly" +# 1253 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) -# 12463 "parser_cocci_menhir.ml" +# 13016 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12481,13 +13034,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1237 "parser_cocci_menhir.mly" +# 1256 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x))) _1 ) -# 12491 "parser_cocci_menhir.ml" +# 13044 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12509,9 +13062,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1242 "parser_cocci_menhir.mly" +# 1261 "parser_cocci_menhir.mly" ( [_1] ) -# 12515 "parser_cocci_menhir.ml" +# 13068 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12542,18 +13095,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 12546 "parser_cocci_menhir.ml" +# 13099 "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 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 12552 "parser_cocci_menhir.ml" +# 13105 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement_expr = -# 1251 "parser_cocci_menhir.mly" +# 1270 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function [] -> true | _ -> false) code then [] @@ -12562,7 +13115,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct List.map (function x -> Ast0.wrap(Ast0.DOTS x)) code in [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, dot_code, mids, P.clt2mcode ")" _3))] ) -# 12566 "parser_cocci_menhir.ml" +# 13119 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12588,15 +13141,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 12592 "parser_cocci_menhir.ml" +# 13145 "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 = -# 1032 "parser_cocci_menhir.mly" +# 1051 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] ) -# 12600 "parser_cocci_menhir.ml" +# 13153 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12617,14 +13170,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 69 "parser_cocci_menhir.mly" (Parse_aux.info) -# 12621 "parser_cocci_menhir.ml" +# 13174 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_var = -# 1033 "parser_cocci_menhir.mly" +# 1052 "parser_cocci_menhir.mly" ( [P.meta_decl _1] ) -# 12628 "parser_cocci_menhir.ml" +# 13181 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12655,7 +13208,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 12659 "parser_cocci_menhir.ml" +# 13212 "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 @@ -12665,16 +13218,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 12669 "parser_cocci_menhir.ml" +# 13222 "parser_cocci_menhir.ml" in -# 1035 "parser_cocci_menhir.mly" +# 1054 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) d ) -# 12678 "parser_cocci_menhir.ml" +# 13231 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12710,7 +13263,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 12714 "parser_cocci_menhir.ml" +# 13267 "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 @@ -12722,16 +13275,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12726 "parser_cocci_menhir.ml" +# 13279 "parser_cocci_menhir.ml" in -# 1035 "parser_cocci_menhir.mly" +# 1054 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) d ) -# 12735 "parser_cocci_menhir.ml" +# 13288 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12753,9 +13306,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_decl_var = -# 1039 "parser_cocci_menhir.mly" +# 1058 "parser_cocci_menhir.mly" ( [f] ) -# 12759 "parser_cocci_menhir.ml" +# 13312 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12796,13 +13349,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 12800 "parser_cocci_menhir.ml" +# 13353 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 12806 "parser_cocci_menhir.ml" +# 13359 "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 @@ -12812,14 +13365,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 12816 "parser_cocci_menhir.ml" +# 13369 "parser_cocci_menhir.ml" in -# 1041 "parser_cocci_menhir.mly" +# 1060 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 12823 "parser_cocci_menhir.ml" +# 13376 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12865,13 +13418,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 12869 "parser_cocci_menhir.ml" +# 13422 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 12875 "parser_cocci_menhir.ml" +# 13428 "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 @@ -12883,14 +13436,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12887 "parser_cocci_menhir.ml" +# 13440 "parser_cocci_menhir.ml" in -# 1041 "parser_cocci_menhir.mly" +# 1060 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 12894 "parser_cocci_menhir.ml" +# 13447 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12921,7 +13474,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 12925 "parser_cocci_menhir.ml" +# 13478 "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 @@ -12931,25 +13484,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 12935 "parser_cocci_menhir.ml" +# 13488 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 12942 "parser_cocci_menhir.ml" +# 13495 "parser_cocci_menhir.ml" in -# 1046 "parser_cocci_menhir.mly" +# 1065 "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 ) -# 12953 "parser_cocci_menhir.ml" +# 13506 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12985,7 +13538,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 12989 "parser_cocci_menhir.ml" +# 13542 "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 @@ -12997,25 +13550,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13001 "parser_cocci_menhir.ml" +# 13554 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 13008 "parser_cocci_menhir.ml" +# 13561 "parser_cocci_menhir.ml" in -# 1046 "parser_cocci_menhir.mly" +# 1065 "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 ) -# 13019 "parser_cocci_menhir.ml" +# 13572 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13051,7 +13604,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 13055 "parser_cocci_menhir.ml" +# 13608 "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 @@ -13062,7 +13615,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 13066 "parser_cocci_menhir.ml" +# 13619 "parser_cocci_menhir.ml" in let s = @@ -13070,18 +13623,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13074 "parser_cocci_menhir.ml" +# 13627 "parser_cocci_menhir.ml" in -# 1046 "parser_cocci_menhir.mly" +# 1065 "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 ) -# 13085 "parser_cocci_menhir.ml" +# 13638 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13122,7 +13675,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 13126 "parser_cocci_menhir.ml" +# 13679 "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 @@ -13135,7 +13688,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13139 "parser_cocci_menhir.ml" +# 13692 "parser_cocci_menhir.ml" in let s = @@ -13143,18 +13696,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13147 "parser_cocci_menhir.ml" +# 13700 "parser_cocci_menhir.ml" in -# 1046 "parser_cocci_menhir.mly" +# 1065 "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 ) -# 13158 "parser_cocci_menhir.ml" +# 13711 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13195,13 +13748,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 13199 "parser_cocci_menhir.ml" +# 13752 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 13205 "parser_cocci_menhir.ml" +# 13758 "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 @@ -13211,24 +13764,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 13215 "parser_cocci_menhir.ml" +# 13768 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 13222 "parser_cocci_menhir.ml" +# 13775 "parser_cocci_menhir.ml" in -# 1054 "parser_cocci_menhir.mly" +# 1073 "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))] ) -# 13232 "parser_cocci_menhir.ml" +# 13785 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13274,13 +13827,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 13278 "parser_cocci_menhir.ml" +# 13831 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 13284 "parser_cocci_menhir.ml" +# 13837 "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 @@ -13292,24 +13845,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13296 "parser_cocci_menhir.ml" +# 13849 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 13303 "parser_cocci_menhir.ml" +# 13856 "parser_cocci_menhir.ml" in -# 1054 "parser_cocci_menhir.mly" +# 1073 "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))] ) -# 13313 "parser_cocci_menhir.ml" +# 13866 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13355,13 +13908,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 13359 "parser_cocci_menhir.ml" +# 13912 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 13365 "parser_cocci_menhir.ml" +# 13918 "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 @@ -13372,7 +13925,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 13376 "parser_cocci_menhir.ml" +# 13929 "parser_cocci_menhir.ml" in let s = @@ -13380,17 +13933,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13384 "parser_cocci_menhir.ml" +# 13937 "parser_cocci_menhir.ml" in -# 1054 "parser_cocci_menhir.mly" +# 1073 "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))] ) -# 13394 "parser_cocci_menhir.ml" +# 13947 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13441,13 +13994,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 13445 "parser_cocci_menhir.ml" +# 13998 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 13451 "parser_cocci_menhir.ml" +# 14004 "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 @@ -13460,7 +14013,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13464 "parser_cocci_menhir.ml" +# 14017 "parser_cocci_menhir.ml" in let s = @@ -13468,17 +14021,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13472 "parser_cocci_menhir.ml" +# 14025 "parser_cocci_menhir.ml" in -# 1054 "parser_cocci_menhir.mly" +# 1073 "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))] ) -# 13482 "parser_cocci_menhir.ml" +# 14035 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13539,34 +14092,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 13543 "parser_cocci_menhir.ml" +# 14096 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 13548 "parser_cocci_menhir.ml" +# 14101 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 13554 "parser_cocci_menhir.ml" +# 14107 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 13559 "parser_cocci_menhir.ml" +# 14112 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 13565 "parser_cocci_menhir.ml" +# 14118 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 13570 "parser_cocci_menhir.ml" +# 14123 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -13575,11 +14128,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 13579 "parser_cocci_menhir.ml" +# 14132 "parser_cocci_menhir.ml" in -# 1064 "parser_cocci_menhir.mly" +# 1083 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -13587,7 +14140,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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))] ) -# 13591 "parser_cocci_menhir.ml" +# 14144 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13653,34 +14206,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 13657 "parser_cocci_menhir.ml" +# 14210 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 13662 "parser_cocci_menhir.ml" +# 14215 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 13668 "parser_cocci_menhir.ml" +# 14221 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 13673 "parser_cocci_menhir.ml" +# 14226 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 13679 "parser_cocci_menhir.ml" +# 14232 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 13684 "parser_cocci_menhir.ml" +# 14237 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -13691,11 +14244,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 13695 "parser_cocci_menhir.ml" +# 14248 "parser_cocci_menhir.ml" in -# 1064 "parser_cocci_menhir.mly" +# 1083 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -13703,7 +14256,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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))] ) -# 13707 "parser_cocci_menhir.ml" +# 14260 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13744,27 +14297,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _5 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 13748 "parser_cocci_menhir.ml" +# 14301 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 13753 "parser_cocci_menhir.ml" +# 14306 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 13759 "parser_cocci_menhir.ml" +# 14312 "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 = -# 1072 "parser_cocci_menhir.mly" +# 1091 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, P.clt2mcode ")" _4,P.clt2mcode ";" _5))] ) -# 13768 "parser_cocci_menhir.ml" +# 14321 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13835,40 +14388,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 13839 "parser_cocci_menhir.ml" +# 14392 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 13845 "parser_cocci_menhir.ml" +# 14398 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 13850 "parser_cocci_menhir.ml" +# 14403 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 13856 "parser_cocci_menhir.ml" +# 14409 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 13861 "parser_cocci_menhir.ml" +# 14414 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 13867 "parser_cocci_menhir.ml" +# 14420 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 13872 "parser_cocci_menhir.ml" +# 14425 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -13877,11 +14430,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 13881 "parser_cocci_menhir.ml" +# 14434 "parser_cocci_menhir.ml" in -# 1078 "parser_cocci_menhir.mly" +# 1097 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -13889,7 +14442,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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))]) -# 13893 "parser_cocci_menhir.ml" +# 14446 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13965,40 +14518,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 13969 "parser_cocci_menhir.ml" +# 14522 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 13975 "parser_cocci_menhir.ml" +# 14528 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 13980 "parser_cocci_menhir.ml" +# 14533 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 13986 "parser_cocci_menhir.ml" +# 14539 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 13991 "parser_cocci_menhir.ml" +# 14544 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 13997 "parser_cocci_menhir.ml" +# 14550 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 14002 "parser_cocci_menhir.ml" +# 14555 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -14009,11 +14562,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 14013 "parser_cocci_menhir.ml" +# 14566 "parser_cocci_menhir.ml" in -# 1078 "parser_cocci_menhir.mly" +# 1097 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -14021,7 +14574,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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))]) -# 14025 "parser_cocci_menhir.ml" +# 14578 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14057,25 +14610,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 14061 "parser_cocci_menhir.ml" +# 14614 "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 : ( # 56 "parser_cocci_menhir.mly" (Data.clt) -# 14068 "parser_cocci_menhir.ml" +# 14621 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_pv_ in let _v : 'tv_decl_var = -# 1086 "parser_cocci_menhir.mly" +# 1105 "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 ) -# 14079 "parser_cocci_menhir.ml" +# 14632 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14097,13 +14650,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_define_param_list_option = -# 823 "parser_cocci_menhir.mly" +# 842 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.DOTS (_1 (fun _ d -> Ast0.wrap(Ast0.DPdots(P.clt2mcode "," d))) (fun c -> Ast0.DPComma c))) ) -# 14107 "parser_cocci_menhir.ml" +# 14660 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14124,12 +14677,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 85 "parser_cocci_menhir.mly" (Data.clt * token) -# 14128 "parser_cocci_menhir.ml" +# 14681 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_defineop = -# 779 "parser_cocci_menhir.mly" +# 798 "parser_cocci_menhir.mly" ( let (clt,ident) = _1 in function body -> Ast0.wrap @@ -14146,7 +14699,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct "unexpected name for a #define")), Ast0.wrap Ast0.NoParams, body)) ) -# 14150 "parser_cocci_menhir.ml" +# 14703 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14177,18 +14730,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 14181 "parser_cocci_menhir.ml" +# 14734 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_define_param_list_option = Obj.magic _2 in let _1 : ( # 86 "parser_cocci_menhir.mly" (Data.clt * token * int * int) -# 14187 "parser_cocci_menhir.ml" +# 14740 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_defineop = -# 796 "parser_cocci_menhir.mly" +# 815 "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 @@ -14209,7 +14762,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Semantic_cocci.Semantic "unexpected name for a #define")), Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) ) -# 14213 "parser_cocci_menhir.ml" +# 14766 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14233,7 +14786,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_dep = # 231 "parser_cocci_menhir.mly" ( _1 ) -# 14237 "parser_cocci_menhir.ml" +# 14790 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14267,7 +14820,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_dep = # 232 "parser_cocci_menhir.mly" ( Ast.AndDep(_1, _3) ) -# 14271 "parser_cocci_menhir.ml" +# 14824 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14301,7 +14854,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_dep = # 233 "parser_cocci_menhir.mly" ( Ast.OrDep (_1, _3) ) -# 14305 "parser_cocci_menhir.ml" +# 14858 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14318,7 +14871,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_depends = # 227 "parser_cocci_menhir.mly" ( Ast.NoDep ) -# 14322 "parser_cocci_menhir.ml" +# 14875 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14350,7 +14903,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_depends = # 228 "parser_cocci_menhir.mly" ( parents ) -# 14354 "parser_cocci_menhir.ml" +# 14907 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14377,14 +14930,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 14381 "parser_cocci_menhir.ml" +# 14934 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_designator = -# 1190 "parser_cocci_menhir.mly" +# 1209 "parser_cocci_menhir.mly" ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) ) -# 14388 "parser_cocci_menhir.ml" +# 14941 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14415,20 +14968,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 106 "parser_cocci_menhir.mly" (Data.clt) -# 14419 "parser_cocci_menhir.ml" +# 14972 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 106 "parser_cocci_menhir.mly" (Data.clt) -# 14425 "parser_cocci_menhir.ml" +# 14978 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_designator = -# 1192 "parser_cocci_menhir.mly" +# 1211 "parser_cocci_menhir.mly" ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) ) -# 14432 "parser_cocci_menhir.ml" +# 14985 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14469,27 +15022,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _5 : ( # 106 "parser_cocci_menhir.mly" (Data.clt) -# 14473 "parser_cocci_menhir.ml" +# 15026 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : 'tv_eexpr = Obj.magic _4 in let _3 : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 14479 "parser_cocci_menhir.ml" +# 15032 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 106 "parser_cocci_menhir.mly" (Data.clt) -# 14485 "parser_cocci_menhir.ml" +# 15038 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_designator = -# 1194 "parser_cocci_menhir.mly" +# 1213 "parser_cocci_menhir.mly" ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3, _4,P.clt2mcode "]" _5) ) -# 14493 "parser_cocci_menhir.ml" +# 15046 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14511,9 +15064,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dexpr = -# 1271 "parser_cocci_menhir.mly" +# 1292 "parser_cocci_menhir.mly" ( _1 ) -# 14517 "parser_cocci_menhir.ml" +# 15070 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14541,7 +15094,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_disable = # 246 "parser_cocci_menhir.mly" ( List.map P.id2name _2 ) -# 14545 "parser_cocci_menhir.ml" +# 15098 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14562,14 +15115,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 14566 "parser_cocci_menhir.ml" +# 15119 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dot_expressions = -# 1280 "parser_cocci_menhir.mly" +# 1301 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) ) -# 14573 "parser_cocci_menhir.ml" +# 15126 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14591,9 +15144,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dot_expressions = -# 1281 "parser_cocci_menhir.mly" +# 1302 "parser_cocci_menhir.mly" ( _1 ) -# 14597 "parser_cocci_menhir.ml" +# 15150 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14615,9 +15168,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dparam = -# 819 "parser_cocci_menhir.mly" +# 838 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DParam _1) ) -# 14621 "parser_cocci_menhir.ml" +# 15174 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14638,14 +15191,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 14642 "parser_cocci_menhir.ml" +# 15195 "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_ = -# 2022 "parser_cocci_menhir.mly" +# 2102 "parser_cocci_menhir.mly" ( (d,None) ) -# 14649 "parser_cocci_menhir.ml" +# 15202 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14684,14 +15237,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 14688 "parser_cocci_menhir.ml" +# 15241 "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_ = -# 2023 "parser_cocci_menhir.mly" +# 2103 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 14695 "parser_cocci_menhir.ml" +# 15248 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14712,14 +15265,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 14716 "parser_cocci_menhir.ml" +# 15269 "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_ = -# 2022 "parser_cocci_menhir.mly" +# 2102 "parser_cocci_menhir.mly" ( (d,None) ) -# 14723 "parser_cocci_menhir.ml" +# 15276 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14758,14 +15311,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 14762 "parser_cocci_menhir.ml" +# 15315 "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_ = -# 2023 "parser_cocci_menhir.mly" +# 2103 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 14769 "parser_cocci_menhir.ml" +# 15322 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14786,14 +15339,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 14790 "parser_cocci_menhir.ml" +# 15343 "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_ = -# 2022 "parser_cocci_menhir.mly" +# 2102 "parser_cocci_menhir.mly" ( (d,None) ) -# 14797 "parser_cocci_menhir.ml" +# 15350 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14832,14 +15385,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 14836 "parser_cocci_menhir.ml" +# 15389 "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_ = -# 2023 "parser_cocci_menhir.mly" +# 2103 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 14843 "parser_cocci_menhir.ml" +# 15396 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14860,14 +15413,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 14864 "parser_cocci_menhir.ml" +# 15417 "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_ = -# 2022 "parser_cocci_menhir.mly" +# 2102 "parser_cocci_menhir.mly" ( (d,None) ) -# 14871 "parser_cocci_menhir.ml" +# 15424 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14906,14 +15459,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 14910 "parser_cocci_menhir.ml" +# 15463 "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_ = -# 2023 "parser_cocci_menhir.mly" +# 2103 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 14917 "parser_cocci_menhir.ml" +# 15470 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14935,9 +15488,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr = -# 1269 "parser_cocci_menhir.mly" +# 1290 "parser_cocci_menhir.mly" ( _1 ) -# 14941 "parser_cocci_menhir.ml" +# 15494 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14959,13 +15512,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr_list_option = -# 2002 "parser_cocci_menhir.mly" +# 2082 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.DOTS (_1 (fun _ d -> Ast0.wrap(Ast0.Edots(P.clt2mcode "..." d,None))) (fun c -> Ast0.EComma c))) ) -# 14969 "parser_cocci_menhir.ml" +# 15522 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14980,9 +15533,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_empty_list_start_aexpr_TEllipsis_ = -# 1764 "parser_cocci_menhir.mly" +# 1844 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) -# 14986 "parser_cocci_menhir.ml" +# 15539 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15004,9 +15557,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_empty_list_start_aexpr_TEllipsis_ = -# 1765 "parser_cocci_menhir.mly" +# 1845 "parser_cocci_menhir.mly" ( _1 ) -# 15010 "parser_cocci_menhir.ml" +# 15563 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15021,9 +15574,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_empty_list_start_dparam_TEllipsis_ = -# 1764 "parser_cocci_menhir.mly" +# 1844 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) -# 15027 "parser_cocci_menhir.ml" +# 15580 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15045,9 +15598,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_empty_list_start_dparam_TEllipsis_ = -# 1765 "parser_cocci_menhir.mly" +# 1845 "parser_cocci_menhir.mly" ( _1 ) -# 15051 "parser_cocci_menhir.ml" +# 15604 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15062,9 +15615,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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__ = -# 1764 "parser_cocci_menhir.mly" +# 1844 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) -# 15068 "parser_cocci_menhir.ml" +# 15621 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15086,9 +15639,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1765 "parser_cocci_menhir.mly" +# 1845 "parser_cocci_menhir.mly" ( _1 ) -# 15092 "parser_cocci_menhir.ml" +# 15645 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15103,9 +15656,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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_ = -# 1764 "parser_cocci_menhir.mly" +# 1844 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) -# 15109 "parser_cocci_menhir.ml" +# 15662 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15127,9 +15680,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = -# 1765 "parser_cocci_menhir.mly" +# 1845 "parser_cocci_menhir.mly" ( _1 ) -# 15133 "parser_cocci_menhir.ml" +# 15686 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15144,9 +15697,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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_ = -# 1764 "parser_cocci_menhir.mly" +# 1844 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [] ) -# 15150 "parser_cocci_menhir.ml" +# 15703 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15168,9 +15721,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 1765 "parser_cocci_menhir.mly" +# 1845 "parser_cocci_menhir.mly" ( _1 ) -# 15174 "parser_cocci_menhir.ml" +# 15727 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15192,9 +15745,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_decl_list = -# 697 "parser_cocci_menhir.mly" +# 702 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1 P.mkedots (fun c -> Ast0.EComma c))) ) -# 15198 "parser_cocci_menhir.ml" +# 15751 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15216,9 +15769,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_decl_one = -# 669 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 15222 "parser_cocci_menhir.ml" +# 15775 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15250,19 +15803,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 15254 "parser_cocci_menhir.ml" +# 15807 "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_enum_decl_one = -# 671 "parser_cocci_menhir.mly" +# 676 "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)) ) -# 15266 "parser_cocci_menhir.ml" +# 15819 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15284,9 +15837,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 678 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 15290 "parser_cocci_menhir.ml" +# 15843 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15307,15 +15860,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 15311 "parser_cocci_menhir.ml" +# 15864 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 680 "parser_cocci_menhir.mly" +# 685 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 15319 "parser_cocci_menhir.ml" +# 15872 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15336,16 +15889,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 15340 "parser_cocci_menhir.ml" +# 15893 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 683 "parser_cocci_menhir.mly" +# 688 "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)) ) -# 15349 "parser_cocci_menhir.ml" +# 15902 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15366,16 +15919,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 15370 "parser_cocci_menhir.ml" +# 15923 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 687 "parser_cocci_menhir.mly" +# 692 "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)) ) -# 15379 "parser_cocci_menhir.ml" +# 15932 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15396,16 +15949,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 15400 "parser_cocci_menhir.ml" +# 15953 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_enum_val = -# 691 "parser_cocci_menhir.mly" +# 696 "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)) ) -# 15409 "parser_cocci_menhir.ml" +# 15962 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15427,7 +15980,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_exists = # 249 "parser_cocci_menhir.mly" ( Ast.Exists ) -# 15431 "parser_cocci_menhir.ml" +# 15984 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15449,7 +16002,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_exists = # 250 "parser_cocci_menhir.mly" ( Ast.Forall ) -# 15453 "parser_cocci_menhir.ml" +# 16006 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15466,7 +16019,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_exists = # 251 "parser_cocci_menhir.mly" ( Ast.Undetermined ) -# 15470 "parser_cocci_menhir.ml" +# 16023 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15488,9 +16041,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_expr = -# 1267 "parser_cocci_menhir.mly" +# 1288 "parser_cocci_menhir.mly" ( _1 ) -# 15494 "parser_cocci_menhir.ml" +# 16047 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15512,9 +16065,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_expr_dots_TEllipsis_ = -# 1451 "parser_cocci_menhir.mly" +# 1524 "parser_cocci_menhir.mly" ( r ) -# 15518 "parser_cocci_menhir.ml" +# 16071 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15536,9 +16089,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos_m_ in let _v : 'tv_expression_type = -# 470 "parser_cocci_menhir.mly" +# 475 "parser_cocci_menhir.mly" ( P.ty_pointerify Type_cocci.Unknown m ) -# 15542 "parser_cocci_menhir.ml" +# 16095 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15564,9 +16117,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_expression_type = -# 472 "parser_cocci_menhir.mly" +# 477 "parser_cocci_menhir.mly" ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m ) -# 15570 "parser_cocci_menhir.ml" +# 16123 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15592,10 +16145,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_expression_type = -# 474 "parser_cocci_menhir.mly" +# 479 "parser_cocci_menhir.mly" ( P.ty_pointerify (Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m ) -# 15599 "parser_cocci_menhir.ml" +# 16152 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15621,10 +16174,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_expression_type = -# 477 "parser_cocci_menhir.mly" +# 482 "parser_cocci_menhir.mly" ( P.ty_pointerify (Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m ) -# 15628 "parser_cocci_menhir.ml" +# 16181 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15641,7 +16194,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_extends = # 222 "parser_cocci_menhir.mly" ( () ) -# 15645 "parser_cocci_menhir.ml" +# 16198 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15666,14 +16219,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let parent : ( # 49 "parser_cocci_menhir.mly" (string) -# 15670 "parser_cocci_menhir.ml" +# 16223 "parser_cocci_menhir.ml" ) = Obj.magic parent in let _startpos = _startpos__1_ in let _endpos = _endpos_parent_ in let _v : 'tv_extends = # 224 "parser_cocci_menhir.mly" ( !Data.install_bindings (parent) ) -# 15677 "parser_cocci_menhir.ml" +# 16230 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15699,21 +16252,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 87 "parser_cocci_menhir.mly" (string * Data.clt) -# 15703 "parser_cocci_menhir.ml" +# 16256 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 87 "parser_cocci_menhir.mly" (string * Data.clt) -# 15708 "parser_cocci_menhir.ml" +# 16261 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_filespec = -# 734 "parser_cocci_menhir.mly" +# 739 "parser_cocci_menhir.mly" ( [Ast0.wrap (Ast0.FILEINFO(P.id2mcode _1, P.id2mcode _2))] ) -# 15717 "parser_cocci_menhir.ml" +# 16270 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15728,9 +16281,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fninfo = -# 855 "parser_cocci_menhir.mly" +# 874 "parser_cocci_menhir.mly" ( [] ) -# 15734 "parser_cocci_menhir.ml" +# 16287 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15758,13 +16311,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 857 "parser_cocci_menhir.mly" +# 876 "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 ) -# 15768 "parser_cocci_menhir.ml" +# 16321 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15792,9 +16345,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_r_ in let _v : 'tv_fninfo = -# 862 "parser_cocci_menhir.mly" +# 881 "parser_cocci_menhir.mly" ( (Ast0.FType(t))::r ) -# 15798 "parser_cocci_menhir.ml" +# 16351 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15821,17 +16374,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 56 "parser_cocci_menhir.mly" (Data.clt) -# 15825 "parser_cocci_menhir.ml" +# 16378 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 864 "parser_cocci_menhir.mly" +# 883 "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 ) -# 15835 "parser_cocci_menhir.ml" +# 16388 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15858,17 +16411,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 58 "parser_cocci_menhir.mly" (string * Data.clt) -# 15862 "parser_cocci_menhir.ml" +# 16415 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 869 "parser_cocci_menhir.mly" +# 888 "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 ) -# 15872 "parser_cocci_menhir.ml" +# 16425 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15883,9 +16436,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fninfo_nt = -# 875 "parser_cocci_menhir.mly" +# 894 "parser_cocci_menhir.mly" ( [] ) -# 15889 "parser_cocci_menhir.ml" +# 16442 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15913,13 +16466,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 877 "parser_cocci_menhir.mly" +# 896 "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 ) -# 15923 "parser_cocci_menhir.ml" +# 16476 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15946,17 +16499,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 56 "parser_cocci_menhir.mly" (Data.clt) -# 15950 "parser_cocci_menhir.ml" +# 16503 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 883 "parser_cocci_menhir.mly" +# 902 "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 ) -# 15960 "parser_cocci_menhir.ml" +# 16513 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15983,17 +16536,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 58 "parser_cocci_menhir.mly" (string * Data.clt) -# 15987 "parser_cocci_menhir.ml" +# 16540 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 888 "parser_cocci_menhir.mly" +# 907 "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 ) -# 15997 "parser_cocci_menhir.ml" +# 16550 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16008,9 +16561,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_dots = -# 1935 "parser_cocci_menhir.mly" +# 2015 "parser_cocci_menhir.mly" ([]) -# 16014 "parser_cocci_menhir.ml" +# 16567 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16036,9 +16589,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1936 "parser_cocci_menhir.mly" +# 2016 "parser_cocci_menhir.mly" (_2) -# 16042 "parser_cocci_menhir.ml" +# 16595 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16066,9 +16619,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1937 "parser_cocci_menhir.mly" +# 2017 "parser_cocci_menhir.mly" (Ast0.wrap(Ast0.Exp(_1))::_2) -# 16072 "parser_cocci_menhir.ml" +# 16625 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16096,9 +16649,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1938 "parser_cocci_menhir.mly" +# 2018 "parser_cocci_menhir.mly" (_1@_2) -# 16102 "parser_cocci_menhir.ml" +# 16655 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16113,9 +16666,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_dots_or = -# 1945 "parser_cocci_menhir.mly" +# 2025 "parser_cocci_menhir.mly" ([]) -# 16119 "parser_cocci_menhir.ml" +# 16672 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16141,9 +16694,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1946 "parser_cocci_menhir.mly" +# 2026 "parser_cocci_menhir.mly" (_2) -# 16147 "parser_cocci_menhir.ml" +# 16700 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16171,9 +16724,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1947 "parser_cocci_menhir.mly" +# 2027 "parser_cocci_menhir.mly" (Ast0.wrap(Ast0.Exp(_1))::_2) -# 16177 "parser_cocci_menhir.ml" +# 16730 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16201,9 +16754,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1948 "parser_cocci_menhir.mly" +# 2028 "parser_cocci_menhir.mly" (_1@_2) -# 16207 "parser_cocci_menhir.ml" +# 16760 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16231,9 +16784,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_exp = -# 1941 "parser_cocci_menhir.mly" +# 2021 "parser_cocci_menhir.mly" (_1::_2) -# 16237 "parser_cocci_menhir.ml" +# 16790 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16248,9 +16801,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_exp_or = -# 1951 "parser_cocci_menhir.mly" +# 2031 "parser_cocci_menhir.mly" ([]) -# 16254 "parser_cocci_menhir.ml" +# 16807 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16278,9 +16831,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_exp_or = -# 1952 "parser_cocci_menhir.mly" +# 2032 "parser_cocci_menhir.mly" (_1::_2) -# 16284 "parser_cocci_menhir.ml" +# 16837 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16295,9 +16848,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_stm = -# 1930 "parser_cocci_menhir.mly" +# 2010 "parser_cocci_menhir.mly" ([]) -# 16301 "parser_cocci_menhir.ml" +# 16854 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16325,9 +16878,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_stm = -# 1931 "parser_cocci_menhir.mly" +# 2011 "parser_cocci_menhir.mly" (_1::_2) -# 16331 "parser_cocci_menhir.ml" +# 16884 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16355,9 +16908,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_stm = -# 1932 "parser_cocci_menhir.mly" +# 2012 "parser_cocci_menhir.mly" (_1@_2) -# 16361 "parser_cocci_menhir.ml" +# 16914 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16379,9 +16932,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_fun_start = -# 1927 "parser_cocci_menhir.mly" +# 2007 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 16385 "parser_cocci_menhir.ml" +# 16938 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16403,9 +16956,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1693 "parser_cocci_menhir.mly" +# 1773 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 16409 "parser_cocci_menhir.ml" +# 16962 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16426,15 +16979,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 65 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 16430 "parser_cocci_menhir.ml" +# 16983 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1695 "parser_cocci_menhir.mly" +# 1775 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 16438 "parser_cocci_menhir.ml" +# 16991 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16455,15 +17008,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 65 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 16459 "parser_cocci_menhir.ml" +# 17012 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1698 "parser_cocci_menhir.mly" +# 1778 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) ) -# 16467 "parser_cocci_menhir.ml" +# 17020 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16484,16 +17037,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 65 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 16488 "parser_cocci_menhir.ml" +# 17041 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1701 "parser_cocci_menhir.mly" +# 1781 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) ) -# 16497 "parser_cocci_menhir.ml" +# 17050 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16553,31 +17106,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rb : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 16557 "parser_cocci_menhir.ml" +# 17110 "parser_cocci_menhir.ml" ) = Obj.magic rb in let b : 'tv_fun_start = Obj.magic b in let lb : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 16563 "parser_cocci_menhir.ml" +# 17116 "parser_cocci_menhir.ml" ) = Obj.magic lb in let rp : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 16568 "parser_cocci_menhir.ml" +# 17121 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_decl_ = Obj.magic d in let lp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 16574 "parser_cocci_menhir.ml" +# 17127 "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 = -# 846 "parser_cocci_menhir.mly" +# 865 "parser_cocci_menhir.mly" ( P.verify_parameter_declarations (Ast0.undots d); Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()), f, i, @@ -16585,7 +17138,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode ")" rp, P.clt2mcode "{" lb, b, P.clt2mcode "}" rb)) ) -# 16589 "parser_cocci_menhir.ml" +# 17142 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16631,18 +17184,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pt : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 16635 "parser_cocci_menhir.ml" +# 17188 "parser_cocci_menhir.ml" ) = Obj.magic pt in let rp : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 16640 "parser_cocci_menhir.ml" +# 17193 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 16646 "parser_cocci_menhir.ml" +# 17199 "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 @@ -16652,11 +17205,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 16656 "parser_cocci_menhir.ml" +# 17209 "parser_cocci_menhir.ml" in -# 834 "parser_cocci_menhir.mly" +# 853 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.UnInit (s, @@ -16664,7 +17217,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Ast0.FunctionType(Some t, P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)), id, P.clt2mcode ";" pt)) ) -# 16668 "parser_cocci_menhir.ml" +# 17221 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16715,18 +17268,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pt : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 16719 "parser_cocci_menhir.ml" +# 17272 "parser_cocci_menhir.ml" ) = Obj.magic pt in let rp : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 16724 "parser_cocci_menhir.ml" +# 17277 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 16730 "parser_cocci_menhir.ml" +# 17283 "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 @@ -16738,11 +17291,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 16742 "parser_cocci_menhir.ml" +# 17295 "parser_cocci_menhir.ml" in -# 834 "parser_cocci_menhir.mly" +# 853 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.UnInit (s, @@ -16750,7 +17303,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Ast0.FunctionType(Some t, P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)), id, P.clt2mcode ";" pt)) ) -# 16754 "parser_cocci_menhir.ml" +# 17307 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16772,9 +17325,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident = -# 1706 "parser_cocci_menhir.mly" +# 1786 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 16778 "parser_cocci_menhir.ml" +# 17331 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16795,15 +17348,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 65 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 16799 "parser_cocci_menhir.ml" +# 17352 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident = -# 1708 "parser_cocci_menhir.mly" +# 1788 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 16807 "parser_cocci_menhir.ml" +# 17360 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16825,9 +17378,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_i_ in let _v : 'tv_ident_or_const = -# 1666 "parser_cocci_menhir.mly" +# 1746 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) ) -# 16831 "parser_cocci_menhir.ml" +# 17384 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16848,15 +17401,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 16852 "parser_cocci_menhir.ml" +# 17405 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident_or_const = -# 1668 "parser_cocci_menhir.mly" +# 1748 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 16860 "parser_cocci_menhir.ml" +# 17413 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16877,14 +17430,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 84 "parser_cocci_menhir.mly" (string * Data.clt) -# 16881 "parser_cocci_menhir.ml" +# 17434 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_incl = # 262 "parser_cocci_menhir.mly" ( let (x,_) = _1 in Data.Include(x) ) -# 16888 "parser_cocci_menhir.ml" +# 17441 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16909,14 +17462,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 16913 "parser_cocci_menhir.ml" +# 17466 "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.Left(P.id2name _2)) ) -# 16920 "parser_cocci_menhir.ml" +# 17473 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16941,14 +17494,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 83 "parser_cocci_menhir.mly" (string) -# 16945 "parser_cocci_menhir.ml" +# 17498 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = # 264 "parser_cocci_menhir.mly" ( Data.Iso(Common.Right _2) ) -# 16952 "parser_cocci_menhir.ml" +# 17505 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16976,12 +17529,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_incl = # 266 "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) ) -# 16985 "parser_cocci_menhir.ml" +# 17540 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17009,11 +17564,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 152 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 17013 "parser_cocci_menhir.ml" +# 17568 "parser_cocci_menhir.ml" ) = # 258 "parser_cocci_menhir.mly" ( _1 ) -# 17017 "parser_cocci_menhir.ml" +# 17572 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17041,11 +17596,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 152 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 17045 "parser_cocci_menhir.ml" +# 17600 "parser_cocci_menhir.ml" ) = # 259 "parser_cocci_menhir.mly" ( _1 ) -# 17049 "parser_cocci_menhir.ml" +# 17604 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17066,12 +17621,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 84 "parser_cocci_menhir.mly" (string * Data.clt) -# 17070 "parser_cocci_menhir.ml" +# 17625 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_includes = -# 740 "parser_cocci_menhir.mly" +# 745 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Include(P.clt2mcode "#include" (P.drop_pos (P.drop_aft (P.id2clt _1))), @@ -17082,7 +17637,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode (Ast.Local (Parse_aux.str2inc (P.id2name _1))) (P.drop_bef clt))) ) -# 17086 "parser_cocci_menhir.ml" +# 17641 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17103,12 +17658,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 84 "parser_cocci_menhir.mly" (string * Data.clt) -# 17107 "parser_cocci_menhir.ml" +# 17662 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_includes = -# 751 "parser_cocci_menhir.mly" +# 756 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Include(P.clt2mcode "#include" (P.drop_pos (P.drop_aft (P.id2clt _1))), @@ -17119,7 +17674,51 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1))) (P.drop_bef clt))) ) -# 17123 "parser_cocci_menhir.ml" +# 17678 "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 = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _1 : ( +# 85 "parser_cocci_menhir.mly" + (Data.clt * token) +# 17703 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_includes = +# 767 "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")))) ) +# 17722 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17145,9 +17744,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_includes = -# 762 "parser_cocci_menhir.mly" +# 781 "parser_cocci_menhir.mly" ( d (Ast0.wrap(Ast0.DOTS([]))) ) -# 17151 "parser_cocci_menhir.ml" +# 17750 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17179,10 +17778,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos__3_ in let _v : 'tv_includes = -# 764 "parser_cocci_menhir.mly" +# 783 "parser_cocci_menhir.mly" ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in d (Ast0.wrap(Ast0.DOTS([ty]))) ) -# 17186 "parser_cocci_menhir.ml" +# 17785 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17214,7 +17813,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_includes = -# 767 "parser_cocci_menhir.mly" +# 786 "parser_cocci_menhir.mly" ( let body = match b with [e] -> @@ -17224,7 +17823,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | _ -> b) | _ -> b in _1 (Ast0.wrap(Ast0.DOTS(body))) ) -# 17228 "parser_cocci_menhir.ml" +# 17827 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17246,9 +17845,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize = -# 1159 "parser_cocci_menhir.mly" +# 1178 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitExpr(_1)) ) -# 17252 "parser_cocci_menhir.ml" +# 17851 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17279,25 +17878,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 17283 "parser_cocci_menhir.ml" +# 17882 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 17289 "parser_cocci_menhir.ml" +# 17888 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize = -# 1161 "parser_cocci_menhir.mly" +# 1180 "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)) ) -# 17301 "parser_cocci_menhir.ml" +# 17900 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17318,15 +17917,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 69 "parser_cocci_menhir.mly" (Parse_aux.info) -# 17322 "parser_cocci_menhir.ml" +# 17921 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize = -# 1168 "parser_cocci_menhir.mly" +# 1187 "parser_cocci_menhir.mly" (let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) ) -# 17330 "parser_cocci_menhir.ml" +# 17929 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17348,9 +17947,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize2 = -# 1174 "parser_cocci_menhir.mly" +# 1193 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitExpr(_1)) ) -# 17354 "parser_cocci_menhir.ml" +# 17953 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17381,25 +17980,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 17385 "parser_cocci_menhir.ml" +# 17984 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 17391 "parser_cocci_menhir.ml" +# 17990 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1176 "parser_cocci_menhir.mly" +# 1195 "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)) ) -# 17403 "parser_cocci_menhir.ml" +# 18002 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17431,15 +18030,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 17435 "parser_cocci_menhir.ml" +# 18034 "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 = -# 1184 "parser_cocci_menhir.mly" +# 1203 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) ) -# 17443 "parser_cocci_menhir.ml" +# 18042 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17471,15 +18070,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 17475 "parser_cocci_menhir.ml" +# 18074 "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 = -# 1186 "parser_cocci_menhir.mly" +# 1205 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) ) -# 17483 "parser_cocci_menhir.ml" +# 18082 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17501,9 +18100,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize_list = -# 1199 "parser_cocci_menhir.mly" +# 1218 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1 P.mkidots (fun c -> Ast0.IComma c))) ) -# 17507 "parser_cocci_menhir.ml" +# 18106 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17523,9 +18122,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_invalid = -# 1277 "parser_cocci_menhir.mly" +# 1298 "parser_cocci_menhir.mly" ( raise (Semantic_cocci.Semantic "not matchable") ) -# 17529 "parser_cocci_menhir.ml" +# 18128 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17542,7 +18141,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_is_expression = # 254 "parser_cocci_menhir.mly" ( false ) -# 17546 "parser_cocci_menhir.ml" +# 18145 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17564,7 +18163,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_is_expression = # 255 "parser_cocci_menhir.mly" ( true ) -# 17568 "parser_cocci_menhir.ml" +# 18167 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17590,9 +18189,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_ctype_ = -# 2078 "parser_cocci_menhir.mly" +# 2158 "parser_cocci_menhir.mly" ( Common.Left t ) -# 17596 "parser_cocci_menhir.ml" +# 18195 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17618,9 +18217,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_ctype_ = -# 2079 "parser_cocci_menhir.mly" +# 2159 "parser_cocci_menhir.mly" ( Common.Right t ) -# 17624 "parser_cocci_menhir.ml" +# 18223 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17646,9 +18245,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_decl_var_ = -# 2078 "parser_cocci_menhir.mly" +# 2158 "parser_cocci_menhir.mly" ( Common.Left t ) -# 17652 "parser_cocci_menhir.ml" +# 18251 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17674,9 +18273,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_decl_var_ = -# 2079 "parser_cocci_menhir.mly" +# 2159 "parser_cocci_menhir.mly" ( Common.Right t ) -# 17680 "parser_cocci_menhir.ml" +# 18279 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17702,9 +18301,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_eexpr_ = -# 2078 "parser_cocci_menhir.mly" +# 2158 "parser_cocci_menhir.mly" ( Common.Left t ) -# 17708 "parser_cocci_menhir.ml" +# 18307 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17730,9 +18329,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_eexpr_ = -# 2079 "parser_cocci_menhir.mly" +# 2159 "parser_cocci_menhir.mly" ( Common.Right t ) -# 17736 "parser_cocci_menhir.ml" +# 18335 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17758,9 +18357,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_nest_start_ = -# 2078 "parser_cocci_menhir.mly" +# 2158 "parser_cocci_menhir.mly" ( Common.Left t ) -# 17764 "parser_cocci_menhir.ml" +# 18363 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17786,9 +18385,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_nest_start_ = -# 2079 "parser_cocci_menhir.mly" +# 2159 "parser_cocci_menhir.mly" ( Common.Right t ) -# 17792 "parser_cocci_menhir.ml" +# 18391 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17814,9 +18413,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_single_statement_ = -# 2078 "parser_cocci_menhir.mly" +# 2158 "parser_cocci_menhir.mly" ( Common.Left t ) -# 17820 "parser_cocci_menhir.ml" +# 18419 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17842,9 +18441,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_single_statement_ = -# 2079 "parser_cocci_menhir.mly" +# 2159 "parser_cocci_menhir.mly" ( Common.Right t ) -# 17848 "parser_cocci_menhir.ml" +# 18447 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17882,11 +18481,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 168 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 17886 "parser_cocci_menhir.ml" +# 18485 "parser_cocci_menhir.ml" ) = -# 2046 "parser_cocci_menhir.mly" +# 2126 "parser_cocci_menhir.mly" ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el ) -# 17890 "parser_cocci_menhir.ml" +# 18489 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17924,11 +18523,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 168 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 17928 "parser_cocci_menhir.ml" +# 18527 "parser_cocci_menhir.ml" ) = -# 2048 "parser_cocci_menhir.mly" +# 2128 "parser_cocci_menhir.mly" ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el ) -# 17932 "parser_cocci_menhir.ml" +# 18531 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17966,11 +18565,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 168 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 17970 "parser_cocci_menhir.ml" +# 18569 "parser_cocci_menhir.ml" ) = -# 2050 "parser_cocci_menhir.mly" +# 2130 "parser_cocci_menhir.mly" ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el ) -# 17974 "parser_cocci_menhir.ml" +# 18573 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18008,13 +18607,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 168 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 18012 "parser_cocci_menhir.ml" +# 18611 "parser_cocci_menhir.ml" ) = -# 2052 "parser_cocci_menhir.mly" +# 2132 "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 ) -# 18018 "parser_cocci_menhir.ml" +# 18617 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18052,11 +18651,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 168 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 18056 "parser_cocci_menhir.ml" +# 18655 "parser_cocci_menhir.ml" ) = -# 2056 "parser_cocci_menhir.mly" +# 2136 "parser_cocci_menhir.mly" ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl ) -# 18060 "parser_cocci_menhir.ml" +# 18659 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18094,11 +18693,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 168 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 18098 "parser_cocci_menhir.ml" +# 18697 "parser_cocci_menhir.ml" ) = -# 2058 "parser_cocci_menhir.mly" +# 2138 "parser_cocci_menhir.mly" ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl ) -# 18102 "parser_cocci_menhir.ml" +# 18701 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18136,11 +18735,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 168 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 18140 "parser_cocci_menhir.ml" +# 18739 "parser_cocci_menhir.ml" ) = -# 2060 "parser_cocci_menhir.mly" +# 2140 "parser_cocci_menhir.mly" ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el ) -# 18144 "parser_cocci_menhir.ml" +# 18743 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18178,9 +18777,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 168 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 18182 "parser_cocci_menhir.ml" +# 18781 "parser_cocci_menhir.ml" ) = -# 2062 "parser_cocci_menhir.mly" +# 2142 "parser_cocci_menhir.mly" ( let check_one = function [x] -> x | _ -> @@ -18195,7 +18794,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Common.Right x -> Common.Right(check_one x)) dl in let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl ) -# 18199 "parser_cocci_menhir.ml" +# 18798 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18219,11 +18818,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 171 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 18223 "parser_cocci_menhir.ml" +# 18822 "parser_cocci_menhir.ml" ) = # 188 "parser_cocci_menhir.mly" ( m "" ) -# 18227 "parser_cocci_menhir.ml" +# 18826 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18251,11 +18850,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 155 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 18255 "parser_cocci_menhir.ml" +# 18854 "parser_cocci_menhir.ml" ) = # 203 "parser_cocci_menhir.mly" ( P.make_iso_rule_name_result (P.id2name nm) ) -# 18259 "parser_cocci_menhir.ml" +# 18858 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18276,14 +18875,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 18280 "parser_cocci_menhir.ml" +# 18879 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_iter_ident = -# 1720 "parser_cocci_menhir.mly" +# 1800 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 18287 "parser_cocci_menhir.ml" +# 18886 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18304,15 +18903,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 66 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 18308 "parser_cocci_menhir.ml" +# 18907 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_iter_ident = -# 1722 "parser_cocci_menhir.mly" +# 1802 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 18316 "parser_cocci_menhir.ml" +# 18915 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18329,7 +18928,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_TMul_ = # 114 "standard.mly" ( [] ) -# 18333 "parser_cocci_menhir.ml" +# 18932 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18356,14 +18955,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let x : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 18360 "parser_cocci_menhir.ml" +# 18959 "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 ) -# 18367 "parser_cocci_menhir.ml" +# 18966 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18380,7 +18979,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_array_dec_ = # 114 "standard.mly" ( [] ) -# 18384 "parser_cocci_menhir.ml" +# 18983 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18410,7 +19009,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_array_dec_ = # 116 "standard.mly" ( x :: xs ) -# 18414 "parser_cocci_menhir.ml" +# 19013 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18427,7 +19026,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_case_line_ = # 114 "standard.mly" ( [] ) -# 18431 "parser_cocci_menhir.ml" +# 19030 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18457,7 +19056,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_case_line_ = # 116 "standard.mly" ( x :: xs ) -# 18461 "parser_cocci_menhir.ml" +# 19060 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18474,7 +19073,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_decl_var_ = # 114 "standard.mly" ( [] ) -# 18478 "parser_cocci_menhir.ml" +# 19077 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18504,7 +19103,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_decl_var_ = # 116 "standard.mly" ( x :: xs ) -# 18508 "parser_cocci_menhir.ml" +# 19107 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18521,7 +19120,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_designator_ = # 114 "standard.mly" ( [] ) -# 18525 "parser_cocci_menhir.ml" +# 19124 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18551,7 +19150,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_designator_ = # 116 "standard.mly" ( x :: xs ) -# 18555 "parser_cocci_menhir.ml" +# 19154 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18568,7 +19167,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_incl_ = # 114 "standard.mly" ( [] ) -# 18572 "parser_cocci_menhir.ml" +# 19171 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18598,7 +19197,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_incl_ = # 116 "standard.mly" ( x :: xs ) -# 18602 "parser_cocci_menhir.ml" +# 19201 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18615,7 +19214,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_ctype__ = # 114 "standard.mly" ( [] ) -# 18619 "parser_cocci_menhir.ml" +# 19218 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18645,7 +19244,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_ctype__ = # 116 "standard.mly" ( x :: xs ) -# 18649 "parser_cocci_menhir.ml" +# 19248 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18662,7 +19261,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_decl_var__ = # 114 "standard.mly" ( [] ) -# 18666 "parser_cocci_menhir.ml" +# 19265 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18692,7 +19291,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_decl_var__ = # 116 "standard.mly" ( x :: xs ) -# 18696 "parser_cocci_menhir.ml" +# 19295 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18709,7 +19308,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_eexpr__ = # 114 "standard.mly" ( [] ) -# 18713 "parser_cocci_menhir.ml" +# 19312 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18739,7 +19338,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_eexpr__ = # 116 "standard.mly" ( x :: xs ) -# 18743 "parser_cocci_menhir.ml" +# 19342 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18756,7 +19355,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_nest_start__ = # 114 "standard.mly" ( [] ) -# 18760 "parser_cocci_menhir.ml" +# 19359 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18786,7 +19385,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_nest_start__ = # 116 "standard.mly" ( x :: xs ) -# 18790 "parser_cocci_menhir.ml" +# 19389 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18803,7 +19402,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_single_statement__ = # 114 "standard.mly" ( [] ) -# 18807 "parser_cocci_menhir.ml" +# 19406 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18833,7 +19432,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_single_statement__ = # 116 "standard.mly" ( x :: xs ) -# 18837 "parser_cocci_menhir.ml" +# 19436 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18850,7 +19449,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_ctype__ = # 114 "standard.mly" ( [] ) -# 18854 "parser_cocci_menhir.ml" +# 19453 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18880,7 +19479,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_ctype__ = # 116 "standard.mly" ( x :: xs ) -# 18884 "parser_cocci_menhir.ml" +# 19483 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18897,7 +19496,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_eexpr__ = # 114 "standard.mly" ( [] ) -# 18901 "parser_cocci_menhir.ml" +# 19500 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18927,7 +19526,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_eexpr__ = # 116 "standard.mly" ( x :: xs ) -# 18931 "parser_cocci_menhir.ml" +# 19530 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18944,7 +19543,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_after_dots_or__ = # 114 "standard.mly" ( [] ) -# 18948 "parser_cocci_menhir.ml" +# 19547 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18974,7 +19573,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_after_dots_or__ = # 116 "standard.mly" ( x :: xs ) -# 18978 "parser_cocci_menhir.ml" +# 19577 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18991,7 +19590,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_start__ = # 114 "standard.mly" ( [] ) -# 18995 "parser_cocci_menhir.ml" +# 19594 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19021,7 +19620,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_start__ = # 116 "standard.mly" ( x :: xs ) -# 19025 "parser_cocci_menhir.ml" +# 19624 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19038,7 +19637,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_rule_elem_statement__ = # 114 "standard.mly" ( [] ) -# 19042 "parser_cocci_menhir.ml" +# 19641 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19068,7 +19667,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_rule_elem_statement__ = # 116 "standard.mly" ( x :: xs ) -# 19072 "parser_cocci_menhir.ml" +# 19671 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19085,7 +19684,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_statement__ = # 114 "standard.mly" ( [] ) -# 19089 "parser_cocci_menhir.ml" +# 19688 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19115,7 +19714,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_statement__ = # 116 "standard.mly" ( x :: xs ) -# 19119 "parser_cocci_menhir.ml" +# 19718 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19132,7 +19731,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = # 114 "standard.mly" ( [] ) -# 19136 "parser_cocci_menhir.ml" +# 19735 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19171,13 +19770,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 70 "standard.mly" ( (x, y) ) -# 19175 "parser_cocci_menhir.ml" +# 19774 "parser_cocci_menhir.ml" in # 116 "standard.mly" ( x :: xs ) -# 19181 "parser_cocci_menhir.ml" +# 19780 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19194,7 +19793,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_whenppdecs_ = # 114 "standard.mly" ( [] ) -# 19198 "parser_cocci_menhir.ml" +# 19797 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19224,7 +19823,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_whenppdecs_ = # 116 "standard.mly" ( x :: xs ) -# 19228 "parser_cocci_menhir.ml" +# 19827 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19246,9 +19845,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_list_len = -# 335 "parser_cocci_menhir.mly" +# 337 "parser_cocci_menhir.mly" ( Common.Left _1 ) -# 19252 "parser_cocci_menhir.ml" +# 19851 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19269,14 +19868,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 19273 "parser_cocci_menhir.ml" +# 19872 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_list_len = -# 336 "parser_cocci_menhir.mly" +# 338 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Common.Right (int_of_string x) ) -# 19280 "parser_cocci_menhir.ml" +# 19879 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19293,7 +19892,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_choose_iso_ = # 57 "standard.mly" ( [] ) -# 19297 "parser_cocci_menhir.ml" +# 19896 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19317,7 +19916,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_choose_iso_ = # 59 "standard.mly" ( x ) -# 19321 "parser_cocci_menhir.ml" +# 19920 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19334,7 +19933,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_disable_ = # 57 "standard.mly" ( [] ) -# 19338 "parser_cocci_menhir.ml" +# 19937 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19358,7 +19957,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_disable_ = # 59 "standard.mly" ( x ) -# 19362 "parser_cocci_menhir.ml" +# 19961 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19375,7 +19974,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_filespec_ = # 57 "standard.mly" ( [] ) -# 19379 "parser_cocci_menhir.ml" +# 19978 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19399,7 +19998,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_filespec_ = # 59 "standard.mly" ( x ) -# 19403 "parser_cocci_menhir.ml" +# 20002 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19416,7 +20015,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_minus_start_ = # 57 "standard.mly" ( [] ) -# 19420 "parser_cocci_menhir.ml" +# 20019 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19440,7 +20039,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_minus_start_ = # 59 "standard.mly" ( x ) -# 19444 "parser_cocci_menhir.ml" +# 20043 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19457,7 +20056,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_not_pos_ = # 57 "standard.mly" ( [] ) -# 19461 "parser_cocci_menhir.ml" +# 20060 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19481,7 +20080,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_not_pos_ = # 59 "standard.mly" ( x ) -# 19485 "parser_cocci_menhir.ml" +# 20084 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19498,7 +20097,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_plus_start_ = # 57 "standard.mly" ( [] ) -# 19502 "parser_cocci_menhir.ml" +# 20101 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19522,7 +20121,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_plus_start_ = # 59 "standard.mly" ( x ) -# 19526 "parser_cocci_menhir.ml" +# 20125 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19544,9 +20143,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_t_ in let _v : 'tv_meta_exp_type = -# 513 "parser_cocci_menhir.mly" +# 518 "parser_cocci_menhir.mly" ( [Ast0_cocci.ast0_type_to_type t] ) -# 19550 "parser_cocci_menhir.ml" +# 20149 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19576,9 +20175,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_exp_type = -# 515 "parser_cocci_menhir.mly" +# 520 "parser_cocci_menhir.mly" ( [Type_cocci.Array (Ast0_cocci.ast0_type_to_type t)] ) -# 19582 "parser_cocci_menhir.ml" +# 20181 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19614,11 +20213,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_meta_exp_type = -# 517 "parser_cocci_menhir.mly" +# 522 "parser_cocci_menhir.mly" ( List.map (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m) t ) -# 19622 "parser_cocci_menhir.ml" +# 20221 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19649,14 +20248,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 49 "parser_cocci_menhir.mly" (string) -# 19653 "parser_cocci_menhir.ml" +# 20252 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_ident = -# 1489 "parser_cocci_menhir.mly" +# 1562 "parser_cocci_menhir.mly" ( (Some _1,P.id2name _3) ) -# 19660 "parser_cocci_menhir.ml" +# 20259 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19687,14 +20286,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 49 "parser_cocci_menhir.mly" (string) -# 19691 "parser_cocci_menhir.ml" +# 20290 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_ident = -# 1490 "parser_cocci_menhir.mly" +# 1563 "parser_cocci_menhir.mly" ( (Some _1,_3) ) -# 19698 "parser_cocci_menhir.ml" +# 20297 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19718,11 +20317,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 163 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 19722 "parser_cocci_menhir.ml" +# 20321 "parser_cocci_menhir.ml" ) = # 187 "parser_cocci_menhir.mly" ( m (!Ast0.rule_name) ) -# 19726 "parser_cocci_menhir.ml" +# 20325 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19765,17 +20364,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 347 "parser_cocci_menhir.mly" +# 349 "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) ) -# 19773 "parser_cocci_menhir.ml" +# 20372 "parser_cocci_menhir.ml" in -# 276 "parser_cocci_menhir.mly" +# 278 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 19779 "parser_cocci_menhir.ml" +# 20378 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19822,18 +20421,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 351 "parser_cocci_menhir.mly" +# 353 "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) ) -# 19831 "parser_cocci_menhir.ml" +# 20430 "parser_cocci_menhir.ml" in -# 276 "parser_cocci_menhir.mly" +# 278 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 19837 "parser_cocci_menhir.ml" +# 20436 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19880,18 +20479,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 356 "parser_cocci_menhir.mly" +# 358 "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) ) -# 19889 "parser_cocci_menhir.ml" +# 20488 "parser_cocci_menhir.ml" in -# 276 "parser_cocci_menhir.mly" +# 278 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 19895 "parser_cocci_menhir.ml" +# 20494 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19934,17 +20533,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 361 "parser_cocci_menhir.mly" +# 363 "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) ) -# 19942 "parser_cocci_menhir.ml" +# 20541 "parser_cocci_menhir.ml" in -# 276 "parser_cocci_menhir.mly" +# 278 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 19948 "parser_cocci_menhir.ml" +# 20547 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19987,17 +20586,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 365 "parser_cocci_menhir.mly" +# 367 "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) ) -# 19995 "parser_cocci_menhir.ml" +# 20594 "parser_cocci_menhir.ml" in -# 276 "parser_cocci_menhir.mly" +# 278 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 20001 "parser_cocci_menhir.ml" +# 20600 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20040,17 +20639,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 369 "parser_cocci_menhir.mly" +# 371 "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) ) -# 20048 "parser_cocci_menhir.ml" +# 20647 "parser_cocci_menhir.ml" in -# 276 "parser_cocci_menhir.mly" +# 278 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 20054 "parser_cocci_menhir.ml" +# 20653 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20093,17 +20692,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 373 "parser_cocci_menhir.mly" +# 375 "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) ) -# 20101 "parser_cocci_menhir.ml" +# 20700 "parser_cocci_menhir.ml" in -# 276 "parser_cocci_menhir.mly" +# 278 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 20107 "parser_cocci_menhir.ml" +# 20706 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20146,17 +20745,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 377 "parser_cocci_menhir.mly" +# 379 "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) ) -# 20154 "parser_cocci_menhir.ml" +# 20753 "parser_cocci_menhir.ml" in -# 276 "parser_cocci_menhir.mly" +# 278 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 20160 "parser_cocci_menhir.ml" +# 20759 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20203,17 +20802,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 381 "parser_cocci_menhir.mly" +# 383 "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) ) -# 20211 "parser_cocci_menhir.ml" +# 20810 "parser_cocci_menhir.ml" in -# 276 "parser_cocci_menhir.mly" +# 278 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 20217 "parser_cocci_menhir.ml" +# 20816 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20256,18 +20855,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 385 "parser_cocci_menhir.mly" +# 387 "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")) ) -# 20265 "parser_cocci_menhir.ml" +# 20864 "parser_cocci_menhir.ml" in -# 276 "parser_cocci_menhir.mly" +# 278 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 20271 "parser_cocci_menhir.ml" +# 20870 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20314,18 +20913,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 390 "parser_cocci_menhir.mly" +# 392 "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")) ) -# 20323 "parser_cocci_menhir.ml" +# 20922 "parser_cocci_menhir.ml" in -# 276 "parser_cocci_menhir.mly" +# 278 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 20329 "parser_cocci_menhir.ml" +# 20928 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20372,18 +20971,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 395 "parser_cocci_menhir.mly" +# 397 "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")) ) -# 20381 "parser_cocci_menhir.ml" +# 20980 "parser_cocci_menhir.ml" in -# 276 "parser_cocci_menhir.mly" +# 278 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 20387 "parser_cocci_menhir.ml" +# 20986 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20418,17 +21017,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__4_ in let _v : 'tv_metadec = let kindfn = -# 340 "parser_cocci_menhir.mly" +# 342 "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) ) -# 20426 "parser_cocci_menhir.ml" +# 21025 "parser_cocci_menhir.ml" in -# 279 "parser_cocci_menhir.mly" +# 281 "parser_cocci_menhir.mly" ( P.create_fresh_metadec kindfn ids ) -# 20432 "parser_cocci_menhir.ml" +# 21031 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20471,7 +21070,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 402 "parser_cocci_menhir.mly" +# 404 "parser_cocci_menhir.mly" ( let idfn arity name pure check_meta constraints = let tok = check_meta(Ast.MetaIdDecl(arity,name)) in @@ -20481,21 +21080,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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) ) -# 20489 "parser_cocci_menhir.ml" +# 21091 "parser_cocci_menhir.ml" in -# 285 "parser_cocci_menhir.mly" +# 287 "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) ) -# 20499 "parser_cocci_menhir.ml" +# 21101 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20538,17 +21140,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 418 "parser_cocci_menhir.mly" +# 423 "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) ) -# 20546 "parser_cocci_menhir.ml" +# 21148 "parser_cocci_menhir.ml" in -# 294 "parser_cocci_menhir.mly" +# 296 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 20552 "parser_cocci_menhir.ml" +# 21154 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20595,18 +21197,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 422 "parser_cocci_menhir.mly" +# 427 "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) ) -# 20604 "parser_cocci_menhir.ml" +# 21206 "parser_cocci_menhir.ml" in -# 294 "parser_cocci_menhir.mly" +# 296 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 20610 "parser_cocci_menhir.ml" +# 21212 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20649,17 +21251,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 427 "parser_cocci_menhir.mly" +# 432 "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) ) -# 20657 "parser_cocci_menhir.ml" +# 21259 "parser_cocci_menhir.ml" in -# 294 "parser_cocci_menhir.mly" +# 296 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 20663 "parser_cocci_menhir.ml" +# 21265 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20702,17 +21304,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 431 "parser_cocci_menhir.mly" +# 436 "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) ) -# 20710 "parser_cocci_menhir.ml" +# 21312 "parser_cocci_menhir.ml" in -# 294 "parser_cocci_menhir.mly" +# 296 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 20716 "parser_cocci_menhir.ml" +# 21318 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20755,17 +21357,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 437 "parser_cocci_menhir.mly" +# 442 "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) ) -# 20763 "parser_cocci_menhir.ml" +# 21365 "parser_cocci_menhir.ml" in -# 299 "parser_cocci_menhir.mly" +# 301 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 20769 "parser_cocci_menhir.ml" +# 21371 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20818,11 +21420,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 20822 "parser_cocci_menhir.ml" +# 21424 "parser_cocci_menhir.ml" in -# 441 "parser_cocci_menhir.mly" +# 446 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> match l with None -> @@ -20831,13 +21433,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 20835 "parser_cocci_menhir.ml" +# 21437 "parser_cocci_menhir.ml" in -# 299 "parser_cocci_menhir.mly" +# 301 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 20841 "parser_cocci_menhir.ml" +# 21443 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20898,11 +21500,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 20902 "parser_cocci_menhir.ml" +# 21504 "parser_cocci_menhir.ml" in -# 441 "parser_cocci_menhir.mly" +# 446 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> match l with None -> @@ -20911,13 +21513,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 20915 "parser_cocci_menhir.ml" +# 21517 "parser_cocci_menhir.ml" in -# 299 "parser_cocci_menhir.mly" +# 301 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 20921 "parser_cocci_menhir.ml" +# 21523 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20974,7 +21576,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let m = m0 in let l = l0 in -# 450 "parser_cocci_menhir.mly" +# 455 "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 @@ -20984,13 +21586,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 20988 "parser_cocci_menhir.ml" +# 21590 "parser_cocci_menhir.ml" in -# 299 "parser_cocci_menhir.mly" +# 301 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 20994 "parser_cocci_menhir.ml" +# 21596 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21040,18 +21642,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let ty = ty0 in -# 460 "parser_cocci_menhir.mly" +# 465 "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) ) -# 21049 "parser_cocci_menhir.ml" +# 21651 "parser_cocci_menhir.ml" in -# 299 "parser_cocci_menhir.mly" +# 301 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 21055 "parser_cocci_menhir.ml" +# 21657 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21097,21 +21699,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 21101 "parser_cocci_menhir.ml" +# 21703 "parser_cocci_menhir.ml" in -# 465 "parser_cocci_menhir.mly" +# 470 "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) ) -# 21109 "parser_cocci_menhir.ml" +# 21711 "parser_cocci_menhir.ml" in -# 299 "parser_cocci_menhir.mly" +# 301 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 21115 "parser_cocci_menhir.ml" +# 21717 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21165,21 +21767,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 21169 "parser_cocci_menhir.ml" +# 21771 "parser_cocci_menhir.ml" in -# 465 "parser_cocci_menhir.mly" +# 470 "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) ) -# 21177 "parser_cocci_menhir.ml" +# 21779 "parser_cocci_menhir.ml" in -# 299 "parser_cocci_menhir.mly" +# 301 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 21183 "parser_cocci_menhir.ml" +# 21785 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21222,17 +21824,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 482 "parser_cocci_menhir.mly" +# 487 "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) ) -# 21230 "parser_cocci_menhir.ml" +# 21832 "parser_cocci_menhir.ml" in -# 304 "parser_cocci_menhir.mly" +# 306 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 21236 "parser_cocci_menhir.ml" +# 21838 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21278,7 +21880,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let vl = vl0 in -# 486 "parser_cocci_menhir.mly" +# 491 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let ty = Some vl in (match constraints with @@ -21303,13 +21905,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in !Data.add_exp_meta ty name constraints pure; tok) ) -# 21307 "parser_cocci_menhir.ml" +# 21909 "parser_cocci_menhir.ml" in -# 304 "parser_cocci_menhir.mly" +# 306 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 21313 "parser_cocci_menhir.ml" +# 21915 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21351,7 +21953,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__5_ in let _v : 'tv_metadec = -# 310 "parser_cocci_menhir.mly" +# 312 "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 = @@ -21359,7 +21961,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 ) -# 21363 "parser_cocci_menhir.ml" +# 21965 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21419,13 +22021,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__9_ in let _v : 'tv_metadec = -# 320 "parser_cocci_menhir.mly" +# 322 "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 ) -# 21429 "parser_cocci_menhir.ml" +# 22031 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21485,13 +22087,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__9_ in let _v : 'tv_metadec = -# 328 "parser_cocci_menhir.mly" +# 330 "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 ) -# 21495 "parser_cocci_menhir.ml" +# 22097 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21519,9 +22121,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_ctype_ctype_ = -# 2016 "parser_cocci_menhir.mly" +# 2096 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 21525 "parser_cocci_menhir.ml" +# 22127 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21549,9 +22151,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_eexpr_eexpr_ = -# 2016 "parser_cocci_menhir.mly" +# 2096 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 21555 "parser_cocci_menhir.ml" +# 22157 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21579,9 +22181,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_expr_eexpr_ = -# 2016 "parser_cocci_menhir.mly" +# 2096 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 21585 "parser_cocci_menhir.ml" +# 22187 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21609,9 +22211,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = -# 2016 "parser_cocci_menhir.mly" +# 2096 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 21615 "parser_cocci_menhir.ml" +# 22217 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21639,9 +22241,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_fun_start_fun_start_ = -# 2016 "parser_cocci_menhir.mly" +# 2096 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 21645 "parser_cocci_menhir.ml" +# 22247 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21669,9 +22271,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = -# 2016 "parser_cocci_menhir.mly" +# 2096 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 21675 "parser_cocci_menhir.ml" +# 22277 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21699,9 +22301,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_statement_statement_ = -# 2016 "parser_cocci_menhir.mly" +# 2096 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 21705 "parser_cocci_menhir.ml" +# 22307 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21729,11 +22331,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_minus_body = -# 708 "parser_cocci_menhir.mly" +# 713 "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 ) -# 21737 "parser_cocci_menhir.ml" +# 22339 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21761,11 +22363,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_minus_exp_body = -# 722 "parser_cocci_menhir.mly" +# 727 "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 ) -# 21769 "parser_cocci_menhir.ml" +# 22371 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21793,11 +22395,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 143 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 21797 "parser_cocci_menhir.ml" +# 22399 "parser_cocci_menhir.ml" ) = # 183 "parser_cocci_menhir.mly" ( _1 ) -# 21801 "parser_cocci_menhir.ml" +# 22403 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21825,11 +22427,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 143 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 21829 "parser_cocci_menhir.ml" +# 22431 "parser_cocci_menhir.ml" ) = # 183 "parser_cocci_menhir.mly" ( m ) -# 21833 "parser_cocci_menhir.ml" +# 22435 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21857,11 +22459,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 143 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 21861 "parser_cocci_menhir.ml" +# 22463 "parser_cocci_menhir.ml" ) = # 184 "parser_cocci_menhir.mly" ( m ) -# 21865 "parser_cocci_menhir.ml" +# 22467 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21889,11 +22491,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 140 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 21893 "parser_cocci_menhir.ml" +# 22495 "parser_cocci_menhir.ml" ) = # 179 "parser_cocci_menhir.mly" ( _1 ) -# 21897 "parser_cocci_menhir.ml" +# 22499 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21921,11 +22523,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 140 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 21925 "parser_cocci_menhir.ml" +# 22527 "parser_cocci_menhir.ml" ) = # 179 "parser_cocci_menhir.mly" ( m ) -# 21929 "parser_cocci_menhir.ml" +# 22531 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21953,11 +22555,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 140 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 21957 "parser_cocci_menhir.ml" +# 22559 "parser_cocci_menhir.ml" ) = # 180 "parser_cocci_menhir.mly" ( m ) -# 21961 "parser_cocci_menhir.ml" +# 22563 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21979,9 +22581,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1841 "parser_cocci_menhir.mly" +# 1921 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.DECL(_1))] ) -# 21985 "parser_cocci_menhir.ml" +# 22587 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22003,9 +22605,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1842 "parser_cocci_menhir.mly" +# 1922 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) -# 22009 "parser_cocci_menhir.ml" +# 22611 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22027,9 +22629,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1843 "parser_cocci_menhir.mly" +# 1923 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) -# 22033 "parser_cocci_menhir.ml" +# 22635 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22051,9 +22653,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1845 "parser_cocci_menhir.mly" +# 1925 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 ) -# 22057 "parser_cocci_menhir.ml" +# 22659 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22080,14 +22682,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 22084 "parser_cocci_menhir.ml" +# 22686 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_ctype_ = -# 2019 "parser_cocci_menhir.mly" +# 2099 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 22091 "parser_cocci_menhir.ml" +# 22693 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22114,14 +22716,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 22118 "parser_cocci_menhir.ml" +# 22720 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_eexpr_ = -# 2019 "parser_cocci_menhir.mly" +# 2099 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 22125 "parser_cocci_menhir.ml" +# 22727 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22148,14 +22750,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 22152 "parser_cocci_menhir.ml" +# 22754 "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_ = -# 2019 "parser_cocci_menhir.mly" +# 2099 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 22159 "parser_cocci_menhir.ml" +# 22761 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22182,14 +22784,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 22186 "parser_cocci_menhir.ml" +# 22788 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_fun_start_ = -# 2019 "parser_cocci_menhir.mly" +# 2099 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 22193 "parser_cocci_menhir.ml" +# 22795 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22216,14 +22818,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 22220 "parser_cocci_menhir.ml" +# 22822 "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_ = -# 2019 "parser_cocci_menhir.mly" +# 2099 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 22227 "parser_cocci_menhir.ml" +# 22829 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22250,14 +22852,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 22254 "parser_cocci_menhir.ml" +# 22856 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_statement_ = -# 2019 "parser_cocci_menhir.mly" +# 2099 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 22261 "parser_cocci_menhir.ml" +# 22863 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22279,9 +22881,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_name_opt_decl = -# 915 "parser_cocci_menhir.mly" +# 934 "parser_cocci_menhir.mly" ( _1 ) -# 22285 "parser_cocci_menhir.ml" +# 22887 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22332,41 +22934,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp1 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 22336 "parser_cocci_menhir.ml" +# 22938 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 22342 "parser_cocci_menhir.ml" +# 22944 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let rp : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 22347 "parser_cocci_menhir.ml" +# 22949 "parser_cocci_menhir.ml" ) = Obj.magic rp in let s : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 22352 "parser_cocci_menhir.ml" +# 22954 "parser_cocci_menhir.ml" ) = Obj.magic s in let lp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 22357 "parser_cocci_menhir.ml" +# 22959 "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 = -# 918 "parser_cocci_menhir.mly" +# 937 "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)) ) -# 22370 "parser_cocci_menhir.ml" +# 22972 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22394,9 +22996,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 1961 "parser_cocci_menhir.mly" +# 2041 "parser_cocci_menhir.mly" (_1@_2) -# 22400 "parser_cocci_menhir.ml" +# 23002 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22422,9 +23024,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 1962 "parser_cocci_menhir.mly" +# 2042 "parser_cocci_menhir.mly" (_2) -# 22428 "parser_cocci_menhir.ml" +# 23030 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22452,9 +23054,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 1963 "parser_cocci_menhir.mly" +# 2043 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 22458 "parser_cocci_menhir.ml" +# 23060 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22469,9 +23071,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_nest_after_exp = -# 1971 "parser_cocci_menhir.mly" +# 2051 "parser_cocci_menhir.mly" ([]) -# 22475 "parser_cocci_menhir.ml" +# 23077 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22499,9 +23101,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_exp = -# 1972 "parser_cocci_menhir.mly" +# 2052 "parser_cocci_menhir.mly" (_1::_2) -# 22505 "parser_cocci_menhir.ml" +# 23107 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22516,9 +23118,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_nest_after_stm = -# 1966 "parser_cocci_menhir.mly" +# 2046 "parser_cocci_menhir.mly" ([]) -# 22522 "parser_cocci_menhir.ml" +# 23124 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22546,9 +23148,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_stm = -# 1967 "parser_cocci_menhir.mly" +# 2047 "parser_cocci_menhir.mly" (_1::_2) -# 22552 "parser_cocci_menhir.ml" +# 23154 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22576,9 +23178,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_stm = -# 1968 "parser_cocci_menhir.mly" +# 2048 "parser_cocci_menhir.mly" (_1@_2) -# 22582 "parser_cocci_menhir.ml" +# 23184 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22609,22 +23211,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 22613 "parser_cocci_menhir.ml" +# 23215 "parser_cocci_menhir.ml" ) = Obj.magic c in let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in let _1 : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 22619 "parser_cocci_menhir.ml" +# 23221 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_nest_expressions = -# 1286 "parser_cocci_menhir.mly" +# 1307 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1, Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), P.clt2mcode "...>" c, None, false)) ) -# 22628 "parser_cocci_menhir.ml" +# 23230 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22655,22 +23257,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 22659 "parser_cocci_menhir.ml" +# 23261 "parser_cocci_menhir.ml" ) = Obj.magic c in let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in let _1 : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 22665 "parser_cocci_menhir.ml" +# 23267 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_nest_expressions = -# 1290 "parser_cocci_menhir.mly" +# 1311 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1, Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), P.clt2mcode "...+>" c, None, true)) ) -# 22674 "parser_cocci_menhir.ml" +# 23276 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22692,9 +23294,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nest_start = -# 1958 "parser_cocci_menhir.mly" +# 2038 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 22698 "parser_cocci_menhir.ml" +# 23300 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22716,11 +23318,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 174 "parser_cocci_menhir.mly" (unit) -# 22720 "parser_cocci_menhir.ml" +# 23322 "parser_cocci_menhir.ml" ) = -# 2086 "parser_cocci_menhir.mly" +# 2166 "parser_cocci_menhir.mly" ( () ) -# 22724 "parser_cocci_menhir.ml" +# 23326 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22746,11 +23348,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 174 "parser_cocci_menhir.mly" (unit) -# 22750 "parser_cocci_menhir.ml" +# 23352 "parser_cocci_menhir.ml" ) = -# 2087 "parser_cocci_menhir.mly" +# 2167 "parser_cocci_menhir.mly" ( () ) -# 22754 "parser_cocci_menhir.ml" +# 23356 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22772,11 +23374,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 174 "parser_cocci_menhir.mly" (unit) -# 22776 "parser_cocci_menhir.ml" +# 23378 "parser_cocci_menhir.ml" ) = -# 2088 "parser_cocci_menhir.mly" +# 2168 "parser_cocci_menhir.mly" ( () ) -# 22780 "parser_cocci_menhir.ml" +# 23382 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22804,10 +23406,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_g_ in let _endpos = _endpos_dg_ in let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = -# 1456 "parser_cocci_menhir.mly" +# 1529 "parser_cocci_menhir.mly" ( function dot_builder -> g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) ) -# 22811 "parser_cocci_menhir.ml" +# 23413 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22828,14 +23430,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let x : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 22832 "parser_cocci_menhir.ml" +# 23434 "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 ] ) -# 22839 "parser_cocci_menhir.ml" +# 23441 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22862,14 +23464,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let x : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 22866 "parser_cocci_menhir.ml" +# 23468 "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 ) -# 22873 "parser_cocci_menhir.ml" +# 23475 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22891,9 +23493,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 1768 "parser_cocci_menhir.mly" +# 1848 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 22897 "parser_cocci_menhir.ml" +# 23499 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22919,16 +23521,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 22923 "parser_cocci_menhir.ml" +# 23525 "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_ = -# 1770 "parser_cocci_menhir.mly" +# 1850 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 22932 "parser_cocci_menhir.ml" +# 23534 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22960,17 +23562,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 22964 "parser_cocci_menhir.ml" +# 23566 "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_ = -# 1773 "parser_cocci_menhir.mly" +# 1853 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 22974 "parser_cocci_menhir.ml" +# 23576 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22996,9 +23598,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 1776 "parser_cocci_menhir.mly" +# 1856 "parser_cocci_menhir.mly" ( _2 ) -# 23002 "parser_cocci_menhir.ml" +# 23604 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23019,14 +23621,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 23023 "parser_cocci_menhir.ml" +# 23625 "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_ = -# 1777 "parser_cocci_menhir.mly" +# 1857 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) -# 23030 "parser_cocci_menhir.ml" +# 23632 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23052,20 +23654,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 23056 "parser_cocci_menhir.ml" +# 23658 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 23061 "parser_cocci_menhir.ml" +# 23663 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = -# 1779 "parser_cocci_menhir.mly" +# 1859 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 23069 "parser_cocci_menhir.ml" +# 23671 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23097,22 +23699,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 23101 "parser_cocci_menhir.ml" +# 23703 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 23106 "parser_cocci_menhir.ml" +# 23708 "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_ = -# 1782 "parser_cocci_menhir.mly" +# 1862 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (r build_dots build_comma) ) -# 23116 "parser_cocci_menhir.ml" +# 23718 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23134,9 +23736,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 1768 "parser_cocci_menhir.mly" +# 1848 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 23140 "parser_cocci_menhir.ml" +# 23742 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23162,16 +23764,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 23166 "parser_cocci_menhir.ml" +# 23768 "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_nonempty_list_start_dparam_TEllipsis_ = -# 1770 "parser_cocci_menhir.mly" +# 1850 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 23175 "parser_cocci_menhir.ml" +# 23777 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23203,17 +23805,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 23207 "parser_cocci_menhir.ml" +# 23809 "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_ = -# 1773 "parser_cocci_menhir.mly" +# 1853 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 23217 "parser_cocci_menhir.ml" +# 23819 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23239,9 +23841,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = -# 1776 "parser_cocci_menhir.mly" +# 1856 "parser_cocci_menhir.mly" ( _2 ) -# 23245 "parser_cocci_menhir.ml" +# 23847 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23262,14 +23864,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 23266 "parser_cocci_menhir.ml" +# 23868 "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_ = -# 1777 "parser_cocci_menhir.mly" +# 1857 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) -# 23273 "parser_cocci_menhir.ml" +# 23875 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23295,20 +23897,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 23299 "parser_cocci_menhir.ml" +# 23901 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 23304 "parser_cocci_menhir.ml" +# 23906 "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_ = -# 1779 "parser_cocci_menhir.mly" +# 1859 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 23312 "parser_cocci_menhir.ml" +# 23914 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23340,22 +23942,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 23344 "parser_cocci_menhir.ml" +# 23946 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 23349 "parser_cocci_menhir.ml" +# 23951 "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_ = -# 1782 "parser_cocci_menhir.mly" +# 1862 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (r build_dots build_comma) ) -# 23359 "parser_cocci_menhir.ml" +# 23961 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23377,9 +23979,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = -# 1768 "parser_cocci_menhir.mly" +# 1848 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 23383 "parser_cocci_menhir.ml" +# 23985 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23405,16 +24007,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 23409 "parser_cocci_menhir.ml" +# 24011 "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__ = -# 1770 "parser_cocci_menhir.mly" +# 1850 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 23418 "parser_cocci_menhir.ml" +# 24020 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23446,17 +24048,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 23450 "parser_cocci_menhir.ml" +# 24052 "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__ = -# 1773 "parser_cocci_menhir.mly" +# 1853 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 23460 "parser_cocci_menhir.ml" +# 24062 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23482,9 +24084,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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__ = -# 1776 "parser_cocci_menhir.mly" +# 1856 "parser_cocci_menhir.mly" ( _2 ) -# 23488 "parser_cocci_menhir.ml" +# 24090 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23506,9 +24108,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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__ = -# 1777 "parser_cocci_menhir.mly" +# 1857 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) -# 23512 "parser_cocci_menhir.ml" +# 24114 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23534,16 +24136,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 23538 "parser_cocci_menhir.ml" +# 24140 "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__ = -# 1779 "parser_cocci_menhir.mly" +# 1859 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 23547 "parser_cocci_menhir.ml" +# 24149 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23575,18 +24177,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 23579 "parser_cocci_menhir.ml" +# 24181 "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__ = -# 1782 "parser_cocci_menhir.mly" +# 1862 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (r build_dots build_comma) ) -# 23590 "parser_cocci_menhir.ml" +# 24192 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23608,9 +24210,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1768 "parser_cocci_menhir.mly" +# 1848 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 23614 "parser_cocci_menhir.ml" +# 24216 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23636,16 +24238,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 23640 "parser_cocci_menhir.ml" +# 24242 "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_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1770 "parser_cocci_menhir.mly" +# 1850 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 23649 "parser_cocci_menhir.ml" +# 24251 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23677,17 +24279,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 23681 "parser_cocci_menhir.ml" +# 24283 "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_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1773 "parser_cocci_menhir.mly" +# 1853 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 23691 "parser_cocci_menhir.ml" +# 24293 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23713,9 +24315,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1776 "parser_cocci_menhir.mly" +# 1856 "parser_cocci_menhir.mly" ( _2 ) -# 23719 "parser_cocci_menhir.ml" +# 24321 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23737,9 +24339,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1777 "parser_cocci_menhir.mly" +# 1857 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) -# 23743 "parser_cocci_menhir.ml" +# 24345 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23765,16 +24367,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 23769 "parser_cocci_menhir.ml" +# 24371 "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_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = -# 1779 "parser_cocci_menhir.mly" +# 1859 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 23778 "parser_cocci_menhir.ml" +# 24380 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23806,18 +24408,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 23810 "parser_cocci_menhir.ml" +# 24412 "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__ = -# 1782 "parser_cocci_menhir.mly" +# 1862 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (r build_dots build_comma) ) -# 23821 "parser_cocci_menhir.ml" +# 24423 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23839,9 +24441,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 1768 "parser_cocci_menhir.mly" +# 1848 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 23845 "parser_cocci_menhir.ml" +# 24447 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23867,16 +24469,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 23871 "parser_cocci_menhir.ml" +# 24473 "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_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 1770 "parser_cocci_menhir.mly" +# 1850 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 23880 "parser_cocci_menhir.ml" +# 24482 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23908,17 +24510,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 23912 "parser_cocci_menhir.ml" +# 24514 "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_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 1773 "parser_cocci_menhir.mly" +# 1853 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 23922 "parser_cocci_menhir.ml" +# 24524 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23944,9 +24546,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = -# 1776 "parser_cocci_menhir.mly" +# 1856 "parser_cocci_menhir.mly" ( _2 ) -# 23950 "parser_cocci_menhir.ml" +# 24552 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23967,14 +24569,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 23971 "parser_cocci_menhir.ml" +# 24573 "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_ = -# 1777 "parser_cocci_menhir.mly" +# 1857 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) -# 23978 "parser_cocci_menhir.ml" +# 24580 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24000,20 +24602,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 24004 "parser_cocci_menhir.ml" +# 24606 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 24009 "parser_cocci_menhir.ml" +# 24611 "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_ = -# 1779 "parser_cocci_menhir.mly" +# 1859 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 24017 "parser_cocci_menhir.ml" +# 24619 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24045,22 +24647,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 24049 "parser_cocci_menhir.ml" +# 24651 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 24054 "parser_cocci_menhir.ml" +# 24656 "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_ = -# 1782 "parser_cocci_menhir.mly" +# 1862 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (r build_dots build_comma) ) -# 24064 "parser_cocci_menhir.ml" +# 24666 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24082,9 +24684,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 1768 "parser_cocci_menhir.mly" +# 1848 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [_1] ) -# 24088 "parser_cocci_menhir.ml" +# 24690 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24110,16 +24712,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 24114 "parser_cocci_menhir.ml" +# 24716 "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_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 1770 "parser_cocci_menhir.mly" +# 1850 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 24123 "parser_cocci_menhir.ml" +# 24725 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24151,17 +24753,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 24155 "parser_cocci_menhir.ml" +# 24757 "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_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 1773 "parser_cocci_menhir.mly" +# 1853 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (_3 build_dots build_comma) ) -# 24165 "parser_cocci_menhir.ml" +# 24767 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24187,9 +24789,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = -# 1776 "parser_cocci_menhir.mly" +# 1856 "parser_cocci_menhir.mly" ( _2 ) -# 24193 "parser_cocci_menhir.ml" +# 24795 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24210,14 +24812,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 24214 "parser_cocci_menhir.ml" +# 24816 "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_ = -# 1777 "parser_cocci_menhir.mly" +# 1857 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d)] ) -# 24221 "parser_cocci_menhir.ml" +# 24823 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24243,20 +24845,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 24247 "parser_cocci_menhir.ml" +# 24849 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 24252 "parser_cocci_menhir.ml" +# 24854 "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_ = -# 1779 "parser_cocci_menhir.mly" +# 1859 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) -# 24260 "parser_cocci_menhir.ml" +# 24862 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24288,22 +24890,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 24292 "parser_cocci_menhir.ml" +# 24894 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let d : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 24297 "parser_cocci_menhir.ml" +# 24899 "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_ = -# 1782 "parser_cocci_menhir.mly" +# 1862 "parser_cocci_menhir.mly" ( fun build_dots build_comma -> (build_dots "..." d):: (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: (r build_dots build_comma) ) -# 24307 "parser_cocci_menhir.ml" +# 24909 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24329,13 +24931,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_ceq = -# 1629 "parser_cocci_menhir.mly" +# 1709 "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] ) -# 24339 "parser_cocci_menhir.ml" +# 24941 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24369,13 +24971,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_ceq = -# 1635 "parser_cocci_menhir.mly" +# 1715 "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 ) -# 24379 "parser_cocci_menhir.ml" +# 24981 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24397,9 +24999,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ceq_ in let _endpos = _endpos_ceq_ in let _v : 'tv_not_ceq_or_sub = -# 1605 "parser_cocci_menhir.mly" +# 1685 "parser_cocci_menhir.mly" (Ast0.NotExpCstrt ceq) -# 24403 "parser_cocci_menhir.ml" +# 25005 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24421,9 +25023,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_not_ceq_or_sub = -# 1606 "parser_cocci_menhir.mly" +# 1686 "parser_cocci_menhir.mly" (Ast0.SubExpCstrt s) -# 24427 "parser_cocci_menhir.ml" +# 25029 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24449,14 +25051,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_eqe = -# 1610 "parser_cocci_menhir.mly" +# 1690 "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))))] ) -# 24460 "parser_cocci_menhir.ml" +# 25062 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24490,7 +25092,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_eqe = -# 1617 "parser_cocci_menhir.mly" +# 1697 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -24500,7 +25102,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))) l ) -# 24504 "parser_cocci_menhir.ml" +# 25106 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24526,7 +25128,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_eqid = -# 1567 "parser_cocci_menhir.mly" +# 1647 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -24540,7 +25142,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in Ast.IdNegIdSet([],[i]) | (None,i) -> Ast.IdNegIdSet([i],[])) ) -# 24544 "parser_cocci_menhir.ml" +# 25146 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24574,7 +25176,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_eqid = -# 1581 "parser_cocci_menhir.mly" +# 1661 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -24592,7 +25194,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct ([],[]) l in Ast.IdNegIdSet(str,meta) ) -# 24596 "parser_cocci_menhir.ml" +# 25198 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24618,7 +25220,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_pos = -# 1673 "parser_cocci_menhir.mly" +# 1753 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -24627,7 +25229,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.check_inherited_constraint i (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in [i] ) -# 24631 "parser_cocci_menhir.ml" +# 25233 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24661,7 +25263,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_pos = -# 1682 "parser_cocci_menhir.mly" +# 1762 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -24671,7 +25273,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.check_inherited_constraint i (function mv -> Ast.MetaPosDecl(Ast.NONE,mv))) l ) -# 24675 "parser_cocci_menhir.ml" +# 25277 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24693,9 +25295,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 1743 "parser_cocci_menhir.mly" +# 1823 "parser_cocci_menhir.mly" ( _1 ) -# 24699 "parser_cocci_menhir.ml" +# 25301 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24716,12 +25318,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 24720 "parser_cocci_menhir.ml" +# 25322 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 1745 "parser_cocci_menhir.mly" +# 1825 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -24730,7 +25332,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt) | Ast.CstLen n -> Ast0.CstListLen n in Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) ) -# 24734 "parser_cocci_menhir.ml" +# 25336 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24752,9 +25354,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_name_opt_decl_ = -# 1743 "parser_cocci_menhir.mly" +# 1823 "parser_cocci_menhir.mly" ( _1 ) -# 24758 "parser_cocci_menhir.ml" +# 25360 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24775,12 +25377,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 24779 "parser_cocci_menhir.ml" +# 25381 "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_ = -# 1745 "parser_cocci_menhir.mly" +# 1825 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -24789,7 +25391,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt) | Ast.CstLen n -> Ast0.CstListLen n in Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) ) -# 24793 "parser_cocci_menhir.ml" +# 25395 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24815,15 +25417,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 24819 "parser_cocci_menhir.ml" +# 25421 "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 = -# 1094 "parser_cocci_menhir.mly" +# 1113 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) ) -# 24827 "parser_cocci_menhir.ml" +# 25429 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24844,14 +25446,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 69 "parser_cocci_menhir.mly" (Parse_aux.info) -# 24848 "parser_cocci_menhir.ml" +# 25450 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_decl_var = -# 1095 "parser_cocci_menhir.mly" +# 1114 "parser_cocci_menhir.mly" ( P.meta_decl _1 ) -# 24855 "parser_cocci_menhir.ml" +# 25457 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24882,7 +25484,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 24886 "parser_cocci_menhir.ml" +# 25488 "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 @@ -24892,14 +25494,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 24896 "parser_cocci_menhir.ml" +# 25498 "parser_cocci_menhir.ml" in -# 1097 "parser_cocci_menhir.mly" +# 1116 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 24903 "parser_cocci_menhir.ml" +# 25505 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24935,7 +25537,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 24939 "parser_cocci_menhir.ml" +# 25541 "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 @@ -24947,14 +25549,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 24951 "parser_cocci_menhir.ml" +# 25553 "parser_cocci_menhir.ml" in -# 1097 "parser_cocci_menhir.mly" +# 1116 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 24958 "parser_cocci_menhir.ml" +# 25560 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24976,9 +25578,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_one_decl_var = -# 1099 "parser_cocci_menhir.mly" +# 1118 "parser_cocci_menhir.mly" ( f ) -# 24982 "parser_cocci_menhir.ml" +# 25584 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25019,13 +25621,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25023 "parser_cocci_menhir.ml" +# 25625 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25029 "parser_cocci_menhir.ml" +# 25631 "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 @@ -25035,14 +25637,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 25039 "parser_cocci_menhir.ml" +# 25641 "parser_cocci_menhir.ml" in -# 1101 "parser_cocci_menhir.mly" +# 1120 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) -# 25046 "parser_cocci_menhir.ml" +# 25648 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25088,13 +25690,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25092 "parser_cocci_menhir.ml" +# 25694 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25098 "parser_cocci_menhir.ml" +# 25700 "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 @@ -25106,14 +25708,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 25110 "parser_cocci_menhir.ml" +# 25712 "parser_cocci_menhir.ml" in -# 1101 "parser_cocci_menhir.mly" +# 1120 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) -# 25117 "parser_cocci_menhir.ml" +# 25719 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25144,7 +25746,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25148 "parser_cocci_menhir.ml" +# 25750 "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 @@ -25154,22 +25756,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 25158 "parser_cocci_menhir.ml" +# 25760 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 25165 "parser_cocci_menhir.ml" +# 25767 "parser_cocci_menhir.ml" in -# 1106 "parser_cocci_menhir.mly" +# 1125 "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)) ) -# 25173 "parser_cocci_menhir.ml" +# 25775 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25205,7 +25807,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25209 "parser_cocci_menhir.ml" +# 25811 "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 @@ -25217,22 +25819,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 25221 "parser_cocci_menhir.ml" +# 25823 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 25228 "parser_cocci_menhir.ml" +# 25830 "parser_cocci_menhir.ml" in -# 1106 "parser_cocci_menhir.mly" +# 1125 "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)) ) -# 25236 "parser_cocci_menhir.ml" +# 25838 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25268,7 +25870,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25272 "parser_cocci_menhir.ml" +# 25874 "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 @@ -25279,7 +25881,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 25283 "parser_cocci_menhir.ml" +# 25885 "parser_cocci_menhir.ml" in let s = @@ -25287,15 +25889,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 25291 "parser_cocci_menhir.ml" +# 25893 "parser_cocci_menhir.ml" in -# 1106 "parser_cocci_menhir.mly" +# 1125 "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)) ) -# 25299 "parser_cocci_menhir.ml" +# 25901 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25336,7 +25938,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25340 "parser_cocci_menhir.ml" +# 25942 "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 @@ -25349,7 +25951,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 25353 "parser_cocci_menhir.ml" +# 25955 "parser_cocci_menhir.ml" in let s = @@ -25357,15 +25959,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 25361 "parser_cocci_menhir.ml" +# 25963 "parser_cocci_menhir.ml" in -# 1106 "parser_cocci_menhir.mly" +# 1125 "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)) ) -# 25369 "parser_cocci_menhir.ml" +# 25971 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25406,13 +26008,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25410 "parser_cocci_menhir.ml" +# 26012 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25416 "parser_cocci_menhir.ml" +# 26018 "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 @@ -25422,24 +26024,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 25426 "parser_cocci_menhir.ml" +# 26028 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 25433 "parser_cocci_menhir.ml" +# 26035 "parser_cocci_menhir.ml" in -# 1111 "parser_cocci_menhir.mly" +# 1130 "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)) ) -# 25443 "parser_cocci_menhir.ml" +# 26045 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25485,13 +26087,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25489 "parser_cocci_menhir.ml" +# 26091 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25495 "parser_cocci_menhir.ml" +# 26097 "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 @@ -25503,24 +26105,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 25507 "parser_cocci_menhir.ml" +# 26109 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 25514 "parser_cocci_menhir.ml" +# 26116 "parser_cocci_menhir.ml" in -# 1111 "parser_cocci_menhir.mly" +# 1130 "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)) ) -# 25524 "parser_cocci_menhir.ml" +# 26126 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25566,13 +26168,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25570 "parser_cocci_menhir.ml" +# 26172 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25576 "parser_cocci_menhir.ml" +# 26178 "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 @@ -25583,7 +26185,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 25587 "parser_cocci_menhir.ml" +# 26189 "parser_cocci_menhir.ml" in let s = @@ -25591,17 +26193,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 25595 "parser_cocci_menhir.ml" +# 26197 "parser_cocci_menhir.ml" in -# 1111 "parser_cocci_menhir.mly" +# 1130 "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)) ) -# 25605 "parser_cocci_menhir.ml" +# 26207 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25652,13 +26254,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25656 "parser_cocci_menhir.ml" +# 26258 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25662 "parser_cocci_menhir.ml" +# 26264 "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 @@ -25671,7 +26273,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 25675 "parser_cocci_menhir.ml" +# 26277 "parser_cocci_menhir.ml" in let s = @@ -25679,17 +26281,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 25683 "parser_cocci_menhir.ml" +# 26285 "parser_cocci_menhir.ml" in -# 1111 "parser_cocci_menhir.mly" +# 1130 "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)) ) -# 25693 "parser_cocci_menhir.ml" +# 26295 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25750,34 +26352,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25754 "parser_cocci_menhir.ml" +# 26356 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 25759 "parser_cocci_menhir.ml" +# 26361 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 25765 "parser_cocci_menhir.ml" +# 26367 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 25770 "parser_cocci_menhir.ml" +# 26372 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 25776 "parser_cocci_menhir.ml" +# 26378 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 25781 "parser_cocci_menhir.ml" +# 26383 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -25786,11 +26388,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 25790 "parser_cocci_menhir.ml" +# 26392 "parser_cocci_menhir.ml" in -# 1121 "parser_cocci_menhir.mly" +# 1140 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -25798,7 +26400,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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)) ) -# 25802 "parser_cocci_menhir.ml" +# 26404 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25864,34 +26466,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25868 "parser_cocci_menhir.ml" +# 26470 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 25873 "parser_cocci_menhir.ml" +# 26475 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 25879 "parser_cocci_menhir.ml" +# 26481 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 25884 "parser_cocci_menhir.ml" +# 26486 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 25890 "parser_cocci_menhir.ml" +# 26492 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 25895 "parser_cocci_menhir.ml" +# 26497 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -25902,11 +26504,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 25906 "parser_cocci_menhir.ml" +# 26508 "parser_cocci_menhir.ml" in -# 1121 "parser_cocci_menhir.mly" +# 1140 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -25914,7 +26516,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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)) ) -# 25918 "parser_cocci_menhir.ml" +# 26520 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25955,27 +26557,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _5 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 25959 "parser_cocci_menhir.ml" +# 26561 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 25964 "parser_cocci_menhir.ml" +# 26566 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 25970 "parser_cocci_menhir.ml" +# 26572 "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 = -# 1129 "parser_cocci_menhir.mly" +# 1148 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, P.clt2mcode ")" _4,P.clt2mcode ";" _5)) ) -# 25979 "parser_cocci_menhir.ml" +# 26581 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26046,40 +26648,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 26050 "parser_cocci_menhir.ml" +# 26652 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 26056 "parser_cocci_menhir.ml" +# 26658 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 26061 "parser_cocci_menhir.ml" +# 26663 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 26067 "parser_cocci_menhir.ml" +# 26669 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 26072 "parser_cocci_menhir.ml" +# 26674 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 26078 "parser_cocci_menhir.ml" +# 26680 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 26083 "parser_cocci_menhir.ml" +# 26685 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -26088,11 +26690,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 26092 "parser_cocci_menhir.ml" +# 26694 "parser_cocci_menhir.ml" in -# 1135 "parser_cocci_menhir.mly" +# 1154 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -26100,7 +26702,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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))) -# 26104 "parser_cocci_menhir.ml" +# 26706 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26176,40 +26778,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 26180 "parser_cocci_menhir.ml" +# 26782 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 26186 "parser_cocci_menhir.ml" +# 26788 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 26191 "parser_cocci_menhir.ml" +# 26793 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 26197 "parser_cocci_menhir.ml" +# 26799 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 26202 "parser_cocci_menhir.ml" +# 26804 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 26208 "parser_cocci_menhir.ml" +# 26810 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 26213 "parser_cocci_menhir.ml" +# 26815 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -26220,11 +26822,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 26224 "parser_cocci_menhir.ml" +# 26826 "parser_cocci_menhir.ml" in -# 1135 "parser_cocci_menhir.mly" +# 1154 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -26232,7 +26834,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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))) -# 26236 "parser_cocci_menhir.ml" +# 26838 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26249,7 +26851,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TLocal_ = # 29 "standard.mly" ( None ) -# 26253 "parser_cocci_menhir.ml" +# 26855 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26273,7 +26875,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TLocal_ = # 31 "standard.mly" ( Some x ) -# 26277 "parser_cocci_menhir.ml" +# 26879 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26290,7 +26892,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TPosAny_ = # 29 "standard.mly" ( None ) -# 26294 "parser_cocci_menhir.ml" +# 26896 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26314,7 +26916,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TPosAny_ = # 31 "standard.mly" ( Some x ) -# 26318 "parser_cocci_menhir.ml" +# 26920 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26331,7 +26933,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_eexpr_ = # 29 "standard.mly" ( None ) -# 26335 "parser_cocci_menhir.ml" +# 26937 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26355,7 +26957,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_eexpr_ = # 31 "standard.mly" ( Some x ) -# 26359 "parser_cocci_menhir.ml" +# 26961 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26372,7 +26974,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_not_ceq_or_sub_ = # 29 "standard.mly" ( None ) -# 26376 "parser_cocci_menhir.ml" +# 26978 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26396,7 +26998,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_not_ceq_or_sub_ = # 31 "standard.mly" ( Some x ) -# 26400 "parser_cocci_menhir.ml" +# 27002 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26413,7 +27015,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqe_or_sub_ = # 29 "standard.mly" ( None ) -# 26417 "parser_cocci_menhir.ml" +# 27019 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26437,7 +27039,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqe_or_sub_ = # 31 "standard.mly" ( Some x ) -# 26441 "parser_cocci_menhir.ml" +# 27043 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26454,7 +27056,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqid_ = # 29 "standard.mly" ( None ) -# 26458 "parser_cocci_menhir.ml" +# 27060 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26478,7 +27080,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqid_ = # 31 "standard.mly" ( Some x ) -# 26482 "parser_cocci_menhir.ml" +# 27084 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26493,9 +27095,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_dots = -# 1908 "parser_cocci_menhir.mly" +# 1988 "parser_cocci_menhir.mly" ([]) -# 26499 "parser_cocci_menhir.ml" +# 27101 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26521,9 +27123,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1909 "parser_cocci_menhir.mly" +# 1989 "parser_cocci_menhir.mly" (_2) -# 26527 "parser_cocci_menhir.ml" +# 27129 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26551,9 +27153,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1911 "parser_cocci_menhir.mly" +# 1991 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) -# 26557 "parser_cocci_menhir.ml" +# 27159 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26581,9 +27183,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1912 "parser_cocci_menhir.mly" +# 1992 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 26587 "parser_cocci_menhir.ml" +# 27189 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26611,9 +27213,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1914 "parser_cocci_menhir.mly" +# 1994 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 26617 "parser_cocci_menhir.ml" +# 27219 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26628,9 +27230,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_exp = -# 1904 "parser_cocci_menhir.mly" +# 1984 "parser_cocci_menhir.mly" ([]) -# 26634 "parser_cocci_menhir.ml" +# 27236 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26658,9 +27260,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_exp = -# 1905 "parser_cocci_menhir.mly" +# 1985 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 26664 "parser_cocci_menhir.ml" +# 27266 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26675,9 +27277,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_stm = -# 1917 "parser_cocci_menhir.mly" +# 1997 "parser_cocci_menhir.mly" ([]) -# 26681 "parser_cocci_menhir.ml" +# 27283 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26705,9 +27307,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1918 "parser_cocci_menhir.mly" +# 1998 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 26711 "parser_cocci_menhir.ml" +# 27313 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26735,9 +27337,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1919 "parser_cocci_menhir.mly" +# 1999 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 26741 "parser_cocci_menhir.ml" +# 27343 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26765,9 +27367,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1921 "parser_cocci_menhir.mly" +# 2001 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 26771 "parser_cocci_menhir.ml" +# 27373 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26795,9 +27397,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_body = -# 716 "parser_cocci_menhir.mly" +# 721 "parser_cocci_menhir.mly" ( Top_level.top_level (f@b(*@ew*)) ) -# 26801 "parser_cocci_menhir.ml" +# 27403 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26825,9 +27427,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_exp_body = -# 730 "parser_cocci_menhir.mly" +# 735 "parser_cocci_menhir.mly" ( Top_level.top_level (f@[b](*@ew*)) ) -# 26831 "parser_cocci_menhir.ml" +# 27433 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26855,11 +27457,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 149 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 26859 "parser_cocci_menhir.ml" +# 27461 "parser_cocci_menhir.ml" ) = # 185 "parser_cocci_menhir.mly" ( _1 ) -# 26863 "parser_cocci_menhir.ml" +# 27465 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26887,11 +27489,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 149 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 26891 "parser_cocci_menhir.ml" +# 27493 "parser_cocci_menhir.ml" ) = # 185 "parser_cocci_menhir.mly" ( p ) -# 26895 "parser_cocci_menhir.ml" +# 27497 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26919,11 +27521,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 149 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 26923 "parser_cocci_menhir.ml" +# 27525 "parser_cocci_menhir.ml" ) = # 186 "parser_cocci_menhir.mly" ( p ) -# 26927 "parser_cocci_menhir.ml" +# 27529 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26951,11 +27553,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 146 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 26955 "parser_cocci_menhir.ml" +# 27557 "parser_cocci_menhir.ml" ) = # 181 "parser_cocci_menhir.mly" ( _1 ) -# 26959 "parser_cocci_menhir.ml" +# 27561 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26983,11 +27585,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 146 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 26987 "parser_cocci_menhir.ml" +# 27589 "parser_cocci_menhir.ml" ) = # 181 "parser_cocci_menhir.mly" ( p ) -# 26991 "parser_cocci_menhir.ml" +# 27593 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27015,11 +27617,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 146 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 27019 "parser_cocci_menhir.ml" +# 27621 "parser_cocci_menhir.ml" ) = # 182 "parser_cocci_menhir.mly" ( p ) -# 27023 "parser_cocci_menhir.ml" +# 27625 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27041,9 +27643,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_plus_start = -# 1893 "parser_cocci_menhir.mly" +# 1973 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) -# 27047 "parser_cocci_menhir.ml" +# 27649 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27065,9 +27667,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_plus_start = -# 1894 "parser_cocci_menhir.mly" +# 1974 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) -# 27071 "parser_cocci_menhir.ml" +# 27673 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27095,9 +27697,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1896 "parser_cocci_menhir.mly" +# 1976 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 27101 "parser_cocci_menhir.ml" +# 27703 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27125,9 +27727,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1898 "parser_cocci_menhir.mly" +# 1978 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) -# 27131 "parser_cocci_menhir.ml" +# 27733 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27155,9 +27757,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1899 "parser_cocci_menhir.mly" +# 1979 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 27161 "parser_cocci_menhir.ml" +# 27763 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27185,9 +27787,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1901 "parser_cocci_menhir.mly" +# 1981 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 27191 "parser_cocci_menhir.ml" +# 27793 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27208,14 +27810,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 49 "parser_cocci_menhir.mly" (string) -# 27212 "parser_cocci_menhir.ml" +# 27814 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pnrule = # 236 "parser_cocci_menhir.mly" ( Ast.Dep _1 ) -# 27219 "parser_cocci_menhir.ml" +# 27821 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27240,14 +27842,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 49 "parser_cocci_menhir.mly" (string) -# 27244 "parser_cocci_menhir.ml" +# 27846 "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" ( Ast.AntiDep _2 ) -# 27251 "parser_cocci_menhir.ml" +# 27853 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27272,14 +27874,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 49 "parser_cocci_menhir.mly" (string) -# 27276 "parser_cocci_menhir.ml" +# 27878 "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" ( Ast.EverDep _2 ) -# 27283 "parser_cocci_menhir.ml" +# 27885 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27304,14 +27906,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 49 "parser_cocci_menhir.mly" (string) -# 27308 "parser_cocci_menhir.ml" +# 27910 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = # 239 "parser_cocci_menhir.mly" ( Ast.NeverDep _2 ) -# 27315 "parser_cocci_menhir.ml" +# 27917 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27343,7 +27945,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_pnrule = # 240 "parser_cocci_menhir.mly" ( _2 ) -# 27347 "parser_cocci_menhir.ml" +# 27949 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27365,9 +27967,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1389 "parser_cocci_menhir.mly" +# 1462 "parser_cocci_menhir.mly" ( _1 ) -# 27371 "parser_cocci_menhir.ml" +# 27973 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27403,22 +28005,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 106 "parser_cocci_menhir.mly" (Data.clt) -# 27407 "parser_cocci_menhir.ml" +# 28009 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 106 "parser_cocci_menhir.mly" (Data.clt) -# 27413 "parser_cocci_menhir.ml" +# 28015 "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_ = -# 1391 "parser_cocci_menhir.mly" +# 1464 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 27422 "parser_cocci_menhir.ml" +# 28024 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27450,15 +28052,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 27454 "parser_cocci_menhir.ml" +# 28056 "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_ = -# 1394 "parser_cocci_menhir.mly" +# 1467 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 27462 "parser_cocci_menhir.ml" +# 28064 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27490,16 +28092,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 108 "parser_cocci_menhir.mly" (Data.clt) -# 27494 "parser_cocci_menhir.ml" +# 28096 "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_ = -# 1396 "parser_cocci_menhir.mly" +# 1469 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 27503 "parser_cocci_menhir.ml" +# 28105 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27525,15 +28127,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 27529 "parser_cocci_menhir.ml" +# 28131 "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_ = -# 1399 "parser_cocci_menhir.mly" +# 1472 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 27537 "parser_cocci_menhir.ml" +# 28139 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27559,15 +28161,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 27563 "parser_cocci_menhir.ml" +# 28165 "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_ = -# 1401 "parser_cocci_menhir.mly" +# 1474 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 27571 "parser_cocci_menhir.ml" +# 28173 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27603,23 +28205,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 27607 "parser_cocci_menhir.ml" +# 28209 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 27613 "parser_cocci_menhir.ml" +# 28215 "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_ = -# 1403 "parser_cocci_menhir.mly" +# 1476 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 27623 "parser_cocci_menhir.ml" +# 28225 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27641,9 +28243,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1389 "parser_cocci_menhir.mly" +# 1462 "parser_cocci_menhir.mly" ( _1 ) -# 27647 "parser_cocci_menhir.ml" +# 28249 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27679,22 +28281,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 106 "parser_cocci_menhir.mly" (Data.clt) -# 27683 "parser_cocci_menhir.ml" +# 28285 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 106 "parser_cocci_menhir.mly" (Data.clt) -# 27689 "parser_cocci_menhir.ml" +# 28291 "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_ = -# 1391 "parser_cocci_menhir.mly" +# 1464 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 27698 "parser_cocci_menhir.ml" +# 28300 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27726,15 +28328,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 27730 "parser_cocci_menhir.ml" +# 28332 "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_ = -# 1394 "parser_cocci_menhir.mly" +# 1467 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 27738 "parser_cocci_menhir.ml" +# 28340 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27766,16 +28368,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 108 "parser_cocci_menhir.mly" (Data.clt) -# 27770 "parser_cocci_menhir.ml" +# 28372 "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_ = -# 1396 "parser_cocci_menhir.mly" +# 1469 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 27779 "parser_cocci_menhir.ml" +# 28381 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27801,15 +28403,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 27805 "parser_cocci_menhir.ml" +# 28407 "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_ = -# 1399 "parser_cocci_menhir.mly" +# 1472 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 27813 "parser_cocci_menhir.ml" +# 28415 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27835,15 +28437,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 27839 "parser_cocci_menhir.ml" +# 28441 "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_ = -# 1401 "parser_cocci_menhir.mly" +# 1474 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 27847 "parser_cocci_menhir.ml" +# 28449 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27879,23 +28481,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 27883 "parser_cocci_menhir.ml" +# 28485 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 27889 "parser_cocci_menhir.ml" +# 28491 "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_ = -# 1403 "parser_cocci_menhir.mly" +# 1476 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 27899 "parser_cocci_menhir.ml" +# 28501 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27917,9 +28519,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1389 "parser_cocci_menhir.mly" +# 1462 "parser_cocci_menhir.mly" ( _1 ) -# 27923 "parser_cocci_menhir.ml" +# 28525 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27955,22 +28557,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 106 "parser_cocci_menhir.mly" (Data.clt) -# 27959 "parser_cocci_menhir.ml" +# 28561 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 106 "parser_cocci_menhir.mly" (Data.clt) -# 27965 "parser_cocci_menhir.ml" +# 28567 "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_ = -# 1391 "parser_cocci_menhir.mly" +# 1464 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 27974 "parser_cocci_menhir.ml" +# 28576 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28002,15 +28604,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 28006 "parser_cocci_menhir.ml" +# 28608 "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_ = -# 1394 "parser_cocci_menhir.mly" +# 1467 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 28014 "parser_cocci_menhir.ml" +# 28616 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28042,16 +28644,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 108 "parser_cocci_menhir.mly" (Data.clt) -# 28046 "parser_cocci_menhir.ml" +# 28648 "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_ = -# 1396 "parser_cocci_menhir.mly" +# 1469 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 28055 "parser_cocci_menhir.ml" +# 28657 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28077,15 +28679,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 28081 "parser_cocci_menhir.ml" +# 28683 "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_ = -# 1399 "parser_cocci_menhir.mly" +# 1472 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 28089 "parser_cocci_menhir.ml" +# 28691 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28111,15 +28713,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 28115 "parser_cocci_menhir.ml" +# 28717 "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_ = -# 1401 "parser_cocci_menhir.mly" +# 1474 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 28123 "parser_cocci_menhir.ml" +# 28725 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28155,23 +28757,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 28159 "parser_cocci_menhir.ml" +# 28761 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 28165 "parser_cocci_menhir.ml" +# 28767 "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_ = -# 1403 "parser_cocci_menhir.mly" +# 1476 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 28175 "parser_cocci_menhir.ml" +# 28777 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28193,9 +28795,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1389 "parser_cocci_menhir.mly" +# 1462 "parser_cocci_menhir.mly" ( _1 ) -# 28199 "parser_cocci_menhir.ml" +# 28801 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28231,22 +28833,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 106 "parser_cocci_menhir.mly" (Data.clt) -# 28235 "parser_cocci_menhir.ml" +# 28837 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 106 "parser_cocci_menhir.mly" (Data.clt) -# 28241 "parser_cocci_menhir.ml" +# 28843 "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_ = -# 1391 "parser_cocci_menhir.mly" +# 1464 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 28250 "parser_cocci_menhir.ml" +# 28852 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28278,15 +28880,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 28282 "parser_cocci_menhir.ml" +# 28884 "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_ = -# 1394 "parser_cocci_menhir.mly" +# 1467 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 28290 "parser_cocci_menhir.ml" +# 28892 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28318,16 +28920,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 108 "parser_cocci_menhir.mly" (Data.clt) -# 28322 "parser_cocci_menhir.ml" +# 28924 "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_ = -# 1396 "parser_cocci_menhir.mly" +# 1469 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 28331 "parser_cocci_menhir.ml" +# 28933 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28353,15 +28955,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 28357 "parser_cocci_menhir.ml" +# 28959 "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_ = -# 1399 "parser_cocci_menhir.mly" +# 1472 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 28365 "parser_cocci_menhir.ml" +# 28967 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28387,15 +28989,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 28391 "parser_cocci_menhir.ml" +# 28993 "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_ = -# 1401 "parser_cocci_menhir.mly" +# 1474 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 28399 "parser_cocci_menhir.ml" +# 29001 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28431,23 +29033,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 28435 "parser_cocci_menhir.ml" +# 29037 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 28441 "parser_cocci_menhir.ml" +# 29043 "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_ = -# 1403 "parser_cocci_menhir.mly" +# 1476 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 28451 "parser_cocci_menhir.ml" +# 29053 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28469,9 +29071,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1408 "parser_cocci_menhir.mly" +# 1481 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 28475 "parser_cocci_menhir.ml" +# 29077 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28492,15 +29094,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 28496 "parser_cocci_menhir.ml" +# 29098 "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_ = -# 1410 "parser_cocci_menhir.mly" +# 1483 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 28504 "parser_cocci_menhir.ml" +# 29106 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28521,15 +29123,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 28525 "parser_cocci_menhir.ml" +# 29127 "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_ = -# 1413 "parser_cocci_menhir.mly" +# 1486 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 28533 "parser_cocci_menhir.ml" +# 29135 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28550,15 +29152,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 28554 "parser_cocci_menhir.ml" +# 29156 "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_ = -# 1416 "parser_cocci_menhir.mly" +# 1489 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 28562 "parser_cocci_menhir.ml" +# 29164 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28579,15 +29181,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 28583 "parser_cocci_menhir.ml" +# 29185 "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" +# 1492 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 28591 "parser_cocci_menhir.ml" +# 29193 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28608,16 +29210,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 28612 "parser_cocci_menhir.ml" +# 29214 "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_ = -# 1422 "parser_cocci_menhir.mly" +# 1495 "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)) ) -# 28621 "parser_cocci_menhir.ml" +# 29223 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28638,15 +29240,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 28642 "parser_cocci_menhir.ml" +# 29244 "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_ = -# 1426 "parser_cocci_menhir.mly" +# 1499 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 28650 "parser_cocci_menhir.ml" +# 29252 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28667,16 +29269,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 28671 "parser_cocci_menhir.ml" +# 29273 "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_ = -# 1429 "parser_cocci_menhir.mly" +# 1502 "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)) ) -# 28680 "parser_cocci_menhir.ml" +# 29282 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28697,16 +29299,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 28701 "parser_cocci_menhir.ml" +# 29303 "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_ = -# 1433 "parser_cocci_menhir.mly" +# 1506 "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)) ) -# 28710 "parser_cocci_menhir.ml" +# 29312 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28727,16 +29329,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 28731 "parser_cocci_menhir.ml" +# 29333 "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_ = -# 1437 "parser_cocci_menhir.mly" +# 1510 "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)) ) -# 28740 "parser_cocci_menhir.ml" +# 29342 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28767,21 +29369,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 28771 "parser_cocci_menhir.ml" +# 29373 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 28777 "parser_cocci_menhir.ml" +# 29379 "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_ = -# 1441 "parser_cocci_menhir.mly" +# 1514 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 28785 "parser_cocci_menhir.ml" +# 29387 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28812,23 +29414,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 28816 "parser_cocci_menhir.ml" +# 29418 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 28822 "parser_cocci_menhir.ml" +# 29424 "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_ = -# 1444 "parser_cocci_menhir.mly" +# 1517 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 28832 "parser_cocci_menhir.ml" +# 29434 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28850,9 +29452,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1448 "parser_cocci_menhir.mly" +# 1521 "parser_cocci_menhir.mly" ( _1 ) -# 28856 "parser_cocci_menhir.ml" +# 29458 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28874,9 +29476,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1408 "parser_cocci_menhir.mly" +# 1481 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 28880 "parser_cocci_menhir.ml" +# 29482 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28897,15 +29499,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 28901 "parser_cocci_menhir.ml" +# 29503 "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_ = -# 1410 "parser_cocci_menhir.mly" +# 1483 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 28909 "parser_cocci_menhir.ml" +# 29511 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28926,15 +29528,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 28930 "parser_cocci_menhir.ml" +# 29532 "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_ = -# 1413 "parser_cocci_menhir.mly" +# 1486 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 28938 "parser_cocci_menhir.ml" +# 29540 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28955,15 +29557,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 28959 "parser_cocci_menhir.ml" +# 29561 "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_ = -# 1416 "parser_cocci_menhir.mly" +# 1489 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 28967 "parser_cocci_menhir.ml" +# 29569 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28984,15 +29586,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 28988 "parser_cocci_menhir.ml" +# 29590 "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" +# 1492 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 28996 "parser_cocci_menhir.ml" +# 29598 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29013,16 +29615,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 29017 "parser_cocci_menhir.ml" +# 29619 "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_ = -# 1422 "parser_cocci_menhir.mly" +# 1495 "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)) ) -# 29026 "parser_cocci_menhir.ml" +# 29628 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29043,15 +29645,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 29047 "parser_cocci_menhir.ml" +# 29649 "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_ = -# 1426 "parser_cocci_menhir.mly" +# 1499 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 29055 "parser_cocci_menhir.ml" +# 29657 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29072,16 +29674,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 29076 "parser_cocci_menhir.ml" +# 29678 "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_ = -# 1429 "parser_cocci_menhir.mly" +# 1502 "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)) ) -# 29085 "parser_cocci_menhir.ml" +# 29687 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29102,16 +29704,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 29106 "parser_cocci_menhir.ml" +# 29708 "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_ = -# 1433 "parser_cocci_menhir.mly" +# 1506 "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)) ) -# 29115 "parser_cocci_menhir.ml" +# 29717 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29132,16 +29734,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 29136 "parser_cocci_menhir.ml" +# 29738 "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_ = -# 1437 "parser_cocci_menhir.mly" +# 1510 "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)) ) -# 29145 "parser_cocci_menhir.ml" +# 29747 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29172,21 +29774,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 29176 "parser_cocci_menhir.ml" +# 29778 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 29182 "parser_cocci_menhir.ml" +# 29784 "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_ = -# 1441 "parser_cocci_menhir.mly" +# 1514 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 29190 "parser_cocci_menhir.ml" +# 29792 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29217,23 +29819,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 29221 "parser_cocci_menhir.ml" +# 29823 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 29227 "parser_cocci_menhir.ml" +# 29829 "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_ = -# 1444 "parser_cocci_menhir.mly" +# 1517 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 29237 "parser_cocci_menhir.ml" +# 29839 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29255,9 +29857,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1448 "parser_cocci_menhir.mly" +# 1521 "parser_cocci_menhir.mly" ( _1 ) -# 29261 "parser_cocci_menhir.ml" +# 29863 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29279,9 +29881,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1408 "parser_cocci_menhir.mly" +# 1481 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 29285 "parser_cocci_menhir.ml" +# 29887 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29302,15 +29904,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 29306 "parser_cocci_menhir.ml" +# 29908 "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_ = -# 1410 "parser_cocci_menhir.mly" +# 1483 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 29314 "parser_cocci_menhir.ml" +# 29916 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29331,15 +29933,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 29335 "parser_cocci_menhir.ml" +# 29937 "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_ = -# 1413 "parser_cocci_menhir.mly" +# 1486 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 29343 "parser_cocci_menhir.ml" +# 29945 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29360,15 +29962,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 29364 "parser_cocci_menhir.ml" +# 29966 "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_ = -# 1416 "parser_cocci_menhir.mly" +# 1489 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 29372 "parser_cocci_menhir.ml" +# 29974 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29389,15 +29991,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 29393 "parser_cocci_menhir.ml" +# 29995 "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" +# 1492 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 29401 "parser_cocci_menhir.ml" +# 30003 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29418,16 +30020,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 29422 "parser_cocci_menhir.ml" +# 30024 "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_ = -# 1422 "parser_cocci_menhir.mly" +# 1495 "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)) ) -# 29431 "parser_cocci_menhir.ml" +# 30033 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29448,15 +30050,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 29452 "parser_cocci_menhir.ml" +# 30054 "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_ = -# 1426 "parser_cocci_menhir.mly" +# 1499 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 29460 "parser_cocci_menhir.ml" +# 30062 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29477,16 +30079,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 29481 "parser_cocci_menhir.ml" +# 30083 "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_ = -# 1429 "parser_cocci_menhir.mly" +# 1502 "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)) ) -# 29490 "parser_cocci_menhir.ml" +# 30092 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29507,16 +30109,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 29511 "parser_cocci_menhir.ml" +# 30113 "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_ = -# 1433 "parser_cocci_menhir.mly" +# 1506 "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)) ) -# 29520 "parser_cocci_menhir.ml" +# 30122 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29537,16 +30139,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 29541 "parser_cocci_menhir.ml" +# 30143 "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_ = -# 1437 "parser_cocci_menhir.mly" +# 1510 "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)) ) -# 29550 "parser_cocci_menhir.ml" +# 30152 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29577,21 +30179,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 29581 "parser_cocci_menhir.ml" +# 30183 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 29587 "parser_cocci_menhir.ml" +# 30189 "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_ = -# 1441 "parser_cocci_menhir.mly" +# 1514 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 29595 "parser_cocci_menhir.ml" +# 30197 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29622,23 +30224,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 29626 "parser_cocci_menhir.ml" +# 30228 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 29632 "parser_cocci_menhir.ml" +# 30234 "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_ = -# 1444 "parser_cocci_menhir.mly" +# 1517 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 29642 "parser_cocci_menhir.ml" +# 30244 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29660,9 +30262,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1448 "parser_cocci_menhir.mly" +# 1521 "parser_cocci_menhir.mly" ( _1 ) -# 29666 "parser_cocci_menhir.ml" +# 30268 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29684,9 +30286,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1408 "parser_cocci_menhir.mly" +# 1481 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 29690 "parser_cocci_menhir.ml" +# 30292 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29707,15 +30309,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 29711 "parser_cocci_menhir.ml" +# 30313 "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_ = -# 1410 "parser_cocci_menhir.mly" +# 1483 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 29719 "parser_cocci_menhir.ml" +# 30321 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29736,15 +30338,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 29740 "parser_cocci_menhir.ml" +# 30342 "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_ = -# 1413 "parser_cocci_menhir.mly" +# 1486 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 29748 "parser_cocci_menhir.ml" +# 30350 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29765,15 +30367,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 29769 "parser_cocci_menhir.ml" +# 30371 "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_ = -# 1416 "parser_cocci_menhir.mly" +# 1489 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 29777 "parser_cocci_menhir.ml" +# 30379 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29794,15 +30396,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 29798 "parser_cocci_menhir.ml" +# 30400 "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" +# 1492 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 29806 "parser_cocci_menhir.ml" +# 30408 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29823,16 +30425,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 29827 "parser_cocci_menhir.ml" +# 30429 "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_ = -# 1422 "parser_cocci_menhir.mly" +# 1495 "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)) ) -# 29836 "parser_cocci_menhir.ml" +# 30438 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29853,15 +30455,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 29857 "parser_cocci_menhir.ml" +# 30459 "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_ = -# 1426 "parser_cocci_menhir.mly" +# 1499 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 29865 "parser_cocci_menhir.ml" +# 30467 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29882,16 +30484,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 29886 "parser_cocci_menhir.ml" +# 30488 "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_ = -# 1429 "parser_cocci_menhir.mly" +# 1502 "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)) ) -# 29895 "parser_cocci_menhir.ml" +# 30497 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29912,16 +30514,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 29916 "parser_cocci_menhir.ml" +# 30518 "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_ = -# 1433 "parser_cocci_menhir.mly" +# 1506 "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)) ) -# 29925 "parser_cocci_menhir.ml" +# 30527 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29942,16 +30544,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 71 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 29946 "parser_cocci_menhir.ml" +# 30548 "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_ = -# 1437 "parser_cocci_menhir.mly" +# 1510 "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)) ) -# 29955 "parser_cocci_menhir.ml" +# 30557 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29982,21 +30584,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 29986 "parser_cocci_menhir.ml" +# 30588 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 29992 "parser_cocci_menhir.ml" +# 30594 "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_ = -# 1441 "parser_cocci_menhir.mly" +# 1514 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 30000 "parser_cocci_menhir.ml" +# 30602 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30027,23 +30629,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 30031 "parser_cocci_menhir.ml" +# 30633 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in let _1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 30037 "parser_cocci_menhir.ml" +# 30639 "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_ = -# 1444 "parser_cocci_menhir.mly" +# 1517 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 30047 "parser_cocci_menhir.ml" +# 30649 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30065,9 +30667,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1448 "parser_cocci_menhir.mly" +# 1521 "parser_cocci_menhir.mly" ( _1 ) -# 30071 "parser_cocci_menhir.ml" +# 30673 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30089,7 +30691,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_pure = # 196 "parser_cocci_menhir.mly" ( Ast0.Pure ) -# 30093 "parser_cocci_menhir.ml" +# 30695 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30111,7 +30713,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_pure = # 197 "parser_cocci_menhir.mly" ( Ast0.Context ) -# 30115 "parser_cocci_menhir.ml" +# 30717 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30137,7 +30739,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_pure = # 198 "parser_cocci_menhir.mly" ( Ast0.PureContext ) -# 30141 "parser_cocci_menhir.ml" +# 30743 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30163,7 +30765,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_pure = # 199 "parser_cocci_menhir.mly" ( Ast0.PureContext ) -# 30167 "parser_cocci_menhir.ml" +# 30769 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30180,7 +30782,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_pure = # 200 "parser_cocci_menhir.mly" ( Ast0.Impure ) -# 30184 "parser_cocci_menhir.ml" +# 30786 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30201,14 +30803,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 30205 "parser_cocci_menhir.ml" +# 30807 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident = -# 1462 "parser_cocci_menhir.mly" +# 1535 "parser_cocci_menhir.mly" ( _1 ) -# 30212 "parser_cocci_menhir.ml" +# 30814 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30228,9 +30830,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1465 "parser_cocci_menhir.mly" +# 1538 "parser_cocci_menhir.mly" ( "identifier" ) -# 30234 "parser_cocci_menhir.ml" +# 30836 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30250,9 +30852,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1466 "parser_cocci_menhir.mly" +# 1539 "parser_cocci_menhir.mly" ( "expression" ) -# 30256 "parser_cocci_menhir.ml" +# 30858 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30272,9 +30874,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1467 "parser_cocci_menhir.mly" +# 1540 "parser_cocci_menhir.mly" ( "statement" ) -# 30278 "parser_cocci_menhir.ml" +# 30880 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30294,9 +30896,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1468 "parser_cocci_menhir.mly" +# 1541 "parser_cocci_menhir.mly" ( "function" ) -# 30300 "parser_cocci_menhir.ml" +# 30902 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30316,9 +30918,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1469 "parser_cocci_menhir.mly" +# 1542 "parser_cocci_menhir.mly" ( "local" ) -# 30322 "parser_cocci_menhir.ml" +# 30924 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30338,9 +30940,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1470 "parser_cocci_menhir.mly" +# 1543 "parser_cocci_menhir.mly" ( "type" ) -# 30344 "parser_cocci_menhir.ml" +# 30946 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30360,9 +30962,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1471 "parser_cocci_menhir.mly" +# 1544 "parser_cocci_menhir.mly" ( "parameter" ) -# 30366 "parser_cocci_menhir.ml" +# 30968 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30382,9 +30984,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1472 "parser_cocci_menhir.mly" +# 1545 "parser_cocci_menhir.mly" ( "idexpression" ) -# 30388 "parser_cocci_menhir.ml" +# 30990 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30404,9 +31006,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1473 "parser_cocci_menhir.mly" +# 1546 "parser_cocci_menhir.mly" ( "initialiser" ) -# 30410 "parser_cocci_menhir.ml" +# 31012 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30426,9 +31028,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1474 "parser_cocci_menhir.mly" +# 1547 "parser_cocci_menhir.mly" ( "list" ) -# 30432 "parser_cocci_menhir.ml" +# 31034 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30448,9 +31050,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1475 "parser_cocci_menhir.mly" +# 1548 "parser_cocci_menhir.mly" ( "fresh" ) -# 30454 "parser_cocci_menhir.ml" +# 31056 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30470,9 +31072,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1476 "parser_cocci_menhir.mly" +# 1549 "parser_cocci_menhir.mly" ( "constant" ) -# 30476 "parser_cocci_menhir.ml" +# 31078 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30492,9 +31094,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1477 "parser_cocci_menhir.mly" +# 1550 "parser_cocci_menhir.mly" ( "error" ) -# 30498 "parser_cocci_menhir.ml" +# 31100 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30514,9 +31116,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1478 "parser_cocci_menhir.mly" +# 1551 "parser_cocci_menhir.mly" ( "words" ) -# 30520 "parser_cocci_menhir.ml" +# 31122 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30536,9 +31138,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1479 "parser_cocci_menhir.mly" +# 1552 "parser_cocci_menhir.mly" ( "pure" ) -# 30542 "parser_cocci_menhir.ml" +# 31144 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30558,9 +31160,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1480 "parser_cocci_menhir.mly" +# 1553 "parser_cocci_menhir.mly" ( "context" ) -# 30564 "parser_cocci_menhir.ml" +# 31166 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30580,9 +31182,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1481 "parser_cocci_menhir.mly" +# 1554 "parser_cocci_menhir.mly" ( "generated" ) -# 30586 "parser_cocci_menhir.ml" +# 31188 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30602,9 +31204,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1482 "parser_cocci_menhir.mly" +# 1555 "parser_cocci_menhir.mly" ( "typedef" ) -# 30608 "parser_cocci_menhir.ml" +# 31210 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30624,9 +31226,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1483 "parser_cocci_menhir.mly" +# 1556 "parser_cocci_menhir.mly" ( "declarer" ) -# 30630 "parser_cocci_menhir.ml" +# 31232 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30646,9 +31248,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1484 "parser_cocci_menhir.mly" +# 1557 "parser_cocci_menhir.mly" ( "iterator" ) -# 30652 "parser_cocci_menhir.ml" +# 31254 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30668,9 +31270,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1485 "parser_cocci_menhir.mly" +# 1558 "parser_cocci_menhir.mly" ( "name" ) -# 30674 "parser_cocci_menhir.ml" +# 31276 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30690,9 +31292,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1486 "parser_cocci_menhir.mly" +# 1559 "parser_cocci_menhir.mly" ( "position" ) -# 30696 "parser_cocci_menhir.ml" +# 31298 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30714,9 +31316,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1493 "parser_cocci_menhir.mly" +# 1566 "parser_cocci_menhir.mly" ( (None,P.id2name _1) ) -# 30720 "parser_cocci_menhir.ml" +# 31322 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30738,9 +31340,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1494 "parser_cocci_menhir.mly" +# 1567 "parser_cocci_menhir.mly" ( (None,_1) ) -# 30744 "parser_cocci_menhir.ml" +# 31346 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30762,9 +31364,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1495 "parser_cocci_menhir.mly" +# 1568 "parser_cocci_menhir.mly" ( _1 ) -# 30768 "parser_cocci_menhir.ml" +# 31370 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30792,13 +31394,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_optc_ in let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = -# 1521 "parser_cocci_menhir.mly" +# 1594 "parser_cocci_menhir.mly" ( match optc with None -> (i, Ast0.NoConstraint) | Some c -> (i, c) ) -# 30802 "parser_cocci_menhir.ml" +# 31404 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30826,13 +31428,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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_ = -# 1521 "parser_cocci_menhir.mly" +# 1594 "parser_cocci_menhir.mly" ( match optc with None -> (i, Ast0.NoConstraint) | Some c -> (i, c) ) -# 30836 "parser_cocci_menhir.ml" +# 31438 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30860,13 +31462,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_c_ in let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = -# 1539 "parser_cocci_menhir.mly" +# 1619 "parser_cocci_menhir.mly" ( match c with None -> (i, Ast.IdNoConstraint) | Some constraint_ -> (i,constraint_) ) -# 30870 "parser_cocci_menhir.ml" +# 31472 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30894,14 +31496,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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_ = -# 1529 "parser_cocci_menhir.mly" +# 1602 "parser_cocci_menhir.mly" ( Common.Left (match c with None -> (i, Ast.IdNoConstraint) | Some constraint_ -> (i,constraint_)) ) -# 30905 "parser_cocci_menhir.ml" +# 31507 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30931,9 +31533,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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_ = -# 1535 "parser_cocci_menhir.mly" - ( Common.Right (P.id2name _3) ) -# 30937 "parser_cocci_menhir.ml" +# 1609 "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 + ) +# 31545 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30955,9 +31563,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident_with_seed = -# 1498 "parser_cocci_menhir.mly" +# 1571 "parser_cocci_menhir.mly" ( (_1,Ast.NoVal) ) -# 30961 "parser_cocci_menhir.ml" +# 31569 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30989,11 +31597,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_pure_ident_or_meta_ident_with_seed = -# 1501 "parser_cocci_menhir.mly" +# 1574 "parser_cocci_menhir.mly" ( match _3 with [Ast.SeedString s] -> (_1,Ast.StringSeed s) | _ -> (_1,Ast.ListSeed _3) ) -# 30997 "parser_cocci_menhir.ml" +# 31605 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31021,11 +31629,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_l_ in let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = -# 1515 "parser_cocci_menhir.mly" +# 1588 "parser_cocci_menhir.mly" ( (i, l) ) -# 31029 "parser_cocci_menhir.ml" +# 31637 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31047,9 +31655,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_re_ in let _endpos = _endpos_re_ in let _v : 'tv_re_or_not_eqe_or_sub = -# 1600 "parser_cocci_menhir.mly" +# 1680 "parser_cocci_menhir.mly" (Ast0.NotIdCstrt re) -# 31053 "parser_cocci_menhir.ml" +# 31661 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31071,9 +31679,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ne_ in let _endpos = _endpos_ne_ in let _v : 'tv_re_or_not_eqe_or_sub = -# 1601 "parser_cocci_menhir.mly" +# 1681 "parser_cocci_menhir.mly" (Ast0.NotExpCstrt ne) -# 31077 "parser_cocci_menhir.ml" +# 31685 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31095,9 +31703,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_re_or_not_eqe_or_sub = -# 1602 "parser_cocci_menhir.mly" +# 1682 "parser_cocci_menhir.mly" (Ast0.SubExpCstrt s) -# 31101 "parser_cocci_menhir.ml" +# 31709 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31119,9 +31727,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_re_ in let _endpos = _endpos_re_ in let _v : 'tv_re_or_not_eqid = -# 1546 "parser_cocci_menhir.mly" +# 1626 "parser_cocci_menhir.mly" (Ast.IdRegExpConstraint re) -# 31125 "parser_cocci_menhir.ml" +# 31733 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31143,9 +31751,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ne_ in let _endpos = _endpos_ne_ in let _v : 'tv_re_or_not_eqid = -# 1547 "parser_cocci_menhir.mly" +# 1627 "parser_cocci_menhir.mly" (ne) -# 31149 "parser_cocci_menhir.ml" +# 31757 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31170,19 +31778,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let re : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 31174 "parser_cocci_menhir.ml" +# 31782 "parser_cocci_menhir.ml" ) = Obj.magic re in let _startpos = _startpos__1_ in let _endpos = _endpos_re_ in let _v : 'tv_regexp_eqid = -# 1551 "parser_cocci_menhir.mly" +# 1631 "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) ) -# 31186 "parser_cocci_menhir.ml" +# 31794 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31207,19 +31815,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let re : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 31211 "parser_cocci_menhir.ml" +# 31819 "parser_cocci_menhir.ml" ) = Obj.magic re in let _startpos = _startpos__1_ in let _endpos = _endpos_re_ in let _v : 'tv_regexp_eqid = -# 1558 "parser_cocci_menhir.mly" +# 1638 "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) ) -# 31223 "parser_cocci_menhir.ml" +# 31831 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31236,11 +31844,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 137 "parser_cocci_menhir.mly" (unit) -# 31240 "parser_cocci_menhir.ml" +# 31848 "parser_cocci_menhir.ml" ) = # 178 "parser_cocci_menhir.mly" ( ) -# 31244 "parser_cocci_menhir.ml" +# 31852 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31262,9 +31870,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_rule_elem_statement = -# 990 "parser_cocci_menhir.mly" +# 1009 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) ) -# 31268 "parser_cocci_menhir.ml" +# 31876 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31290,15 +31898,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 31294 "parser_cocci_menhir.ml" +# 31902 "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 = -# 991 "parser_cocci_menhir.mly" +# 1010 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) -# 31302 "parser_cocci_menhir.ml" +# 31910 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31329,20 +31937,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 31333 "parser_cocci_menhir.ml" +# 31941 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 31339 "parser_cocci_menhir.ml" +# 31947 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 992 "parser_cocci_menhir.mly" +# 1011 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) -# 31346 "parser_cocci_menhir.ml" +# 31954 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31368,19 +31976,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 31372 "parser_cocci_menhir.ml" +# 31980 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 31377 "parser_cocci_menhir.ml" +# 31985 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 993 "parser_cocci_menhir.mly" +# 1012 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) -# 31384 "parser_cocci_menhir.ml" +# 31992 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31406,19 +32014,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 31410 "parser_cocci_menhir.ml" +# 32018 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 31415 "parser_cocci_menhir.ml" +# 32023 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 994 "parser_cocci_menhir.mly" +# 1013 "parser_cocci_menhir.mly" ( P.break _1 _2 ) -# 31422 "parser_cocci_menhir.ml" +# 32030 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31444,19 +32052,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 31448 "parser_cocci_menhir.ml" +# 32056 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 31453 "parser_cocci_menhir.ml" +# 32061 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 995 "parser_cocci_menhir.mly" +# 1014 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) -# 31460 "parser_cocci_menhir.ml" +# 32068 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31487,24 +32095,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 31491 "parser_cocci_menhir.ml" +# 32099 "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 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 31497 "parser_cocci_menhir.ml" +# 32105 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 997 "parser_cocci_menhir.mly" +# 1016 "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)) ) -# 31508 "parser_cocci_menhir.ml" +# 32116 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31560,18 +32168,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 159 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 31564 "parser_cocci_menhir.ml" +# 32172 "parser_cocci_menhir.ml" ) = let nm = # 39 "standard.mly" ( None ) -# 31569 "parser_cocci_menhir.ml" +# 32177 "parser_cocci_menhir.ml" in # 208 "parser_cocci_menhir.mly" ( P.make_cocci_rule_name_result nm d i a e ee ) -# 31575 "parser_cocci_menhir.ml" +# 32183 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31633,19 +32241,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 159 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 31637 "parser_cocci_menhir.ml" +# 32245 "parser_cocci_menhir.ml" ) = let nm = let x = x0 in # 41 "standard.mly" ( Some x ) -# 31643 "parser_cocci_menhir.ml" +# 32251 "parser_cocci_menhir.ml" in # 208 "parser_cocci_menhir.mly" ( P.make_cocci_rule_name_result nm d i a e ee ) -# 31649 "parser_cocci_menhir.ml" +# 32257 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31705,11 +32313,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 159 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 31709 "parser_cocci_menhir.ml" +# 32317 "parser_cocci_menhir.ml" ) = # 213 "parser_cocci_menhir.mly" ( P.make_generated_rule_name_result None d i a e ee ) -# 31713 "parser_cocci_menhir.ml" +# 32321 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31751,18 +32359,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 159 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 31755 "parser_cocci_menhir.ml" +# 32363 "parser_cocci_menhir.ml" ) = let nm = # 39 "standard.mly" ( None ) -# 31760 "parser_cocci_menhir.ml" +# 32368 "parser_cocci_menhir.ml" in # 215 "parser_cocci_menhir.mly" ( P.make_script_rule_name_result lang nm d ) -# 31766 "parser_cocci_menhir.ml" +# 32374 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31810,19 +32418,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 159 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 31814 "parser_cocci_menhir.ml" +# 32422 "parser_cocci_menhir.ml" ) = let nm = let x = x0 in # 41 "standard.mly" ( Some x ) -# 31820 "parser_cocci_menhir.ml" +# 32428 "parser_cocci_menhir.ml" in # 215 "parser_cocci_menhir.mly" ( P.make_script_rule_name_result lang nm d ) -# 31826 "parser_cocci_menhir.ml" +# 32434 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31864,11 +32472,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 159 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 31868 "parser_cocci_menhir.ml" +# 32476 "parser_cocci_menhir.ml" ) = # 217 "parser_cocci_menhir.mly" ( P.make_initial_script_rule_name_result lang d ) -# 31872 "parser_cocci_menhir.ml" +# 32480 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31910,11 +32518,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 159 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 31914 "parser_cocci_menhir.ml" +# 32522 "parser_cocci_menhir.ml" ) = # 219 "parser_cocci_menhir.mly" ( P.make_final_script_rule_name_result lang d ) -# 31918 "parser_cocci_menhir.ml" +# 32526 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31942,11 +32550,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 165 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) -# 31946 "parser_cocci_menhir.ml" +# 32554 "parser_cocci_menhir.ml" ) = -# 2092 "parser_cocci_menhir.mly" +# 2172 "parser_cocci_menhir.mly" ( ((Some (P.id2name py), None), None) ) -# 31950 "parser_cocci_menhir.ml" +# 32558 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31980,11 +32588,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 165 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) -# 31984 "parser_cocci_menhir.ml" +# 32592 "parser_cocci_menhir.ml" ) = -# 2094 "parser_cocci_menhir.mly" +# 2174 "parser_cocci_menhir.mly" ( ((Some (P.id2name py), None), Some _2) ) -# 31988 "parser_cocci_menhir.ml" +# 32596 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32034,11 +32642,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 165 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) -# 32038 "parser_cocci_menhir.ml" +# 32646 "parser_cocci_menhir.ml" ) = -# 2096 "parser_cocci_menhir.mly" +# 2176 "parser_cocci_menhir.mly" ( ((None, Some (P.id2name ast)), Some _6) ) -# 32042 "parser_cocci_menhir.ml" +# 32650 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32088,11 +32696,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 165 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) -# 32092 "parser_cocci_menhir.ml" +# 32700 "parser_cocci_menhir.ml" ) = -# 2098 "parser_cocci_menhir.mly" +# 2178 "parser_cocci_menhir.mly" ( ((Some (P.id2name str), None), Some _6) ) -# 32096 "parser_cocci_menhir.ml" +# 32704 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32144,11 +32752,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 165 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) -# 32148 "parser_cocci_menhir.ml" +# 32756 "parser_cocci_menhir.ml" ) = -# 2100 "parser_cocci_menhir.mly" +# 2180 "parser_cocci_menhir.mly" ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) ) -# 32152 "parser_cocci_menhir.ml" +# 32760 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32183,16 +32791,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 49 "parser_cocci_menhir.mly" (string) -# 32187 "parser_cocci_menhir.ml" +# 32795 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos_cocci_ in let _v : 'tv_script_name_decl = -# 2104 "parser_cocci_menhir.mly" +# 2184 "parser_cocci_menhir.mly" ( let nm = P.id2name cocci in let mv = Parse_aux.lookup _2 nm in ((_2, nm), mv) ) -# 32196 "parser_cocci_menhir.ml" +# 32804 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32226,12 +32834,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_cocci_ in let _v : 'tv_script_name_decl = -# 2108 "parser_cocci_menhir.mly" +# 2188 "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) ) -# 32235 "parser_cocci_menhir.ml" +# 32846 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32252,14 +32863,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 32256 "parser_cocci_menhir.ml" +# 32867 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1506 "parser_cocci_menhir.mly" +# 1579 "parser_cocci_menhir.mly" ( let (x,_) = _1 in Ast.SeedString x ) -# 32263 "parser_cocci_menhir.ml" +# 32874 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32280,14 +32891,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 65 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 32284 "parser_cocci_menhir.ml" +# 32895 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1507 "parser_cocci_menhir.mly" +# 1580 "parser_cocci_menhir.mly" ( let (x,_,_,_) = _1 in Ast.SeedId x ) -# 32291 "parser_cocci_menhir.ml" +# 32902 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32318,16 +32929,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 49 "parser_cocci_menhir.mly" (string) -# 32322 "parser_cocci_menhir.ml" +# 32933 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_seed_elem = -# 1509 "parser_cocci_menhir.mly" +# 1582 "parser_cocci_menhir.mly" ( let nm = (_1,P.id2name _3) in P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm)); Ast.SeedId nm ) -# 32331 "parser_cocci_menhir.ml" +# 32942 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32348,14 +32959,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let x : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 32352 "parser_cocci_menhir.ml" +# 32963 "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 ] ) -# 32359 "parser_cocci_menhir.ml" +# 32970 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32386,14 +32997,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let x : ( # 91 "parser_cocci_menhir.mly" (string * Data.clt) -# 32390 "parser_cocci_menhir.ml" +# 33001 "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 ) -# 32397 "parser_cocci_menhir.ml" +# 33008 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32417,7 +33028,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = # 144 "standard.mly" ( [ x ] ) -# 32421 "parser_cocci_menhir.ml" +# 33032 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32451,7 +33062,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = # 146 "standard.mly" ( x :: xs ) -# 32455 "parser_cocci_menhir.ml" +# 33066 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32475,7 +33086,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ctype_ = # 144 "standard.mly" ( [ x ] ) -# 32479 "parser_cocci_menhir.ml" +# 33090 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32509,7 +33120,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ctype_ = # 146 "standard.mly" ( x :: xs ) -# 32513 "parser_cocci_menhir.ml" +# 33124 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32533,7 +33144,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = # 144 "standard.mly" ( [ x ] ) -# 32537 "parser_cocci_menhir.ml" +# 33148 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32567,7 +33178,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = # 146 "standard.mly" ( x :: xs ) -# 32571 "parser_cocci_menhir.ml" +# 33182 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32591,7 +33202,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = # 144 "standard.mly" ( [ x ] ) -# 32595 "parser_cocci_menhir.ml" +# 33206 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32625,7 +33236,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = # 146 "standard.mly" ( x :: xs ) -# 32629 "parser_cocci_menhir.ml" +# 33240 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32649,7 +33260,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = # 144 "standard.mly" ( [ x ] ) -# 32653 "parser_cocci_menhir.ml" +# 33264 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32683,7 +33294,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = # 146 "standard.mly" ( x :: xs ) -# 32687 "parser_cocci_menhir.ml" +# 33298 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32707,7 +33318,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = # 144 "standard.mly" ( [ x ] ) -# 32711 "parser_cocci_menhir.ml" +# 33322 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32741,7 +33352,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = # 146 "standard.mly" ( x :: xs ) -# 32745 "parser_cocci_menhir.ml" +# 33356 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32765,7 +33376,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = # 144 "standard.mly" ( [ x ] ) -# 32769 "parser_cocci_menhir.ml" +# 33380 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32799,7 +33410,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = # 146 "standard.mly" ( x :: xs ) -# 32803 "parser_cocci_menhir.ml" +# 33414 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32823,7 +33434,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = # 144 "standard.mly" ( [ x ] ) -# 32827 "parser_cocci_menhir.ml" +# 33438 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32857,7 +33468,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = # 146 "standard.mly" ( x :: xs ) -# 32861 "parser_cocci_menhir.ml" +# 33472 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32881,7 +33492,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = # 144 "standard.mly" ( [ x ] ) -# 32885 "parser_cocci_menhir.ml" +# 33496 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32915,7 +33526,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 ) -# 32919 "parser_cocci_menhir.ml" +# 33530 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32939,7 +33550,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = # 144 "standard.mly" ( [ x ] ) -# 32943 "parser_cocci_menhir.ml" +# 33554 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32973,7 +33584,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = # 146 "standard.mly" ( x :: xs ) -# 32977 "parser_cocci_menhir.ml" +# 33588 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32997,7 +33608,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = # 144 "standard.mly" ( [ x ] ) -# 33001 "parser_cocci_menhir.ml" +# 33612 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33031,7 +33642,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = # 146 "standard.mly" ( x :: xs ) -# 33035 "parser_cocci_menhir.ml" +# 33646 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33055,7 +33666,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = # 144 "standard.mly" ( [ x ] ) -# 33059 "parser_cocci_menhir.ml" +# 33670 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33089,7 +33700,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = # 146 "standard.mly" ( x :: xs ) -# 33093 "parser_cocci_menhir.ml" +# 33704 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33113,7 +33724,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = # 144 "standard.mly" ( [ x ] ) -# 33117 "parser_cocci_menhir.ml" +# 33728 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33147,7 +33758,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = # 146 "standard.mly" ( x :: xs ) -# 33151 "parser_cocci_menhir.ml" +# 33762 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33171,7 +33782,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = # 144 "standard.mly" ( [ x ] ) -# 33175 "parser_cocci_menhir.ml" +# 33786 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33205,7 +33816,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = # 146 "standard.mly" ( x :: xs ) -# 33209 "parser_cocci_menhir.ml" +# 33820 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33229,7 +33840,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = # 144 "standard.mly" ( [ x ] ) -# 33233 "parser_cocci_menhir.ml" +# 33844 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33263,7 +33874,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = # 146 "standard.mly" ( x :: xs ) -# 33267 "parser_cocci_menhir.ml" +# 33878 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33285,9 +33896,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_single_statement = -# 1005 "parser_cocci_menhir.mly" +# 1024 "parser_cocci_menhir.mly" ( _1 ) -# 33291 "parser_cocci_menhir.ml" +# 33902 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33318,24 +33929,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 33322 "parser_cocci_menhir.ml" +# 33933 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in let _1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 33328 "parser_cocci_menhir.ml" +# 33939 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_single_statement = -# 1009 "parser_cocci_menhir.mly" +# 1028 "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)) ) -# 33339 "parser_cocci_menhir.ml" +# 33950 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33357,9 +33968,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 932 "parser_cocci_menhir.mly" +# 951 "parser_cocci_menhir.mly" ( _1 ) -# 33363 "parser_cocci_menhir.ml" +# 33974 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33380,14 +33991,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 33384 "parser_cocci_menhir.ml" +# 33995 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 934 "parser_cocci_menhir.mly" +# 953 "parser_cocci_menhir.mly" ( P.meta_stm _1 ) -# 33391 "parser_cocci_menhir.ml" +# 34002 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33413,15 +34024,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 33417 "parser_cocci_menhir.ml" +# 34028 "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 = -# 936 "parser_cocci_menhir.mly" +# 955 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) -# 33425 "parser_cocci_menhir.ml" +# 34036 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33463,25 +34074,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 33467 "parser_cocci_menhir.ml" +# 34078 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 33473 "parser_cocci_menhir.ml" +# 34084 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 33478 "parser_cocci_menhir.ml" +# 34089 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 938 "parser_cocci_menhir.mly" +# 957 "parser_cocci_menhir.mly" ( P.ifthen _1 _2 _3 _4 _5 ) -# 33485 "parser_cocci_menhir.ml" +# 34096 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33533,31 +34144,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _6 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 33537 "parser_cocci_menhir.ml" +# 34148 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 33543 "parser_cocci_menhir.ml" +# 34154 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 33549 "parser_cocci_menhir.ml" +# 34160 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 33554 "parser_cocci_menhir.ml" +# 34165 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 940 "parser_cocci_menhir.mly" +# 959 "parser_cocci_menhir.mly" ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 ) -# 33561 "parser_cocci_menhir.ml" +# 34172 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33619,37 +34230,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _8 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 33623 "parser_cocci_menhir.ml" +# 34234 "parser_cocci_menhir.ml" ) = Obj.magic _8 in let _7 : 'tv_option_eexpr_ = Obj.magic _7 in let _6 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 33629 "parser_cocci_menhir.ml" +# 34240 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_option_eexpr_ = Obj.magic _5 in let _4 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 33635 "parser_cocci_menhir.ml" +# 34246 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_option_eexpr_ = Obj.magic _3 in let _2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 33641 "parser_cocci_menhir.ml" +# 34252 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 33646 "parser_cocci_menhir.ml" +# 34257 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__9_ in let _v : 'tv_statement = -# 943 "parser_cocci_menhir.mly" +# 962 "parser_cocci_menhir.mly" ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 ) -# 33653 "parser_cocci_menhir.ml" +# 34264 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33691,25 +34302,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 33695 "parser_cocci_menhir.ml" +# 34306 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 33701 "parser_cocci_menhir.ml" +# 34312 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 33706 "parser_cocci_menhir.ml" +# 34317 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 945 "parser_cocci_menhir.mly" +# 964 "parser_cocci_menhir.mly" ( P.whileloop _1 _2 _3 _4 _5 ) -# 33713 "parser_cocci_menhir.ml" +# 34324 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33760,36 +34371,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _7 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 33764 "parser_cocci_menhir.ml" +# 34375 "parser_cocci_menhir.ml" ) = Obj.magic _7 in let _6 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 33769 "parser_cocci_menhir.ml" +# 34380 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_eexpr = Obj.magic _5 in let _4 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 33775 "parser_cocci_menhir.ml" +# 34386 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 33780 "parser_cocci_menhir.ml" +# 34391 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_single_statement = Obj.magic _2 in let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 33786 "parser_cocci_menhir.ml" +# 34397 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 947 "parser_cocci_menhir.mly" +# 966 "parser_cocci_menhir.mly" ( P.doloop _1 _2 _3 _4 _5 _6 _7 ) -# 33793 "parser_cocci_menhir.ml" +# 34404 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33831,21 +34442,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 33835 "parser_cocci_menhir.ml" +# 34446 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 33841 "parser_cocci_menhir.ml" +# 34452 "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 = -# 949 "parser_cocci_menhir.mly" +# 968 "parser_cocci_menhir.mly" ( P.iterator _1 _2 _3 _4 _5 ) -# 33849 "parser_cocci_menhir.ml" +# 34460 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33901,37 +34512,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _8 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 33905 "parser_cocci_menhir.ml" +# 34516 "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 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 33912 "parser_cocci_menhir.ml" +# 34523 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 33917 "parser_cocci_menhir.ml" +# 34528 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 33923 "parser_cocci_menhir.ml" +# 34534 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 33928 "parser_cocci_menhir.ml" +# 34539 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__8_ in let _v : 'tv_statement = -# 951 "parser_cocci_menhir.mly" +# 970 "parser_cocci_menhir.mly" ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 ) -# 33935 "parser_cocci_menhir.ml" +# 34546 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33962,20 +34573,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 33966 "parser_cocci_menhir.ml" +# 34577 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 33972 "parser_cocci_menhir.ml" +# 34583 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 952 "parser_cocci_menhir.mly" +# 971 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) -# 33979 "parser_cocci_menhir.ml" +# 34590 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34001,19 +34612,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 34005 "parser_cocci_menhir.ml" +# 34616 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 34010 "parser_cocci_menhir.ml" +# 34621 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 953 "parser_cocci_menhir.mly" +# 972 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) -# 34017 "parser_cocci_menhir.ml" +# 34628 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34039,19 +34650,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 34043 "parser_cocci_menhir.ml" +# 34654 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 34048 "parser_cocci_menhir.ml" +# 34659 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 954 "parser_cocci_menhir.mly" +# 973 "parser_cocci_menhir.mly" ( P.break _1 _2 ) -# 34055 "parser_cocci_menhir.ml" +# 34666 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34077,19 +34688,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 34081 "parser_cocci_menhir.ml" +# 34692 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 34086 "parser_cocci_menhir.ml" +# 34697 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 955 "parser_cocci_menhir.mly" +# 974 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) -# 34093 "parser_cocci_menhir.ml" +# 34704 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34115,15 +34726,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 34119 "parser_cocci_menhir.ml" +# 34730 "parser_cocci_menhir.ml" ) = 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_statement = -# 956 "parser_cocci_menhir.mly" +# 975 "parser_cocci_menhir.mly" ( P.label _1 _2 ) -# 34127 "parser_cocci_menhir.ml" +# 34738 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34154,20 +34765,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 34158 "parser_cocci_menhir.ml" +# 34769 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_ident = Obj.magic _2 in let _1 : ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 34164 "parser_cocci_menhir.ml" +# 34775 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 957 "parser_cocci_menhir.mly" +# 976 "parser_cocci_menhir.mly" ( P.goto _1 _2 _3 ) -# 34171 "parser_cocci_menhir.ml" +# 34782 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34198,20 +34809,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 34202 "parser_cocci_menhir.ml" +# 34813 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_fun_start = Obj.magic _2 in let _1 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 34208 "parser_cocci_menhir.ml" +# 34819 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 959 "parser_cocci_menhir.mly" +# 978 "parser_cocci_menhir.mly" ( P.seq _1 _2 _3 ) -# 34215 "parser_cocci_menhir.ml" +# 34826 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34238,14 +34849,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 34242 "parser_cocci_menhir.ml" +# 34853 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_w_ in let _v : 'tv_stm_dots = -# 963 "parser_cocci_menhir.mly" +# 982 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) ) -# 34249 "parser_cocci_menhir.ml" +# 34860 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34281,22 +34892,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 34285 "parser_cocci_menhir.ml" +# 34896 "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 : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 34292 "parser_cocci_menhir.ml" +# 34903 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 965 "parser_cocci_menhir.mly" +# 984 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 34300 "parser_cocci_menhir.ml" +# 34911 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34332,22 +34943,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 34336 "parser_cocci_menhir.ml" +# 34947 "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 : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 34343 "parser_cocci_menhir.ml" +# 34954 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 968 "parser_cocci_menhir.mly" +# 987 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 34351 "parser_cocci_menhir.ml" +# 34962 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34368,14 +34979,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 56 "parser_cocci_menhir.mly" (Data.clt) -# 34372 "parser_cocci_menhir.ml" +# 34983 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 894 "parser_cocci_menhir.mly" +# 913 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Static s ) -# 34379 "parser_cocci_menhir.ml" +# 34990 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34396,14 +35007,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 56 "parser_cocci_menhir.mly" (Data.clt) -# 34400 "parser_cocci_menhir.ml" +# 35011 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 895 "parser_cocci_menhir.mly" +# 914 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Auto s ) -# 34407 "parser_cocci_menhir.ml" +# 35018 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34424,14 +35035,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 56 "parser_cocci_menhir.mly" (Data.clt) -# 34428 "parser_cocci_menhir.ml" +# 35039 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 896 "parser_cocci_menhir.mly" +# 915 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Register s ) -# 34435 "parser_cocci_menhir.ml" +# 35046 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34452,14 +35063,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 56 "parser_cocci_menhir.mly" (Data.clt) -# 34456 "parser_cocci_menhir.ml" +# 35067 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 897 "parser_cocci_menhir.mly" +# 916 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Extern s ) -# 34463 "parser_cocci_menhir.ml" +# 35074 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34479,9 +35090,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl = -# 628 "parser_cocci_menhir.mly" +# 633 "parser_cocci_menhir.mly" ( [] ) -# 34485 "parser_cocci_menhir.ml" +# 35096 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34503,9 +35114,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl = -# 629 "parser_cocci_menhir.mly" +# 634 "parser_cocci_menhir.mly" ( [_1] ) -# 34509 "parser_cocci_menhir.ml" +# 35120 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34527,9 +35138,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_list = -# 651 "parser_cocci_menhir.mly" +# 656 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 34533 "parser_cocci_menhir.ml" +# 35144 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34551,9 +35162,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_list_start = -# 654 "parser_cocci_menhir.mly" +# 659 "parser_cocci_menhir.mly" ( _1 ) -# 34557 "parser_cocci_menhir.ml" +# 35168 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34581,9 +35192,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_struct_decl_list_start = -# 655 "parser_cocci_menhir.mly" +# 660 "parser_cocci_menhir.mly" ( _1@_2 ) -# 34587 "parser_cocci_menhir.ml" +# 35198 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34611,9 +35222,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_struct_decl_list_start = -# 657 "parser_cocci_menhir.mly" +# 662 "parser_cocci_menhir.mly" ( (P.mkddots_one "..." d)::r ) -# 34617 "parser_cocci_menhir.ml" +# 35228 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34634,14 +35245,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 69 "parser_cocci_menhir.mly" (Parse_aux.info) -# 34638 "parser_cocci_menhir.ml" +# 35249 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_one = -# 632 "parser_cocci_menhir.mly" +# 637 "parser_cocci_menhir.mly" ( P.meta_field _1 ) -# 34645 "parser_cocci_menhir.ml" +# 35256 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34672,17 +35283,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 34676 "parser_cocci_menhir.ml" +# 35287 "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_one = -# 634 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) ) -# 34686 "parser_cocci_menhir.ml" +# 35297 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34743,40 +35354,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 34747 "parser_cocci_menhir.ml" +# 35358 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 34752 "parser_cocci_menhir.ml" +# 35363 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 34758 "parser_cocci_menhir.ml" +# 35369 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 34763 "parser_cocci_menhir.ml" +# 35374 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 34769 "parser_cocci_menhir.ml" +# 35380 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 34774 "parser_cocci_menhir.ml" +# 35385 "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_one = -# 638 "parser_cocci_menhir.mly" +# 643 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -34784,7 +35395,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (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)) ) -# 34788 "parser_cocci_menhir.ml" +# 35399 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34815,7 +35426,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 34819 "parser_cocci_menhir.ml" +# 35430 "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 @@ -34825,15 +35436,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 34829 "parser_cocci_menhir.ml" +# 35440 "parser_cocci_menhir.ml" in -# 646 "parser_cocci_menhir.mly" +# 651 "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)) ) -# 34837 "parser_cocci_menhir.ml" +# 35448 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34869,7 +35480,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 111 "parser_cocci_menhir.mly" (Data.clt) -# 34873 "parser_cocci_menhir.ml" +# 35484 "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 @@ -34881,15 +35492,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34885 "parser_cocci_menhir.ml" +# 35496 "parser_cocci_menhir.ml" in -# 646 "parser_cocci_menhir.mly" +# 651 "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)) ) -# 34893 "parser_cocci_menhir.ml" +# 35504 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34910,14 +35521,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 34914 "parser_cocci_menhir.ml" +# 35525 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_struct_or_union = -# 624 "parser_cocci_menhir.mly" +# 629 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Struct s ) -# 34921 "parser_cocci_menhir.ml" +# 35532 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34938,14 +35549,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let u : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 34942 "parser_cocci_menhir.ml" +# 35553 "parser_cocci_menhir.ml" ) = Obj.magic u in let _startpos = _startpos_u_ in let _endpos = _endpos_u_ in let _v : 'tv_struct_or_union = -# 625 "parser_cocci_menhir.mly" +# 630 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Union u ) -# 34949 "parser_cocci_menhir.ml" +# 35560 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34971,7 +35582,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_sub = -# 1646 "parser_cocci_menhir.mly" +# 1726 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -34980,7 +35591,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.check_inherited_constraint i (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in [i] ) -# 34984 "parser_cocci_menhir.ml" +# 35595 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35014,7 +35625,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_sub = -# 1655 "parser_cocci_menhir.mly" +# 1735 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -35024,7 +35635,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.check_inherited_constraint i (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None))) l) -# 35028 "parser_cocci_menhir.ml" +# 35639 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35046,9 +35657,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_top_eexpr = -# 1274 "parser_cocci_menhir.mly" +# 1295 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) ) -# 35052 "parser_cocci_menhir.ml" +# 35663 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35079,25 +35690,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 35083 "parser_cocci_menhir.ml" +# 35694 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 35089 "parser_cocci_menhir.ml" +# 35700 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_top_init = -# 1881 "parser_cocci_menhir.mly" +# 1961 "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)) ) -# 35101 "parser_cocci_menhir.ml" +# 35712 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35112,9 +35723,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_dots = -# 1869 "parser_cocci_menhir.mly" +# 1949 "parser_cocci_menhir.mly" ([]) -# 35118 "parser_cocci_menhir.ml" +# 35729 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35140,9 +35751,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1870 "parser_cocci_menhir.mly" +# 1950 "parser_cocci_menhir.mly" (_2) -# 35146 "parser_cocci_menhir.ml" +# 35757 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35170,9 +35781,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1871 "parser_cocci_menhir.mly" +# 1951 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 35176 "parser_cocci_menhir.ml" +# 35787 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35200,9 +35811,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1872 "parser_cocci_menhir.mly" +# 1952 "parser_cocci_menhir.mly" (_1@_2) -# 35206 "parser_cocci_menhir.ml" +# 35817 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35228,9 +35839,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1860 "parser_cocci_menhir.mly" +# 1940 "parser_cocci_menhir.mly" (_2) -# 35234 "parser_cocci_menhir.ml" +# 35845 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35258,9 +35869,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1861 "parser_cocci_menhir.mly" +# 1941 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 35264 "parser_cocci_menhir.ml" +# 35875 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35288,9 +35899,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1862 "parser_cocci_menhir.mly" +# 1942 "parser_cocci_menhir.mly" (_1@_2) -# 35294 "parser_cocci_menhir.ml" +# 35905 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35305,9 +35916,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_exp = -# 1865 "parser_cocci_menhir.mly" +# 1945 "parser_cocci_menhir.mly" ([]) -# 35311 "parser_cocci_menhir.ml" +# 35922 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35335,9 +35946,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_exp = -# 1866 "parser_cocci_menhir.mly" +# 1946 "parser_cocci_menhir.mly" (_1::_2) -# 35341 "parser_cocci_menhir.ml" +# 35952 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35352,9 +35963,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_stm = -# 1875 "parser_cocci_menhir.mly" +# 1955 "parser_cocci_menhir.mly" ([]) -# 35358 "parser_cocci_menhir.ml" +# 35969 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35382,9 +35993,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_stm = -# 1876 "parser_cocci_menhir.mly" +# 1956 "parser_cocci_menhir.mly" (_1::_2) -# 35388 "parser_cocci_menhir.ml" +# 35999 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35412,9 +36023,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_stm = -# 1877 "parser_cocci_menhir.mly" +# 1957 "parser_cocci_menhir.mly" (_1@_2) -# 35418 "parser_cocci_menhir.ml" +# 36029 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35442,9 +36053,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 1855 "parser_cocci_menhir.mly" +# 1935 "parser_cocci_menhir.mly" ( _1::_2 ) -# 35448 "parser_cocci_menhir.ml" +# 36059 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35472,9 +36083,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 1856 "parser_cocci_menhir.mly" +# 1936 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) -# 35478 "parser_cocci_menhir.ml" +# 36089 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35502,9 +36113,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 1857 "parser_cocci_menhir.mly" +# 1937 "parser_cocci_menhir.mly" ( _1@_2 ) -# 35508 "parser_cocci_menhir.ml" +# 36119 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35537,7 +36148,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a0 : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 35541 "parser_cocci_menhir.ml" +# 36152 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -35545,15 +36156,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 973 "parser_cocci_menhir.mly" +# 992 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) ) -# 35551 "parser_cocci_menhir.ml" +# 36162 "parser_cocci_menhir.ml" in -# 1848 "parser_cocci_menhir.mly" +# 1928 "parser_cocci_menhir.mly" ( a::b ) -# 35557 "parser_cocci_menhir.ml" +# 36168 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35595,14 +36206,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c0 : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 35599 "parser_cocci_menhir.ml" +# 36210 "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 : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 35606 "parser_cocci_menhir.ml" +# 36217 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -35612,16 +36223,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 977 "parser_cocci_menhir.mly" +# 996 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 35619 "parser_cocci_menhir.ml" +# 36230 "parser_cocci_menhir.ml" in -# 1849 "parser_cocci_menhir.mly" +# 1929 "parser_cocci_menhir.mly" ( a::b ) -# 35625 "parser_cocci_menhir.ml" +# 36236 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35663,14 +36274,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c0 : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 35667 "parser_cocci_menhir.ml" +# 36278 "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 : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 35674 "parser_cocci_menhir.ml" +# 36285 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -35680,16 +36291,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 980 "parser_cocci_menhir.mly" +# 999 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 35687 "parser_cocci_menhir.ml" +# 36298 "parser_cocci_menhir.ml" in -# 1849 "parser_cocci_menhir.mly" +# 1929 "parser_cocci_menhir.mly" ( a::b ) -# 35693 "parser_cocci_menhir.ml" +# 36304 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35725,14 +36336,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c0 : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 35729 "parser_cocci_menhir.ml" +# 36340 "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 : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 35736 "parser_cocci_menhir.ml" +# 36347 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_c0_ in @@ -35742,16 +36353,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 977 "parser_cocci_menhir.mly" +# 996 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 35749 "parser_cocci_menhir.ml" +# 36360 "parser_cocci_menhir.ml" in -# 1850 "parser_cocci_menhir.mly" +# 1930 "parser_cocci_menhir.mly" ( [a] ) -# 35755 "parser_cocci_menhir.ml" +# 36366 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35787,14 +36398,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c0 : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 35791 "parser_cocci_menhir.ml" +# 36402 "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 : ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 35798 "parser_cocci_menhir.ml" +# 36409 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_c0_ in @@ -35804,16 +36415,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 980 "parser_cocci_menhir.mly" +# 999 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 35811 "parser_cocci_menhir.ml" +# 36422 "parser_cocci_menhir.ml" in -# 1850 "parser_cocci_menhir.mly" +# 1930 "parser_cocci_menhir.mly" ( [a] ) -# 35817 "parser_cocci_menhir.ml" +# 36428 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35841,9 +36452,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = -# 1851 "parser_cocci_menhir.mly" +# 1931 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) -# 35847 "parser_cocci_menhir.ml" +# 36458 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35871,9 +36482,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = -# 1852 "parser_cocci_menhir.mly" +# 1932 "parser_cocci_menhir.mly" ( _1@_2 ) -# 35877 "parser_cocci_menhir.ml" +# 36488 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35905,12 +36516,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35909 "parser_cocci_menhir.ml" +# 36520 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 35914 "parser_cocci_menhir.ml" +# 36525 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -35920,28 +36531,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 536 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 35926 "parser_cocci_menhir.ml" +# 36537 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 35932 "parser_cocci_menhir.ml" +# 36543 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 35939 "parser_cocci_menhir.ml" +# 36550 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35945 "parser_cocci_menhir.ml" +# 36556 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35973,12 +36584,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35977 "parser_cocci_menhir.ml" +# 36588 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 35982 "parser_cocci_menhir.ml" +# 36593 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -35988,28 +36599,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 538 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 35994 "parser_cocci_menhir.ml" +# 36605 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 36000 "parser_cocci_menhir.ml" +# 36611 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 36007 "parser_cocci_menhir.ml" +# 36618 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36013 "parser_cocci_menhir.ml" +# 36624 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36041,12 +36652,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36045 "parser_cocci_menhir.ml" +# 36656 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 36050 "parser_cocci_menhir.ml" +# 36661 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -36056,28 +36667,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 540 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 36062 "parser_cocci_menhir.ml" +# 36673 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 36068 "parser_cocci_menhir.ml" +# 36679 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 36075 "parser_cocci_menhir.ml" +# 36686 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36081 "parser_cocci_menhir.ml" +# 36692 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36109,12 +36720,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 36113 "parser_cocci_menhir.ml" +# 36724 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 36118 "parser_cocci_menhir.ml" +# 36729 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -36124,29 +36735,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 542 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 36131 "parser_cocci_menhir.ml" +# 36742 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 36137 "parser_cocci_menhir.ml" +# 36748 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 36144 "parser_cocci_menhir.ml" +# 36755 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36150 "parser_cocci_menhir.ml" +# 36761 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36187,17 +36798,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 36191 "parser_cocci_menhir.ml" +# 36802 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 36196 "parser_cocci_menhir.ml" +# 36807 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 36201 "parser_cocci_menhir.ml" +# 36812 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -36209,33 +36820,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 545 "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*))) ) -# 36220 "parser_cocci_menhir.ml" +# 36831 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 36226 "parser_cocci_menhir.ml" +# 36837 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 36233 "parser_cocci_menhir.ml" +# 36844 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36239 "parser_cocci_menhir.ml" +# 36850 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36267,12 +36878,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36271 "parser_cocci_menhir.ml" +# 36882 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 36276 "parser_cocci_menhir.ml" +# 36887 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -36282,28 +36893,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 552 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 36288 "parser_cocci_menhir.ml" +# 36899 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 36294 "parser_cocci_menhir.ml" +# 36905 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 36301 "parser_cocci_menhir.ml" +# 36912 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36307 "parser_cocci_menhir.ml" +# 36918 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36340,17 +36951,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36344 "parser_cocci_menhir.ml" +# 36955 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36349 "parser_cocci_menhir.ml" +# 36960 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 36354 "parser_cocci_menhir.ml" +# 36965 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -36362,31 +36973,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 36371 "parser_cocci_menhir.ml" +# 36982 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 36377 "parser_cocci_menhir.ml" +# 36988 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 36384 "parser_cocci_menhir.ml" +# 36995 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36390 "parser_cocci_menhir.ml" +# 37001 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36418,12 +37029,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36422 "parser_cocci_menhir.ml" +# 37033 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 36427 "parser_cocci_menhir.ml" +# 37038 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -36433,28 +37044,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 536 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 36439 "parser_cocci_menhir.ml" +# 37050 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 36445 "parser_cocci_menhir.ml" +# 37056 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 36452 "parser_cocci_menhir.ml" +# 37063 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36458 "parser_cocci_menhir.ml" +# 37069 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36486,12 +37097,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36490 "parser_cocci_menhir.ml" +# 37101 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 36495 "parser_cocci_menhir.ml" +# 37106 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -36501,28 +37112,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 538 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 36507 "parser_cocci_menhir.ml" +# 37118 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 36513 "parser_cocci_menhir.ml" +# 37124 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 36520 "parser_cocci_menhir.ml" +# 37131 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36526 "parser_cocci_menhir.ml" +# 37137 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36554,12 +37165,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36558 "parser_cocci_menhir.ml" +# 37169 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 36563 "parser_cocci_menhir.ml" +# 37174 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -36569,28 +37180,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 540 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 36575 "parser_cocci_menhir.ml" +# 37186 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 36581 "parser_cocci_menhir.ml" +# 37192 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 36588 "parser_cocci_menhir.ml" +# 37199 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36594 "parser_cocci_menhir.ml" +# 37205 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36622,12 +37233,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 36626 "parser_cocci_menhir.ml" +# 37237 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 36631 "parser_cocci_menhir.ml" +# 37242 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -36637,29 +37248,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 542 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 36644 "parser_cocci_menhir.ml" +# 37255 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 36650 "parser_cocci_menhir.ml" +# 37261 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 36657 "parser_cocci_menhir.ml" +# 37268 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36663 "parser_cocci_menhir.ml" +# 37274 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36700,17 +37311,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 36704 "parser_cocci_menhir.ml" +# 37315 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 36709 "parser_cocci_menhir.ml" +# 37320 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 36714 "parser_cocci_menhir.ml" +# 37325 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -36722,33 +37333,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 545 "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*))) ) -# 36733 "parser_cocci_menhir.ml" +# 37344 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 36739 "parser_cocci_menhir.ml" +# 37350 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 36746 "parser_cocci_menhir.ml" +# 37357 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36752 "parser_cocci_menhir.ml" +# 37363 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36780,12 +37391,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36784 "parser_cocci_menhir.ml" +# 37395 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 36789 "parser_cocci_menhir.ml" +# 37400 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -36795,28 +37406,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 552 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 36801 "parser_cocci_menhir.ml" +# 37412 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 36807 "parser_cocci_menhir.ml" +# 37418 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 36814 "parser_cocci_menhir.ml" +# 37425 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36820 "parser_cocci_menhir.ml" +# 37431 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36853,17 +37464,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36857 "parser_cocci_menhir.ml" +# 37468 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36862 "parser_cocci_menhir.ml" +# 37473 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 36867 "parser_cocci_menhir.ml" +# 37478 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -36875,31 +37486,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 36884 "parser_cocci_menhir.ml" +# 37495 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 36890 "parser_cocci_menhir.ml" +# 37501 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 36897 "parser_cocci_menhir.ml" +# 37508 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36903 "parser_cocci_menhir.ml" +# 37514 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36926,7 +37537,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36930 "parser_cocci_menhir.ml" +# 37541 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -36935,28 +37546,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 536 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 36941 "parser_cocci_menhir.ml" +# 37552 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 36947 "parser_cocci_menhir.ml" +# 37558 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 36954 "parser_cocci_menhir.ml" +# 37565 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36960 "parser_cocci_menhir.ml" +# 37571 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36983,7 +37594,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36987 "parser_cocci_menhir.ml" +# 37598 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -36992,28 +37603,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 538 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 36998 "parser_cocci_menhir.ml" +# 37609 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 37004 "parser_cocci_menhir.ml" +# 37615 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 37011 "parser_cocci_menhir.ml" +# 37622 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37017 "parser_cocci_menhir.ml" +# 37628 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37040,7 +37651,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 37044 "parser_cocci_menhir.ml" +# 37655 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -37049,28 +37660,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 540 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 37055 "parser_cocci_menhir.ml" +# 37666 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 37061 "parser_cocci_menhir.ml" +# 37672 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 37068 "parser_cocci_menhir.ml" +# 37679 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37074 "parser_cocci_menhir.ml" +# 37685 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37097,7 +37708,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 37101 "parser_cocci_menhir.ml" +# 37712 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -37106,29 +37717,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 542 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 37113 "parser_cocci_menhir.ml" +# 37724 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 37119 "parser_cocci_menhir.ml" +# 37730 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 37126 "parser_cocci_menhir.ml" +# 37737 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37132 "parser_cocci_menhir.ml" +# 37743 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37164,12 +37775,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 37168 "parser_cocci_menhir.ml" +# 37779 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 37173 "parser_cocci_menhir.ml" +# 37784 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let _startpos = _startpos_r00_ in let _endpos = _endpos_m_ in @@ -37180,33 +37791,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 545 "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*))) ) -# 37191 "parser_cocci_menhir.ml" +# 37802 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 37197 "parser_cocci_menhir.ml" +# 37808 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 37204 "parser_cocci_menhir.ml" +# 37815 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37210 "parser_cocci_menhir.ml" +# 37821 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37233,7 +37844,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 37237 "parser_cocci_menhir.ml" +# 37848 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -37242,28 +37853,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 552 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 37248 "parser_cocci_menhir.ml" +# 37859 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 37254 "parser_cocci_menhir.ml" +# 37865 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 37261 "parser_cocci_menhir.ml" +# 37872 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37267 "parser_cocci_menhir.ml" +# 37878 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37295,12 +37906,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 37299 "parser_cocci_menhir.ml" +# 37910 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 37304 "parser_cocci_menhir.ml" +# 37915 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -37311,31 +37922,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 37320 "parser_cocci_menhir.ml" +# 37931 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 37326 "parser_cocci_menhir.ml" +# 37937 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 37333 "parser_cocci_menhir.ml" +# 37944 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37339 "parser_cocci_menhir.ml" +# 37950 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37362,7 +37973,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 37366 "parser_cocci_menhir.ml" +# 37977 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -37371,28 +37982,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 557 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 37377 "parser_cocci_menhir.ml" +# 37988 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 37383 "parser_cocci_menhir.ml" +# 37994 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 37390 "parser_cocci_menhir.ml" +# 38001 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37396 "parser_cocci_menhir.ml" +# 38007 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37419,7 +38030,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 37423 "parser_cocci_menhir.ml" +# 38034 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -37428,28 +38039,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 559 "parser_cocci_menhir.mly" +# 564 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 37434 "parser_cocci_menhir.ml" +# 38045 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 37440 "parser_cocci_menhir.ml" +# 38051 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 37447 "parser_cocci_menhir.ml" +# 38058 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37453 "parser_cocci_menhir.ml" +# 38064 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37476,7 +38087,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 37480 "parser_cocci_menhir.ml" +# 38091 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -37485,28 +38096,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 561 "parser_cocci_menhir.mly" +# 566 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 37491 "parser_cocci_menhir.ml" +# 38102 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 37497 "parser_cocci_menhir.ml" +# 38108 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 37504 "parser_cocci_menhir.ml" +# 38115 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37510 "parser_cocci_menhir.ml" +# 38121 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37533,7 +38144,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 37537 "parser_cocci_menhir.ml" +# 38148 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -37542,28 +38153,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 563 "parser_cocci_menhir.mly" +# 568 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) -# 37548 "parser_cocci_menhir.ml" +# 38159 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 37554 "parser_cocci_menhir.ml" +# 38165 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 37561 "parser_cocci_menhir.ml" +# 38172 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37567 "parser_cocci_menhir.ml" +# 38178 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37590,7 +38201,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 37594 "parser_cocci_menhir.ml" +# 38205 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -37599,28 +38210,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 565 "parser_cocci_menhir.mly" +# 570 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) -# 37605 "parser_cocci_menhir.ml" +# 38216 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 37611 "parser_cocci_menhir.ml" +# 38222 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 37618 "parser_cocci_menhir.ml" +# 38229 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37624 "parser_cocci_menhir.ml" +# 38235 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37647,7 +38258,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 37651 "parser_cocci_menhir.ml" +# 38262 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -37656,28 +38267,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 567 "parser_cocci_menhir.mly" +# 572 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) -# 37662 "parser_cocci_menhir.ml" +# 38273 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 37668 "parser_cocci_menhir.ml" +# 38279 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 37675 "parser_cocci_menhir.ml" +# 38286 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37681 "parser_cocci_menhir.ml" +# 38292 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37710,7 +38321,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s00 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 37714 "parser_cocci_menhir.ml" +# 38325 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -37721,28 +38332,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 569 "parser_cocci_menhir.mly" +# 574 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) -# 37727 "parser_cocci_menhir.ml" +# 38338 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 37733 "parser_cocci_menhir.ml" +# 38344 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 37740 "parser_cocci_menhir.ml" +# 38351 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37746 "parser_cocci_menhir.ml" +# 38357 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37784,18 +38395,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 37788 "parser_cocci_menhir.ml" +# 38399 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 37794 "parser_cocci_menhir.ml" +# 38405 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 37799 "parser_cocci_menhir.ml" +# 38410 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -37813,35 +38424,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 37817 "parser_cocci_menhir.ml" +# 38428 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 576 "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)) ) -# 37826 "parser_cocci_menhir.ml" +# 38437 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 37832 "parser_cocci_menhir.ml" +# 38443 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 37839 "parser_cocci_menhir.ml" +# 38450 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37845 "parser_cocci_menhir.ml" +# 38456 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37888,19 +38499,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 37892 "parser_cocci_menhir.ml" +# 38503 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 37898 "parser_cocci_menhir.ml" +# 38509 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 37904 "parser_cocci_menhir.ml" +# 38515 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -37921,35 +38532,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 37925 "parser_cocci_menhir.ml" +# 38536 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 576 "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)) ) -# 37934 "parser_cocci_menhir.ml" +# 38545 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 37940 "parser_cocci_menhir.ml" +# 38551 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 37947 "parser_cocci_menhir.ml" +# 38558 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37953 "parser_cocci_menhir.ml" +# 38564 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37989,28 +38600,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 576 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 37995 "parser_cocci_menhir.ml" +# 38606 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 38001 "parser_cocci_menhir.ml" +# 38612 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 38008 "parser_cocci_menhir.ml" +# 38619 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 38014 "parser_cocci_menhir.ml" +# 38625 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38052,13 +38663,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 38056 "parser_cocci_menhir.ml" +# 38667 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 38062 "parser_cocci_menhir.ml" +# 38673 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let _startpos = _startpos_s00_ in @@ -38077,36 +38688,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 38081 "parser_cocci_menhir.ml" +# 38692 "parser_cocci_menhir.ml" in -# 579 "parser_cocci_menhir.mly" +# 584 "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)) ) -# 38091 "parser_cocci_menhir.ml" +# 38702 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 38097 "parser_cocci_menhir.ml" +# 38708 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 38104 "parser_cocci_menhir.ml" +# 38715 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 38110 "parser_cocci_menhir.ml" +# 38721 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38153,13 +38764,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 38157 "parser_cocci_menhir.ml" +# 38768 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 38163 "parser_cocci_menhir.ml" +# 38774 "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 @@ -38182,36 +38793,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 38186 "parser_cocci_menhir.ml" +# 38797 "parser_cocci_menhir.ml" in -# 579 "parser_cocci_menhir.mly" +# 584 "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)) ) -# 38196 "parser_cocci_menhir.ml" +# 38807 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 38202 "parser_cocci_menhir.ml" +# 38813 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 38209 "parser_cocci_menhir.ml" +# 38820 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 38215 "parser_cocci_menhir.ml" +# 38826 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38253,18 +38864,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 38257 "parser_cocci_menhir.ml" +# 38868 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 38263 "parser_cocci_menhir.ml" +# 38874 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 38268 "parser_cocci_menhir.ml" +# 38879 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -38279,30 +38890,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 585 "parser_cocci_menhir.mly" +# 590 "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)) ) -# 38287 "parser_cocci_menhir.ml" +# 38898 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 38293 "parser_cocci_menhir.ml" +# 38904 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 38300 "parser_cocci_menhir.ml" +# 38911 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 38306 "parser_cocci_menhir.ml" +# 38917 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38329,7 +38940,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 38333 "parser_cocci_menhir.ml" +# 38944 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -38338,28 +38949,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 589 "parser_cocci_menhir.mly" +# 594 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 38344 "parser_cocci_menhir.ml" +# 38955 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 38350 "parser_cocci_menhir.ml" +# 38961 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 38357 "parser_cocci_menhir.ml" +# 38968 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 38363 "parser_cocci_menhir.ml" +# 38974 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38396,12 +39007,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 38400 "parser_cocci_menhir.ml" +# 39011 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 38405 "parser_cocci_menhir.ml" +# 39016 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -38412,15 +39023,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 536 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 38418 "parser_cocci_menhir.ml" +# 39029 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 38424 "parser_cocci_menhir.ml" +# 39035 "parser_cocci_menhir.ml" in let cv = @@ -38428,13 +39039,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 38432 "parser_cocci_menhir.ml" +# 39043 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 38438 "parser_cocci_menhir.ml" +# 39049 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38471,12 +39082,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 38475 "parser_cocci_menhir.ml" +# 39086 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 38480 "parser_cocci_menhir.ml" +# 39091 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -38487,15 +39098,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 538 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 38493 "parser_cocci_menhir.ml" +# 39104 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 38499 "parser_cocci_menhir.ml" +# 39110 "parser_cocci_menhir.ml" in let cv = @@ -38503,13 +39114,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 38507 "parser_cocci_menhir.ml" +# 39118 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 38513 "parser_cocci_menhir.ml" +# 39124 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38546,12 +39157,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 38550 "parser_cocci_menhir.ml" +# 39161 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 38555 "parser_cocci_menhir.ml" +# 39166 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -38562,15 +39173,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 540 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 38568 "parser_cocci_menhir.ml" +# 39179 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 38574 "parser_cocci_menhir.ml" +# 39185 "parser_cocci_menhir.ml" in let cv = @@ -38578,13 +39189,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 38582 "parser_cocci_menhir.ml" +# 39193 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 38588 "parser_cocci_menhir.ml" +# 39199 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38621,12 +39232,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 38625 "parser_cocci_menhir.ml" +# 39236 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 38630 "parser_cocci_menhir.ml" +# 39241 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -38637,16 +39248,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 542 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 38644 "parser_cocci_menhir.ml" +# 39255 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 38650 "parser_cocci_menhir.ml" +# 39261 "parser_cocci_menhir.ml" in let cv = @@ -38654,13 +39265,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 38658 "parser_cocci_menhir.ml" +# 39269 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 38664 "parser_cocci_menhir.ml" +# 39275 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38706,17 +39317,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 38710 "parser_cocci_menhir.ml" +# 39321 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 38715 "parser_cocci_menhir.ml" +# 39326 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 38720 "parser_cocci_menhir.ml" +# 39331 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -38729,20 +39340,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 545 "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*))) ) -# 38740 "parser_cocci_menhir.ml" +# 39351 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 38746 "parser_cocci_menhir.ml" +# 39357 "parser_cocci_menhir.ml" in let cv = @@ -38750,13 +39361,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 38754 "parser_cocci_menhir.ml" +# 39365 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 38760 "parser_cocci_menhir.ml" +# 39371 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38793,12 +39404,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 38797 "parser_cocci_menhir.ml" +# 39408 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 38802 "parser_cocci_menhir.ml" +# 39413 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -38809,15 +39420,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 552 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 38815 "parser_cocci_menhir.ml" +# 39426 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 38821 "parser_cocci_menhir.ml" +# 39432 "parser_cocci_menhir.ml" in let cv = @@ -38825,13 +39436,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 38829 "parser_cocci_menhir.ml" +# 39440 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 38835 "parser_cocci_menhir.ml" +# 39446 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38873,17 +39484,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 38877 "parser_cocci_menhir.ml" +# 39488 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 38882 "parser_cocci_menhir.ml" +# 39493 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 38887 "parser_cocci_menhir.ml" +# 39498 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -38896,18 +39507,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 38905 "parser_cocci_menhir.ml" +# 39516 "parser_cocci_menhir.ml" in -# 594 "parser_cocci_menhir.mly" +# 599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 38911 "parser_cocci_menhir.ml" +# 39522 "parser_cocci_menhir.ml" in let cv = @@ -38915,13 +39526,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 38919 "parser_cocci_menhir.ml" +# 39530 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 38925 "parser_cocci_menhir.ml" +# 39536 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38958,12 +39569,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 38962 "parser_cocci_menhir.ml" +# 39573 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 38967 "parser_cocci_menhir.ml" +# 39578 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -38974,15 +39585,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 536 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 38980 "parser_cocci_menhir.ml" +# 39591 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 38986 "parser_cocci_menhir.ml" +# 39597 "parser_cocci_menhir.ml" in let cv = @@ -38990,13 +39601,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 38994 "parser_cocci_menhir.ml" +# 39605 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 39000 "parser_cocci_menhir.ml" +# 39611 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39033,12 +39644,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 39037 "parser_cocci_menhir.ml" +# 39648 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 39042 "parser_cocci_menhir.ml" +# 39653 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -39049,15 +39660,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 538 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 39055 "parser_cocci_menhir.ml" +# 39666 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 39061 "parser_cocci_menhir.ml" +# 39672 "parser_cocci_menhir.ml" in let cv = @@ -39065,13 +39676,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 39069 "parser_cocci_menhir.ml" +# 39680 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 39075 "parser_cocci_menhir.ml" +# 39686 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39108,12 +39719,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 39112 "parser_cocci_menhir.ml" +# 39723 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 39117 "parser_cocci_menhir.ml" +# 39728 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -39124,15 +39735,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 540 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 39130 "parser_cocci_menhir.ml" +# 39741 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 39136 "parser_cocci_menhir.ml" +# 39747 "parser_cocci_menhir.ml" in let cv = @@ -39140,13 +39751,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 39144 "parser_cocci_menhir.ml" +# 39755 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 39150 "parser_cocci_menhir.ml" +# 39761 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39183,12 +39794,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 39187 "parser_cocci_menhir.ml" +# 39798 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 39192 "parser_cocci_menhir.ml" +# 39803 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -39199,16 +39810,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 542 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 39206 "parser_cocci_menhir.ml" +# 39817 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 39212 "parser_cocci_menhir.ml" +# 39823 "parser_cocci_menhir.ml" in let cv = @@ -39216,13 +39827,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 39220 "parser_cocci_menhir.ml" +# 39831 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 39226 "parser_cocci_menhir.ml" +# 39837 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39268,17 +39879,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 39272 "parser_cocci_menhir.ml" +# 39883 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 39277 "parser_cocci_menhir.ml" +# 39888 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 39282 "parser_cocci_menhir.ml" +# 39893 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -39291,20 +39902,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 545 "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*))) ) -# 39302 "parser_cocci_menhir.ml" +# 39913 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 39308 "parser_cocci_menhir.ml" +# 39919 "parser_cocci_menhir.ml" in let cv = @@ -39312,13 +39923,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 39316 "parser_cocci_menhir.ml" +# 39927 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 39322 "parser_cocci_menhir.ml" +# 39933 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39355,12 +39966,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 39359 "parser_cocci_menhir.ml" +# 39970 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 39364 "parser_cocci_menhir.ml" +# 39975 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -39371,15 +39982,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 552 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 39377 "parser_cocci_menhir.ml" +# 39988 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 39383 "parser_cocci_menhir.ml" +# 39994 "parser_cocci_menhir.ml" in let cv = @@ -39387,13 +39998,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 39391 "parser_cocci_menhir.ml" +# 40002 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 39397 "parser_cocci_menhir.ml" +# 40008 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39435,17 +40046,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 39439 "parser_cocci_menhir.ml" +# 40050 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 39444 "parser_cocci_menhir.ml" +# 40055 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 54 "parser_cocci_menhir.mly" (Data.clt) -# 39449 "parser_cocci_menhir.ml" +# 40060 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -39458,18 +40069,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 39467 "parser_cocci_menhir.ml" +# 40078 "parser_cocci_menhir.ml" in -# 596 "parser_cocci_menhir.mly" +# 601 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 39473 "parser_cocci_menhir.ml" +# 40084 "parser_cocci_menhir.ml" in let cv = @@ -39477,13 +40088,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 39481 "parser_cocci_menhir.ml" +# 40092 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 39487 "parser_cocci_menhir.ml" +# 40098 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39515,7 +40126,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 39519 "parser_cocci_menhir.ml" +# 40130 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -39525,15 +40136,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 536 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 39531 "parser_cocci_menhir.ml" +# 40142 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 39537 "parser_cocci_menhir.ml" +# 40148 "parser_cocci_menhir.ml" in let cv = @@ -39541,13 +40152,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 39545 "parser_cocci_menhir.ml" +# 40156 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 39551 "parser_cocci_menhir.ml" +# 40162 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39579,7 +40190,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 39583 "parser_cocci_menhir.ml" +# 40194 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -39589,15 +40200,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 533 "parser_cocci_menhir.mly" +# 538 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 39595 "parser_cocci_menhir.ml" +# 40206 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 39601 "parser_cocci_menhir.ml" +# 40212 "parser_cocci_menhir.ml" in let cv = @@ -39605,13 +40216,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 39609 "parser_cocci_menhir.ml" +# 40220 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 39615 "parser_cocci_menhir.ml" +# 40226 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39643,7 +40254,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 39647 "parser_cocci_menhir.ml" +# 40258 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -39653,15 +40264,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 535 "parser_cocci_menhir.mly" +# 540 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 39659 "parser_cocci_menhir.ml" +# 40270 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 39665 "parser_cocci_menhir.ml" +# 40276 "parser_cocci_menhir.ml" in let cv = @@ -39669,13 +40280,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 39673 "parser_cocci_menhir.ml" +# 40284 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 39679 "parser_cocci_menhir.ml" +# 40290 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39707,7 +40318,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 39711 "parser_cocci_menhir.ml" +# 40322 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -39717,16 +40328,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 537 "parser_cocci_menhir.mly" +# 542 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 39724 "parser_cocci_menhir.ml" +# 40335 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 39730 "parser_cocci_menhir.ml" +# 40341 "parser_cocci_menhir.ml" in let cv = @@ -39734,13 +40345,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 39738 "parser_cocci_menhir.ml" +# 40349 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 39744 "parser_cocci_menhir.ml" +# 40355 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39781,12 +40392,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 39785 "parser_cocci_menhir.ml" +# 40396 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 39790 "parser_cocci_menhir.ml" +# 40401 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -39798,20 +40409,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 540 "parser_cocci_menhir.mly" +# 545 "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*))) ) -# 39809 "parser_cocci_menhir.ml" +# 40420 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 39815 "parser_cocci_menhir.ml" +# 40426 "parser_cocci_menhir.ml" in let cv = @@ -39819,13 +40430,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 39823 "parser_cocci_menhir.ml" +# 40434 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 39829 "parser_cocci_menhir.ml" +# 40440 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39857,7 +40468,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 39861 "parser_cocci_menhir.ml" +# 40472 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -39867,15 +40478,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 547 "parser_cocci_menhir.mly" +# 552 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 39873 "parser_cocci_menhir.ml" +# 40484 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 39879 "parser_cocci_menhir.ml" +# 40490 "parser_cocci_menhir.ml" in let cv = @@ -39883,13 +40494,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 39887 "parser_cocci_menhir.ml" +# 40498 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 39893 "parser_cocci_menhir.ml" +# 40504 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -39926,12 +40537,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 39930 "parser_cocci_menhir.ml" +# 40541 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 39935 "parser_cocci_menhir.ml" +# 40546 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -39943,18 +40554,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 549 "parser_cocci_menhir.mly" +# 554 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 39952 "parser_cocci_menhir.ml" +# 40563 "parser_cocci_menhir.ml" in -# 597 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( ty ) -# 39958 "parser_cocci_menhir.ml" +# 40569 "parser_cocci_menhir.ml" in let cv = @@ -39962,13 +40573,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 39966 "parser_cocci_menhir.ml" +# 40577 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 39972 "parser_cocci_menhir.ml" +# 40583 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40000,7 +40611,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 40004 "parser_cocci_menhir.ml" +# 40615 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -40010,15 +40621,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 557 "parser_cocci_menhir.mly" +# 562 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 40016 "parser_cocci_menhir.ml" +# 40627 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 40022 "parser_cocci_menhir.ml" +# 40633 "parser_cocci_menhir.ml" in let cv = @@ -40026,13 +40637,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 40030 "parser_cocci_menhir.ml" +# 40641 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40036 "parser_cocci_menhir.ml" +# 40647 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40064,7 +40675,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 40068 "parser_cocci_menhir.ml" +# 40679 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -40074,15 +40685,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 559 "parser_cocci_menhir.mly" +# 564 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 40080 "parser_cocci_menhir.ml" +# 40691 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 40086 "parser_cocci_menhir.ml" +# 40697 "parser_cocci_menhir.ml" in let cv = @@ -40090,13 +40701,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 40094 "parser_cocci_menhir.ml" +# 40705 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40100 "parser_cocci_menhir.ml" +# 40711 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40128,7 +40739,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 40132 "parser_cocci_menhir.ml" +# 40743 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -40138,15 +40749,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 561 "parser_cocci_menhir.mly" +# 566 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 40144 "parser_cocci_menhir.ml" +# 40755 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 40150 "parser_cocci_menhir.ml" +# 40761 "parser_cocci_menhir.ml" in let cv = @@ -40154,13 +40765,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 40158 "parser_cocci_menhir.ml" +# 40769 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40164 "parser_cocci_menhir.ml" +# 40775 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40192,7 +40803,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 40196 "parser_cocci_menhir.ml" +# 40807 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -40202,15 +40813,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 563 "parser_cocci_menhir.mly" +# 568 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) -# 40208 "parser_cocci_menhir.ml" +# 40819 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 40214 "parser_cocci_menhir.ml" +# 40825 "parser_cocci_menhir.ml" in let cv = @@ -40218,13 +40829,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 40222 "parser_cocci_menhir.ml" +# 40833 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40228 "parser_cocci_menhir.ml" +# 40839 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40256,7 +40867,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 40260 "parser_cocci_menhir.ml" +# 40871 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -40266,15 +40877,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 565 "parser_cocci_menhir.mly" +# 570 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) -# 40272 "parser_cocci_menhir.ml" +# 40883 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 40278 "parser_cocci_menhir.ml" +# 40889 "parser_cocci_menhir.ml" in let cv = @@ -40282,13 +40893,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 40286 "parser_cocci_menhir.ml" +# 40897 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40292 "parser_cocci_menhir.ml" +# 40903 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40320,7 +40931,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 40324 "parser_cocci_menhir.ml" +# 40935 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -40330,15 +40941,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 567 "parser_cocci_menhir.mly" +# 572 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) -# 40336 "parser_cocci_menhir.ml" +# 40947 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 40342 "parser_cocci_menhir.ml" +# 40953 "parser_cocci_menhir.ml" in let cv = @@ -40346,13 +40957,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 40350 "parser_cocci_menhir.ml" +# 40961 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40356 "parser_cocci_menhir.ml" +# 40967 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40390,7 +41001,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s00 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 40394 "parser_cocci_menhir.ml" +# 41005 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -40402,15 +41013,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 569 "parser_cocci_menhir.mly" +# 574 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) -# 40408 "parser_cocci_menhir.ml" +# 41019 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 40414 "parser_cocci_menhir.ml" +# 41025 "parser_cocci_menhir.ml" in let cv = @@ -40418,13 +41029,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 40422 "parser_cocci_menhir.ml" +# 41033 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40428 "parser_cocci_menhir.ml" +# 41039 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40471,18 +41082,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 40475 "parser_cocci_menhir.ml" +# 41086 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 40481 "parser_cocci_menhir.ml" +# 41092 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 40486 "parser_cocci_menhir.ml" +# 41097 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -40501,22 +41112,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 40505 "parser_cocci_menhir.ml" +# 41116 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 576 "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)) ) -# 40514 "parser_cocci_menhir.ml" +# 41125 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 40520 "parser_cocci_menhir.ml" +# 41131 "parser_cocci_menhir.ml" in let cv = @@ -40524,13 +41135,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 40528 "parser_cocci_menhir.ml" +# 41139 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40534 "parser_cocci_menhir.ml" +# 41145 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40582,19 +41193,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 40586 "parser_cocci_menhir.ml" +# 41197 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 40592 "parser_cocci_menhir.ml" +# 41203 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 40598 "parser_cocci_menhir.ml" +# 41209 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -40616,22 +41227,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 40620 "parser_cocci_menhir.ml" +# 41231 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 576 "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)) ) -# 40629 "parser_cocci_menhir.ml" +# 41240 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 40635 "parser_cocci_menhir.ml" +# 41246 "parser_cocci_menhir.ml" in let cv = @@ -40639,13 +41250,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 40643 "parser_cocci_menhir.ml" +# 41254 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40649 "parser_cocci_menhir.ml" +# 41260 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40691,15 +41302,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 576 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 40697 "parser_cocci_menhir.ml" +# 41308 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 40703 "parser_cocci_menhir.ml" +# 41314 "parser_cocci_menhir.ml" in let cv = @@ -40707,13 +41318,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 40711 "parser_cocci_menhir.ml" +# 41322 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40717 "parser_cocci_menhir.ml" +# 41328 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40760,13 +41371,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 40764 "parser_cocci_menhir.ml" +# 41375 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 40770 "parser_cocci_menhir.ml" +# 41381 "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 @@ -40786,23 +41397,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 40790 "parser_cocci_menhir.ml" +# 41401 "parser_cocci_menhir.ml" in -# 579 "parser_cocci_menhir.mly" +# 584 "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)) ) -# 40800 "parser_cocci_menhir.ml" +# 41411 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 40806 "parser_cocci_menhir.ml" +# 41417 "parser_cocci_menhir.ml" in let cv = @@ -40810,13 +41421,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 40814 "parser_cocci_menhir.ml" +# 41425 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40820 "parser_cocci_menhir.ml" +# 41431 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40868,13 +41479,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 40872 "parser_cocci_menhir.ml" +# 41483 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 40878 "parser_cocci_menhir.ml" +# 41489 "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 @@ -40898,23 +41509,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 40902 "parser_cocci_menhir.ml" +# 41513 "parser_cocci_menhir.ml" in -# 579 "parser_cocci_menhir.mly" +# 584 "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)) ) -# 40912 "parser_cocci_menhir.ml" +# 41523 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 40918 "parser_cocci_menhir.ml" +# 41529 "parser_cocci_menhir.ml" in let cv = @@ -40922,13 +41533,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 40926 "parser_cocci_menhir.ml" +# 41537 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 40932 "parser_cocci_menhir.ml" +# 41543 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -40975,18 +41586,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 40979 "parser_cocci_menhir.ml" +# 41590 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 40985 "parser_cocci_menhir.ml" +# 41596 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 40990 "parser_cocci_menhir.ml" +# 41601 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -41002,17 +41613,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 585 "parser_cocci_menhir.mly" +# 590 "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)) ) -# 41010 "parser_cocci_menhir.ml" +# 41621 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 41016 "parser_cocci_menhir.ml" +# 41627 "parser_cocci_menhir.ml" in let cv = @@ -41020,13 +41631,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 41024 "parser_cocci_menhir.ml" +# 41635 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 41030 "parser_cocci_menhir.ml" +# 41641 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41058,7 +41669,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 62 "parser_cocci_menhir.mly" (string * Data.clt) -# 41062 "parser_cocci_menhir.ml" +# 41673 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -41068,15 +41679,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 589 "parser_cocci_menhir.mly" +# 594 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 41074 "parser_cocci_menhir.ml" +# 41685 "parser_cocci_menhir.ml" in -# 598 "parser_cocci_menhir.mly" +# 603 "parser_cocci_menhir.mly" ( ty ) -# 41080 "parser_cocci_menhir.ml" +# 41691 "parser_cocci_menhir.ml" in let cv = @@ -41084,13 +41695,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 41088 "parser_cocci_menhir.ml" +# 41699 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 620 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 41094 "parser_cocci_menhir.ml" +# 41705 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41121,22 +41732,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 41125 "parser_cocci_menhir.ml" +# 41736 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in let lp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 41131 "parser_cocci_menhir.ml" +# 41742 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_typedef_ctype = -# 617 "parser_cocci_menhir.mly" +# 622 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) -# 41140 "parser_cocci_menhir.ml" +# 41751 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41158,9 +41769,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 1727 "parser_cocci_menhir.mly" +# 1807 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) ) -# 41164 "parser_cocci_menhir.ml" +# 41775 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41181,15 +41792,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 41185 "parser_cocci_menhir.ml" +# 41796 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 1729 "parser_cocci_menhir.mly" +# 1809 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 41193 "parser_cocci_menhir.ml" +# 41804 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41211,9 +41822,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1365 "parser_cocci_menhir.mly" +# 1419 "parser_cocci_menhir.mly" ( _1 ) -# 41217 "parser_cocci_menhir.ml" +# 41828 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41236,18 +41847,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 : ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 41244 "parser_cocci_menhir.ml" +# 41855 "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_ = -# 1367 "parser_cocci_menhir.mly" +# 1421 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 41251 "parser_cocci_menhir.ml" +# 41862 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41270,18 +41881,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 : ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 41278 "parser_cocci_menhir.ml" +# 41889 "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_ = -# 1369 "parser_cocci_menhir.mly" +# 1423 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 41285 "parser_cocci_menhir.ml" +# 41896 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41309,9 +41920,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1371 "parser_cocci_menhir.mly" +# 1425 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 41315 "parser_cocci_menhir.ml" +# 41926 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41334,19 +41945,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 41342 "parser_cocci_menhir.ml" +# 41953 "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_ = -# 1373 "parser_cocci_menhir.mly" +# 1427 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 41350 "parser_cocci_menhir.ml" +# 41961 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41369,18 +41980,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 : ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 41377 "parser_cocci_menhir.ml" +# 41988 "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_ = -# 1376 "parser_cocci_menhir.mly" +# 1430 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 41384 "parser_cocci_menhir.ml" +# 41995 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41416,27 +42027,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 41420 "parser_cocci_menhir.ml" +# 42031 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 41426 "parser_cocci_menhir.ml" +# 42037 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 41431 "parser_cocci_menhir.ml" +# 42042 "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_ = -# 1378 "parser_cocci_menhir.mly" +# 1432 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 41440 "parser_cocci_menhir.ml" +# 42051 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41458,9 +42069,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1365 "parser_cocci_menhir.mly" +# 1419 "parser_cocci_menhir.mly" ( _1 ) -# 41464 "parser_cocci_menhir.ml" +# 42075 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41483,18 +42094,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 : ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 41491 "parser_cocci_menhir.ml" +# 42102 "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_ = -# 1367 "parser_cocci_menhir.mly" +# 1421 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 41498 "parser_cocci_menhir.ml" +# 42109 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41517,18 +42128,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 : ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 41525 "parser_cocci_menhir.ml" +# 42136 "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_ = -# 1369 "parser_cocci_menhir.mly" +# 1423 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 41532 "parser_cocci_menhir.ml" +# 42143 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41556,9 +42167,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1371 "parser_cocci_menhir.mly" +# 1425 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 41562 "parser_cocci_menhir.ml" +# 42173 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41581,19 +42192,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 41589 "parser_cocci_menhir.ml" +# 42200 "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_ = -# 1373 "parser_cocci_menhir.mly" +# 1427 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 41597 "parser_cocci_menhir.ml" +# 42208 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41616,18 +42227,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 : ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 41624 "parser_cocci_menhir.ml" +# 42235 "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_ = -# 1376 "parser_cocci_menhir.mly" +# 1430 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 41631 "parser_cocci_menhir.ml" +# 42242 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41663,27 +42274,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 41667 "parser_cocci_menhir.ml" +# 42278 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 41673 "parser_cocci_menhir.ml" +# 42284 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 41678 "parser_cocci_menhir.ml" +# 42289 "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_ = -# 1378 "parser_cocci_menhir.mly" +# 1432 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 41687 "parser_cocci_menhir.ml" +# 42298 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41705,9 +42316,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1365 "parser_cocci_menhir.mly" +# 1419 "parser_cocci_menhir.mly" ( _1 ) -# 41711 "parser_cocci_menhir.ml" +# 42322 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41730,18 +42341,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 : ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 41738 "parser_cocci_menhir.ml" +# 42349 "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_ = -# 1367 "parser_cocci_menhir.mly" +# 1421 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 41745 "parser_cocci_menhir.ml" +# 42356 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41764,18 +42375,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 : ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 41772 "parser_cocci_menhir.ml" +# 42383 "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_ = -# 1369 "parser_cocci_menhir.mly" +# 1423 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 41779 "parser_cocci_menhir.ml" +# 42390 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41803,9 +42414,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1371 "parser_cocci_menhir.mly" +# 1425 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 41809 "parser_cocci_menhir.ml" +# 42420 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41828,19 +42439,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 41836 "parser_cocci_menhir.ml" +# 42447 "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_ = -# 1373 "parser_cocci_menhir.mly" +# 1427 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 41844 "parser_cocci_menhir.ml" +# 42455 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41863,18 +42474,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 : ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 41871 "parser_cocci_menhir.ml" +# 42482 "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_ = -# 1376 "parser_cocci_menhir.mly" +# 1430 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 41878 "parser_cocci_menhir.ml" +# 42489 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41910,27 +42521,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 41914 "parser_cocci_menhir.ml" +# 42525 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 41920 "parser_cocci_menhir.ml" +# 42531 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 41925 "parser_cocci_menhir.ml" +# 42536 "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_ = -# 1378 "parser_cocci_menhir.mly" +# 1432 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 41934 "parser_cocci_menhir.ml" +# 42545 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41952,9 +42563,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1365 "parser_cocci_menhir.mly" +# 1419 "parser_cocci_menhir.mly" ( _1 ) -# 41958 "parser_cocci_menhir.ml" +# 42569 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -41977,18 +42588,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 : ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 41985 "parser_cocci_menhir.ml" +# 42596 "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_ = -# 1367 "parser_cocci_menhir.mly" +# 1421 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 41992 "parser_cocci_menhir.ml" +# 42603 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42011,18 +42622,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 : ( # 89 "parser_cocci_menhir.mly" (Data.clt) -# 42019 "parser_cocci_menhir.ml" +# 42630 "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_ = -# 1369 "parser_cocci_menhir.mly" +# 1423 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 42026 "parser_cocci_menhir.ml" +# 42637 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42050,9 +42661,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1371 "parser_cocci_menhir.mly" +# 1425 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 42056 "parser_cocci_menhir.ml" +# 42667 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42075,19 +42686,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 42083 "parser_cocci_menhir.ml" +# 42694 "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_ = -# 1373 "parser_cocci_menhir.mly" +# 1427 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 42091 "parser_cocci_menhir.ml" +# 42702 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42110,18 +42721,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 : ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 42118 "parser_cocci_menhir.ml" +# 42729 "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_ = -# 1376 "parser_cocci_menhir.mly" +# 1430 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 42125 "parser_cocci_menhir.ml" +# 42736 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42157,27 +42768,274 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 81 "parser_cocci_menhir.mly" (Data.clt) -# 42161 "parser_cocci_menhir.ml" +# 42772 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 42167 "parser_cocci_menhir.ml" +# 42778 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( # 61 "parser_cocci_menhir.mly" (Data.clt) -# 42172 "parser_cocci_menhir.ml" +# 42783 "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_ = -# 1378 "parser_cocci_menhir.mly" +# 1432 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, + P.clt2mcode "(" lp,t, + P.clt2mcode ")" rp)) ) +# 42792 "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 = +# 1438 "parser_cocci_menhir.mly" + ( _1 ) +# 42816 "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 : ( +# 89 "parser_cocci_menhir.mly" + (Data.clt) +# 42843 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_unary_expr_bis = +# 1440 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) +# 42850 "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 : ( +# 89 "parser_cocci_menhir.mly" + (Data.clt) +# 42877 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_unary_expr_bis = +# 1442 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) +# 42884 "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 = +# 1444 "parser_cocci_menhir.mly" + ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) +# 42914 "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 : ( +# 80 "parser_cocci_menhir.mly" + (Data.clt) +# 42941 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_unary_expr_bis = +# 1446 "parser_cocci_menhir.mly" + ( let mcode = P.clt2mcode Ast.Not _1 in + Ast0.wrap(Ast0.Unary(_2, mcode)) ) +# 42949 "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 : ( +# 61 "parser_cocci_menhir.mly" + (Data.clt) +# 42976 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_unary_expr_bis = +# 1449 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) +# 42983 "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 : ( +# 81 "parser_cocci_menhir.mly" + (Data.clt) +# 43019 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let t : 'tv_ctype = Obj.magic t in + let lp : ( +# 80 "parser_cocci_menhir.mly" + (Data.clt) +# 43025 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let s : ( +# 61 "parser_cocci_menhir.mly" + (Data.clt) +# 43030 "parser_cocci_menhir.ml" + ) = Obj.magic s in + let _startpos = _startpos_s_ in + let _endpos = _endpos_rp_ in + let _v : 'tv_unary_expr_bis = +# 1451 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 42181 "parser_cocci_menhir.ml" +# 43039 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42198,14 +43056,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 97 "parser_cocci_menhir.mly" (Data.clt) -# 42202 "parser_cocci_menhir.ml" +# 43060 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1382 "parser_cocci_menhir.mly" +# 1455 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.GetRef _1 ) -# 42209 "parser_cocci_menhir.ml" +# 43067 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42226,14 +43084,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 42230 "parser_cocci_menhir.ml" +# 43088 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1383 "parser_cocci_menhir.mly" +# 1456 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.DeRef _1 ) -# 42237 "parser_cocci_menhir.ml" +# 43095 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42254,14 +43112,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 42258 "parser_cocci_menhir.ml" +# 43116 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1384 "parser_cocci_menhir.mly" +# 1457 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnPlus _1 ) -# 42265 "parser_cocci_menhir.ml" +# 43123 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42282,14 +43140,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 42286 "parser_cocci_menhir.ml" +# 43144 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1385 "parser_cocci_menhir.mly" +# 1458 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnMinus _1 ) -# 42293 "parser_cocci_menhir.ml" +# 43151 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42310,14 +43168,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 103 "parser_cocci_menhir.mly" (Data.clt) -# 42314 "parser_cocci_menhir.ml" +# 43172 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1386 "parser_cocci_menhir.mly" +# 1459 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Tilde _1 ) -# 42321 "parser_cocci_menhir.ml" +# 43179 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42345,9 +43203,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 1979 "parser_cocci_menhir.mly" +# 2059 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) ) -# 42351 "parser_cocci_menhir.ml" +# 43209 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42375,9 +43233,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 1981 "parser_cocci_menhir.mly" +# 2061 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1@_2)) ) -# 42381 "parser_cocci_menhir.ml" +# 43239 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42399,9 +43257,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_w_ in let _endpos = _endpos_w_ in let _v : 'tv_whenppdecs = -# 984 "parser_cocci_menhir.mly" +# 1003 "parser_cocci_menhir.mly" ( w ) -# 42405 "parser_cocci_menhir.ml" +# 43263 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42435,9 +43293,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2026 "parser_cocci_menhir.mly" +# 2106 "parser_cocci_menhir.mly" ( [Ast0.WhenNot w] ) -# 42441 "parser_cocci_menhir.ml" +# 43299 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42471,9 +43329,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2027 "parser_cocci_menhir.mly" +# 2107 "parser_cocci_menhir.mly" ( [Ast0.WhenAlways w] ) -# 42477 "parser_cocci_menhir.ml" +# 43335 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42503,9 +43361,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2029 "parser_cocci_menhir.mly" +# 2109 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.WhenModifier(x)) _2 ) -# 42509 "parser_cocci_menhir.ml" +# 43367 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42539,9 +43397,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2030 "parser_cocci_menhir.mly" +# 2110 "parser_cocci_menhir.mly" ( [Ast0.WhenNotTrue e] ) -# 42545 "parser_cocci_menhir.ml" +# 43403 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42575,9 +43433,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 2031 "parser_cocci_menhir.mly" +# 2111 "parser_cocci_menhir.mly" ( [Ast0.WhenNotFalse e] ) -# 42581 "parser_cocci_menhir.ml" +# 43439 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -42598,90 +43456,90 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rec script_meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1953 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1993 lexer lexbuf) : ( # 165 "parser_cocci_menhir.mly" ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) -# 42605 "parser_cocci_menhir.ml" +# 43463 "parser_cocci_menhir.ml" )) and rule_name = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1878 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1918 lexer lexbuf) : ( # 159 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 42613 "parser_cocci_menhir.ml" +# 43471 "parser_cocci_menhir.ml" )) and reinit = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1876 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1916 lexer lexbuf) : ( # 137 "parser_cocci_menhir.mly" (unit) -# 42621 "parser_cocci_menhir.ml" +# 43479 "parser_cocci_menhir.ml" )) and plus_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1840 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1880 lexer lexbuf) : ( # 146 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 42629 "parser_cocci_menhir.ml" +# 43487 "parser_cocci_menhir.ml" )) and plus_exp_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1832 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1872 lexer lexbuf) : ( # 149 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 42637 "parser_cocci_menhir.ml" +# 43495 "parser_cocci_menhir.ml" )) and never_used = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1826 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1866 lexer lexbuf) : ( # 174 "parser_cocci_menhir.mly" (unit) -# 42645 "parser_cocci_menhir.ml" +# 43503 "parser_cocci_menhir.ml" )) and minus_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1742 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1782 lexer lexbuf) : ( # 140 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 42653 "parser_cocci_menhir.ml" +# 43511 "parser_cocci_menhir.ml" )) and minus_exp_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1730 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1770 lexer lexbuf) : ( # 143 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 42661 "parser_cocci_menhir.ml" +# 43519 "parser_cocci_menhir.ml" )) and meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1727 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1767 lexer lexbuf) : ( # 163 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 42669 "parser_cocci_menhir.ml" +# 43527 "parser_cocci_menhir.ml" )) and iso_rule_name = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1723 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1763 lexer lexbuf) : ( # 155 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 42677 "parser_cocci_menhir.ml" +# 43535 "parser_cocci_menhir.ml" )) and iso_meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1456 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1496 lexer lexbuf) : ( # 171 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 42685 "parser_cocci_menhir.ml" +# 43543 "parser_cocci_menhir.ml" )) and iso_main = @@ -42689,7 +43547,7 @@ and iso_main = (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : ( # 168 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 42693 "parser_cocci_menhir.ml" +# 43551 "parser_cocci_menhir.ml" )) and include_main = @@ -42697,7 +43555,7 @@ and include_main = (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : ( # 152 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 42701 "parser_cocci_menhir.ml" +# 43559 "parser_cocci_menhir.ml" )) diff --git a/parsing_cocci/parser_cocci_menhir.mli b/parsing_cocci/parser_cocci_menhir.mli index c497adc..7b51e55 100644 --- a/parsing_cocci/parser_cocci_menhir.mli +++ b/parsing_cocci/parser_cocci_menhir.mli @@ -37,6 +37,7 @@ type token = | TVirtual | TUsing | TUnderscore + | TUndef of (Data.clt * token) | TTypedef | TTypeId of (string * Data.clt) | TType diff --git a/parsing_cocci/parser_cocci_menhir.mly b/parsing_cocci/parser_cocci_menhir.mly index 01a67f6..f0b6832 100644 --- a/parsing_cocci/parser_cocci_menhir.mly +++ b/parsing_cocci/parser_cocci_menhir.mly @@ -82,7 +82,7 @@ module P = Parse_aux %token TPathIsoFile %token TIncludeL TIncludeNL -%token TDefine +%token TDefine TUndef %token TDefineParam %token TMinusFile TPlusFile @@ -264,6 +264,8 @@ incl: | TUsing TPathIsoFile { Data.Iso(Common.Right $2) } | TVirtual comma_list(pure_ident) { 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 []) @@ -408,6 +410,9 @@ list_len: 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 @@ -758,6 +763,20 @@ includes: P.clt2mcode (Ast.NonLocal (Parse_aux.str2inc (P.id2name $1))) (P.drop_bef clt))) } +| TUndef TLineEnd + { 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")))) } | d=defineop TLineEnd { d (Ast0.wrap(Ast0.DOTS([]))) } | d=defineop t=ctype TLineEnd @@ -1259,11 +1278,13 @@ decl_statement_expr: /*****************************************************************************/ -/* The following cannot contain <... ...> at the top level. This can only -be allowed as an expression when the expression is delimited on both sides -by expression-specific markers. In that case, the rule eexpr is used, which +/* expr cannot contain <... ...> at the top level. This can only +be allowed as an expression when the expression is delimited on the left +by an expression-specific marker. In that case, the rule eexpr is used, which allows <... ...> anywhere. Hopefully, this will not be too much of a problem -in practice. */ +in practice. +dot_expressions is the most permissive. all three kinds of expressions use +this once an expression_specific token has been seen */ expr: basic_expr(expr,invalid) { $1 } /* allows ... and nests */ eexpr: basic_expr(eexpr,dot_expressions) { $1 } @@ -1320,41 +1341,74 @@ assign_expr_bis: cond_expr(r,pe): arith_expr(r,pe) { $1 } - | l=arith_expr(r,pe) w=TWhy t=option(eexpr) dd=TDotDot r=cond_expr(r,pe) + | l=arith_expr(r,pe) w=TWhy t=option(eexpr) dd=TDotDot r=eexpr/*see parser_c*/ { Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) } arith_expr(r,pe): cast_expr(r,pe) { $1 } - | arith_expr(r,pe) TMul arith_expr(r,pe) + | arith_expr(r,pe) TMul arith_expr_bis { P.arith_op Ast.Mul $1 $2 $3 } - | arith_expr(r,pe) TDmOp arith_expr(r,pe) + | arith_expr(r,pe) TDmOp arith_expr_bis { let (op,clt) = $2 in P.arith_op op $1 clt $3 } - | arith_expr(r,pe) TPlus arith_expr(r,pe) + | arith_expr(r,pe) TPlus arith_expr_bis { P.arith_op Ast.Plus $1 $2 $3 } - | arith_expr(r,pe) TMinus arith_expr(r,pe) + | arith_expr(r,pe) TMinus arith_expr_bis { P.arith_op Ast.Minus $1 $2 $3 } - | arith_expr(r,pe) TShLOp arith_expr(r,pe) + | arith_expr(r,pe) TShLOp arith_expr_bis { let (op,clt) = $2 in P.arith_op op $1 clt $3 } - | arith_expr(r,pe) TShROp arith_expr(r,pe) + | arith_expr(r,pe) TShROp arith_expr_bis { let (op,clt) = $2 in P.arith_op op $1 clt $3 } - | arith_expr(r,pe) TLogOp arith_expr(r,pe) + | arith_expr(r,pe) TLogOp arith_expr_bis { let (op,clt) = $2 in P.logic_op op $1 clt $3 } - | arith_expr(r,pe) TEqEq arith_expr(r,pe) + | arith_expr(r,pe) TEqEq arith_expr_bis { P.logic_op Ast.Eq $1 $2 $3 } - | arith_expr(r,pe) TNotEq arith_expr(r,pe) + | arith_expr(r,pe) TNotEq arith_expr_bis { P.logic_op Ast.NotEq $1 $2 $3 } - | arith_expr(r,pe) TAnd arith_expr(r,pe) + | arith_expr(r,pe) TAnd arith_expr_bis { P.arith_op Ast.And $1 $2 $3 } - | arith_expr(r,pe) TOr arith_expr(r,pe) + | arith_expr(r,pe) TOr arith_expr_bis { P.arith_op Ast.Or $1 $2 $3 } - | arith_expr(r,pe) TXor arith_expr(r,pe) + | arith_expr(r,pe) TXor arith_expr_bis { P.arith_op Ast.Xor $1 $2 $3 } - | arith_expr(r,pe) TAndLog arith_expr(r,pe) + | arith_expr(r,pe) TAndLog arith_expr_bis { P.logic_op Ast.AndLog $1 $2 $3 } - | arith_expr(r,pe) TOrLog arith_expr(r,pe) + | arith_expr(r,pe) TOrLog arith_expr_bis { P.logic_op Ast.OrLog $1 $2 $3 } +// allows dots now that an expression-specific token has been seen +// need an extra rule because of recursion restrictions +arith_expr_bis: + cast_expr(eexpr,dot_expressions) { $1 } + | arith_expr_bis TMul arith_expr_bis + { P.arith_op Ast.Mul $1 $2 $3 } + | arith_expr_bis TDmOp arith_expr_bis + { let (op,clt) = $2 in P.arith_op op $1 clt $3 } + | arith_expr_bis TPlus arith_expr_bis + { P.arith_op Ast.Plus $1 $2 $3 } + | arith_expr_bis TMinus arith_expr_bis + { P.arith_op Ast.Minus $1 $2 $3 } + | arith_expr_bis TShLOp arith_expr_bis + { let (op,clt) = $2 in P.arith_op op $1 clt $3 } + | arith_expr_bis TShROp arith_expr_bis + { let (op,clt) = $2 in P.arith_op op $1 clt $3 } + | arith_expr_bis TLogOp arith_expr_bis + { let (op,clt) = $2 in P.logic_op op $1 clt $3 } + | arith_expr_bis TEqEq arith_expr_bis + { P.logic_op Ast.Eq $1 $2 $3 } + | arith_expr_bis TNotEq arith_expr_bis + { P.logic_op Ast.NotEq $1 $2 $3 } + | arith_expr_bis TAnd arith_expr_bis + { P.arith_op Ast.And $1 $2 $3 } + | arith_expr_bis TOr arith_expr_bis + { P.arith_op Ast.Or $1 $2 $3 } + | arith_expr_bis TXor arith_expr_bis + { P.arith_op Ast.Xor $1 $2 $3 } + | arith_expr_bis TAndLog arith_expr_bis + { P.logic_op Ast.AndLog $1 $2 $3 } +// no OrLog because it is left associative and this is for +// a right argument, not sure why not the same problem for AndLog + cast_expr(r,pe): unary_expr(r,pe) { $1 } | lp=TOPar t=ctype rp=TCPar e=cast_expr(r,pe) @@ -1363,16 +1417,35 @@ cast_expr(r,pe): unary_expr(r,pe): postfix_expr(r,pe) { $1 } - | TInc unary_expr(r,pe) + | TInc unary_expr_bis { Ast0.wrap(Ast0.Infix ($2, P.clt2mcode Ast.Inc $1)) } - | TDec unary_expr(r,pe) + | TDec unary_expr_bis { Ast0.wrap(Ast0.Infix ($2, P.clt2mcode Ast.Dec $1)) } | unary_op cast_expr(r,pe) { let mcode = $1 in Ast0.wrap(Ast0.Unary($2, mcode)) } - | TBang unary_expr(r,pe) + | TBang unary_expr_bis + { let mcode = P.clt2mcode Ast.Not $1 in + Ast0.wrap(Ast0.Unary($2, mcode)) } + | TSizeof unary_expr_bis + { Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" $1, $2)) } + | s=TSizeof lp=TOPar t=ctype rp=TCPar + { Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, + P.clt2mcode "(" lp,t, + P.clt2mcode ")" rp)) } + +// version that allows dots +unary_expr_bis: + postfix_expr(eexpr,dot_expressions) { $1 } + | TInc unary_expr_bis + { Ast0.wrap(Ast0.Infix ($2, P.clt2mcode Ast.Inc $1)) } + | TDec unary_expr_bis + { Ast0.wrap(Ast0.Infix ($2, P.clt2mcode Ast.Dec $1)) } + | unary_op cast_expr(eexpr,dot_expressions) + { let mcode = $1 in Ast0.wrap(Ast0.Unary($2, mcode)) } + | TBang unary_expr_bis { let mcode = P.clt2mcode Ast.Not $1 in Ast0.wrap(Ast0.Unary($2, mcode)) } - | TSizeof unary_expr(r,pe) + | TSizeof unary_expr_bis { Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" $1, $2)) } | s=TSizeof lp=TOPar t=ctype rp=TCPar { Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, @@ -1532,7 +1605,14 @@ pure_ident_or_meta_ident_with_idconstraint_virt(constraint_type): None -> (i, Ast.IdNoConstraint) | Some constraint_ -> (i,constraint_)) } -| TVirtual TDot pure_ident { Common.Right (P.id2name $3) } +| TVirtual TDot pure_ident + { + let nm = P.id2name $3 in + Iteration.parsed_virtual_identifiers := + Common.union_set [nm] + !Iteration.parsed_virtual_identifiers; + Common.Right nm + } pure_ident_or_meta_ident_with_idconstraint(constraint_type): i=pure_ident_or_meta_ident c=option(constraint_type) @@ -2106,6 +2186,9 @@ script_name_decl: (($2, nm), mv) } | TShLOp TVirtual TDot cocci=pure_ident { 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) } diff --git a/parsing_cocci/pretty_print_cocci.ml b/parsing_cocci/pretty_print_cocci.ml index 237d56f..3775622 100644 --- a/parsing_cocci/pretty_print_cocci.ml +++ b/parsing_cocci/pretty_print_cocci.ml @@ -613,6 +613,8 @@ let rec rule_elem arity re = | Ast.TopInit(init) -> initialiser init | Ast.Include(inc,s) -> mcode print_string inc; print_string " "; mcode inc_file s + | Ast.Undef(def,id) -> + mcode print_string def; print_string " "; ident id | Ast.DefineHeader(def,id,params) -> mcode print_string def; print_string " "; ident id; print_define_parameters params diff --git a/parsing_cocci/single_statement.ml b/parsing_cocci/single_statement.ml index c00db6b..9a5bc11 100644 --- a/parsing_cocci/single_statement.ml +++ b/parsing_cocci/single_statement.ml @@ -120,6 +120,16 @@ let rec left_ident i = | Ast0.OptIdent(id) -> left_ident id | Ast0.UniqueIdent(id) -> left_ident id +let rec right_ident i = + modif_after i or + match Ast0.unwrap i with + Ast0.Id(name) -> modif_after_mcode name + | Ast0.MetaId(name,_,_) -> modif_after_mcode name + | Ast0.MetaFunc(name,_,_) -> modif_after_mcode name + | Ast0.MetaLocalFunc(name,_,_) -> modif_after_mcode name + | Ast0.OptIdent(id) -> right_ident id + | Ast0.UniqueIdent(id) -> right_ident id + (* --------------------------------------------------------------------- *) (* Expression *) @@ -253,6 +263,7 @@ and left_statement s = | Ast0.TopInit(init) -> false (* can only be replaced by an init *) | Ast0.Dots(d,whn) | Ast0.Circles(d,whn) | Ast0.Stars(d,whn) -> false | Ast0.Include(inc,s) -> modif_before_mcode inc + | Ast0.Undef(def,id) -> modif_before_mcode def | Ast0.Define(def,id,params,body) -> modif_before_mcode def | Ast0.OptStm(re) -> left_statement re | Ast0.UniqueStm(re) -> left_statement re @@ -293,6 +304,7 @@ and right_statement s = | Ast0.TopInit(init) -> false (* can only be replaced by an init *) | Ast0.Dots(d,whn) | Ast0.Circles(d,whn) | Ast0.Stars(d,whn) -> false | Ast0.Include(inc,s) -> modif_after_mcode s + | Ast0.Undef(def,id) -> right_ident id | Ast0.Define(def,id,params,body) -> right_dots right_statement body | Ast0.OptStm(re) -> right_statement re | Ast0.UniqueStm(re) -> right_statement re @@ -581,6 +593,7 @@ let rec statement dots_before dots_after s = | Ast0.TopInit(init) -> s | Ast0.Dots(d,whn) | Ast0.Circles(d,whn) | Ast0.Stars(d,whn) -> s | Ast0.Include(inc,string) -> s (* doesn't affect the need for braces *) + | Ast0.Undef(def,id) -> s (* same as include *) | Ast0.Define(def,id,params,body) -> s (* same as include *) | Ast0.OptStm(re) -> Ast0.rewrap s diff --git a/parsing_cocci/unify_ast.ml b/parsing_cocci/unify_ast.ml index 91ae480..c13c7a7 100644 --- a/parsing_cocci/unify_ast.ml +++ b/parsing_cocci/unify_ast.ml @@ -453,6 +453,7 @@ and unify_rule_elem re1 re2 = Ast.IteratorHeader(nm2,lp2,args2,rp2)) -> conjunct_bindings (unify_ident nm1 nm2) (unify_dots unify_expression edots args1 args2) + | (Ast.Undef(_,n1),Ast.Undef(_,n2)) -> unify_ident n1 n2 | (Ast.DefineHeader(_,n1,p1),Ast.DefineHeader(_,n2,p2)) -> conjunct_bindings (unify_ident n1 n2) (unify_define_parameters p1 p2) diff --git a/parsing_cocci/unparse_ast0.ml b/parsing_cocci/unparse_ast0.ml index 7e09e53..2f6417f 100644 --- a/parsing_cocci/unparse_ast0.ml +++ b/parsing_cocci/unparse_ast0.ml @@ -545,6 +545,8 @@ and statement arity s = whn | Ast0.Include(inc,s) -> mcode print_string inc; print_string " "; mcode U.inc_file s + | Ast0.Undef(def,id) -> + mcode print_string def; print_string " "; ident id | Ast0.Define(def,id,params,body) -> mcode print_string def; print_string " "; ident id; print_define_parameters params; diff --git a/parsing_cocci/visitor_ast.ml b/parsing_cocci/visitor_ast.ml index 1264919..00310f1 100644 --- a/parsing_cocci/visitor_ast.ml +++ b/parsing_cocci/visitor_ast.ml @@ -364,6 +364,8 @@ let combiner bind option_default | Ast.Ty(ty) -> fullType ty | Ast.TopInit(init) -> initialiser init | Ast.Include(inc,name) -> bind (string_mcode inc) (inc_file_mcode name) + | Ast.Undef(def,id) -> + multibind [string_mcode def; ident id] | Ast.DefineHeader(def,id,params) -> multibind [string_mcode def; ident id; define_parameters params] | Ast.Default(def,colon) -> bind (string_mcode def) (string_mcode colon) @@ -862,6 +864,8 @@ let rebuilder | Ast.TopInit(init) -> Ast.TopInit(initialiser init) | Ast.Include(inc,name) -> Ast.Include(string_mcode inc,inc_file_mcode name) + | Ast.Undef(def,id) -> + Ast.Undef(string_mcode def,ident id) | Ast.DefineHeader(def,id,params) -> Ast.DefineHeader(string_mcode def,ident id, define_parameters params) diff --git a/parsing_cocci/visitor_ast0.ml b/parsing_cocci/visitor_ast0.ml index 1949afd..1b9ccbd 100644 --- a/parsing_cocci/visitor_ast0.ml +++ b/parsing_cocci/visitor_ast0.ml @@ -735,6 +735,10 @@ let visitor mode bind option_default let (inc_n,inc) = string_mcode inc in let (name_n,name) = inc_mcode name in (bind inc_n name_n, Ast0.Include(inc,name)) + | Ast0.Undef(def,id) -> + let (def_n,def) = string_mcode def in + let (id_n,id) = ident id in + (multibind [def_n;id_n],Ast0.Undef(def,id)) | Ast0.Define(def,id,params,body) -> let (def_n,def) = string_mcode def in let (id_n,id) = ident id in diff --git a/popl09/.depend b/popl09/.depend index 9dc7024..c88af14 100644 --- a/popl09/.depend +++ b/popl09/.depend @@ -1,35 +1,35 @@ -asttopopl.cmi: ast_popl.cmo ../parsing_cocci/ast_cocci.cmi -insert_quantifiers.cmi: ast_popl.cmo +asttopopl.cmi: ast_popl.cmo ../parsing_cocci/ast_cocci.cmi +insert_quantifiers.cmi: ast_popl.cmo popl.cmi: ../ctl/wrapper_ctl.cmi ../engine/lib_engine.cmo ../ctl/ast_ctl.cmo \ - ../parsing_cocci/ast_cocci.cmi + ../parsing_cocci/ast_cocci.cmi popltoctl.cmi: ../ctl/wrapper_ctl.cmi ../engine/lib_engine.cmo ast_popl.cmo \ - ../ctl/ast_ctl.cmo ../parsing_cocci/ast_cocci.cmi -pretty_print_popl.cmi: ast_popl.cmo -ast_popl.cmo: ../parsing_cocci/ast_cocci.cmi -ast_popl.cmx: ../parsing_cocci/ast_cocci.cmx + ../ctl/ast_ctl.cmo ../parsing_cocci/ast_cocci.cmi +pretty_print_popl.cmi: ast_popl.cmo +ast_popl.cmo: ../parsing_cocci/ast_cocci.cmi +ast_popl.cmx: ../parsing_cocci/ast_cocci.cmx asttopopl.cmo: ../parsing_cocci/pretty_print_cocci.cmi ast_popl.cmo \ - ../parsing_cocci/ast_cocci.cmi asttopopl.cmi + ../parsing_cocci/ast_cocci.cmi asttopopl.cmi asttopopl.cmx: ../parsing_cocci/pretty_print_cocci.cmx ast_popl.cmx \ - ../parsing_cocci/ast_cocci.cmx asttopopl.cmi -flag_popl.cmo: -flag_popl.cmx: + ../parsing_cocci/ast_cocci.cmx asttopopl.cmi +flag_popl.cmo: +flag_popl.cmx: insert_quantifiers.cmo: ../commons/common.cmi ast_popl.cmo \ - ../parsing_cocci/ast_cocci.cmi insert_quantifiers.cmi + ../parsing_cocci/ast_cocci.cmi insert_quantifiers.cmi insert_quantifiers.cmx: ../commons/common.cmx ast_popl.cmx \ - ../parsing_cocci/ast_cocci.cmx insert_quantifiers.cmi + ../parsing_cocci/ast_cocci.cmx insert_quantifiers.cmi popl.cmo: ../ctl/wrapper_ctl.cmi popltoctl.cmi ../engine/lib_engine.cmo \ insert_quantifiers.cmi asttopopl.cmi ../ctl/ast_ctl.cmo \ - ../parsing_cocci/ast_cocci.cmi popl.cmi + ../parsing_cocci/ast_cocci.cmi popl.cmi popl.cmx: ../ctl/wrapper_ctl.cmx popltoctl.cmx ../engine/lib_engine.cmx \ insert_quantifiers.cmx asttopopl.cmx ../ctl/ast_ctl.cmx \ - ../parsing_cocci/ast_cocci.cmx popl.cmi + ../parsing_cocci/ast_cocci.cmx popl.cmi popltoctl.cmo: ../ctl/wrapper_ctl.cmi ../parsing_cocci/visitor_ast.cmi \ ../engine/lib_engine.cmo flag_popl.cmo ast_popl.cmo ../ctl/ast_ctl.cmo \ - ../parsing_cocci/ast_cocci.cmi popltoctl.cmi + ../parsing_cocci/ast_cocci.cmi popltoctl.cmi popltoctl.cmx: ../ctl/wrapper_ctl.cmx ../parsing_cocci/visitor_ast.cmx \ ../engine/lib_engine.cmx flag_popl.cmx ast_popl.cmx ../ctl/ast_ctl.cmx \ - ../parsing_cocci/ast_cocci.cmx popltoctl.cmi + ../parsing_cocci/ast_cocci.cmx popltoctl.cmi pretty_print_popl.cmo: ../parsing_cocci/pretty_print_cocci.cmi ast_popl.cmo \ - ../parsing_cocci/ast_cocci.cmi pretty_print_popl.cmi + ../parsing_cocci/ast_cocci.cmi pretty_print_popl.cmi pretty_print_popl.cmx: ../parsing_cocci/pretty_print_cocci.cmx ast_popl.cmx \ - ../parsing_cocci/ast_cocci.cmx pretty_print_popl.cmi + ../parsing_cocci/ast_cocci.cmx pretty_print_popl.cmi diff --git a/python/.depend b/python/.depend index db7c388..facc6d2 100644 --- a/python/.depend +++ b/python/.depend @@ -1,12 +1,12 @@ -pycocci.cmi: ../parsing_cocci/ast_cocci.cmi ../parsing_c/ast_c.cmo -pycocci_aux.cmi: ../parsing_c/ast_c.cmo -no_pycocci.cmo: pycocci_aux.cmi ../commons/common.cmi ../parsing_c/ast_c.cmo -no_pycocci.cmx: pycocci_aux.cmx ../commons/common.cmx ../parsing_c/ast_c.cmx +pycocci.cmi: ../parsing_cocci/ast_cocci.cmi ../parsing_c/ast_c.cmo +pycocci_aux.cmi: ../parsing_c/ast_c.cmo +no_pycocci.cmo: pycocci_aux.cmi ../commons/common.cmi ../parsing_c/ast_c.cmo +no_pycocci.cmx: pycocci_aux.cmx ../commons/common.cmx ../parsing_c/ast_c.cmx pycocci_aux.cmo: ../parsing_c/pretty_print_c.cmi ../commons/common.cmi \ - ../parsing_cocci/ast_cocci.cmi ../parsing_c/ast_c.cmo pycocci_aux.cmi + ../parsing_cocci/ast_cocci.cmi ../parsing_c/ast_c.cmo pycocci_aux.cmi pycocci_aux.cmx: ../parsing_c/pretty_print_c.cmx ../commons/common.cmx \ - ../parsing_cocci/ast_cocci.cmx ../parsing_c/ast_c.cmx pycocci_aux.cmi + ../parsing_cocci/ast_cocci.cmx ../parsing_c/ast_c.cmx pycocci_aux.cmi yes_pycocci.cmo: pycocci_aux.cmi ../globals/flag.cmo ../commons/common.cmi \ - ../parsing_c/ast_c.cmo + ../parsing_c/ast_c.cmo yes_pycocci.cmx: pycocci_aux.cmx ../globals/flag.cmx ../commons/common.cmx \ - ../parsing_c/ast_c.cmx + ../parsing_c/ast_c.cmx diff --git a/standard.h b/standard.h index 309bfeb..146b8f2 100644 --- a/standard.h +++ b/standard.h @@ -413,8 +413,8 @@ static const struct machine_desc __mach_desc_##_type \ // include/linux/types.h //#define BITS_TO_LONGS(bits) \ // (((bits)+BITS_PER_LONG-1)/BITS_PER_LONG) -#define DECLARE_BITMAP(name,bits) \ - /*unsigned*/ long name[BITS_TO_LONGS(bits)] +#define DECLARE_BITMAP(name,bits) +// /*unsigned*/ long name[BITS_TO_LONGS(bits)] // include/asm-i386/percpu.h diff --git a/testing.ml b/testing.ml index 4929934..0192b10 100644 --- a/testing.ml +++ b/testing.ml @@ -463,15 +463,15 @@ let test_parse_cocci file = Format.print_newline(); (* compile ocaml script code *) (match Prepare_ocamlcocci.prepare file xs with - None -> () - | Some ocaml_script_file -> - (* compile file *) - Prepare_ocamlcocci.load_file ocaml_script_file; - (* remove file *) - (if not !Common.save_tmp_files - then Prepare_ocamlcocci.clean_file ocaml_script_file); - (* Print the list of registered functions *) - Prepare_ocamlcocci.test ()); + None -> () + | Some ocaml_script_file -> + (* compile file *) + Prepare_ocamlcocci.load_file ocaml_script_file; + (* remove file *) + (if not !Common.save_tmp_files + then Prepare_ocamlcocci.clean_file ocaml_script_file); + (* Print the list of registered functions *) + Prepare_ocamlcocci.test ()); Printf.printf "grep tokens\n"; (match grep_tokens with None -> pr "No query" diff --git a/tests/undef.c b/tests/undef.c new file mode 100644 index 0000000..ed1eea6 --- /dev/null +++ b/tests/undef.c @@ -0,0 +1,17 @@ +#define foo 12 +#undef foo + +#define foo 12 +int main () { +#undef foo + return; +} + +int main () { +#define foo 12 + return; +} +#undef foo + + + diff --git a/tests/undef.cocci b/tests/undef.cocci new file mode 100644 index 0000000..9451c14 --- /dev/null +++ b/tests/undef.cocci @@ -0,0 +1,5 @@ +@@ +identifier x; +@@ + +- #undef x diff --git a/tests/undef1.c b/tests/undef1.c new file mode 100644 index 0000000..f270f58 --- /dev/null +++ b/tests/undef1.c @@ -0,0 +1,4 @@ +#define foo 12 +#define foo 12 +#undef foo +#undef foo diff --git a/tests/undef1.cocci b/tests/undef1.cocci new file mode 100644 index 0000000..9451c14 --- /dev/null +++ b/tests/undef1.cocci @@ -0,0 +1,5 @@ +@@ +identifier x; +@@ + +- #undef x diff --git a/tests/undef2.c b/tests/undef2.c new file mode 100644 index 0000000..f6d3ac3 --- /dev/null +++ b/tests/undef2.c @@ -0,0 +1,2 @@ +#define foo 12 +#undef foo diff --git a/tests/undef2.cocci b/tests/undef2.cocci new file mode 100644 index 0000000..aae9a18 --- /dev/null +++ b/tests/undef2.cocci @@ -0,0 +1,4 @@ +@@ +@@ + +- #define foo 12