From 59f663767487349157d2c103bfe92dc0b86b1e53 Mon Sep 17 00:00:00 2001 From: TizenOpenSource Date: Wed, 7 Feb 2024 16:02:08 +0900 Subject: [PATCH] Imported Upstream version 3.1.1 --- .github/FUNDING.yml | 12 - .github/SECURITY.md | 11 - .github/workflows/ci.yml | 58 - CHANGES | 298 +- CONTRIBUTING.md | 70 +- PKG-INFO | 27 +- README.rst | 21 +- docs/HowToUsePyparsing.rst | 149 +- docs/_static/pyparsingClassDiagram_3.0.0.jpg | Bin 324253 -> 0 bytes docs/_static/pyparsingClassDiagram_3.0.9.jpg | Bin 0 -> 287969 bytes docs/conf.py | 2 +- docs/make_sphinx_docs.bat | 1 + docs/pyparsing_class_diagram.puml | 3 +- docs/pyparsing_class_diagram.svg | 836 -- docs/whats_new_in_3_0_0.rst | 29 +- examples/0README.html | 20 +- examples/__pycache__/TAP.cpython-310.pyc | Bin 6195 -> 0 bytes examples/__pycache__/TAP.cpython-311.pyc | Bin 13047 -> 0 bytes examples/__pycache__/TAP.cpython-36.pyc | Bin 6083 -> 0 bytes examples/__pycache__/TAP.cpython-37.pyc | Bin 6087 -> 0 bytes examples/__pycache__/TAP.cpython-38.pyc | Bin 6169 -> 0 bytes examples/__pycache__/TAP.cpython-39.pyc | Bin 6171 -> 0 bytes examples/__pycache__/__init__.cpython-310.pyc | Bin 138 -> 0 bytes examples/__pycache__/__init__.cpython-311.pyc | Bin 159 -> 0 bytes examples/__pycache__/__init__.cpython-36.pyc | Bin 128 -> 0 bytes examples/__pycache__/__init__.cpython-37.pyc | Bin 132 -> 0 bytes examples/__pycache__/__init__.cpython-38.pyc | Bin 136 -> 0 bytes examples/__pycache__/__init__.cpython-39.pyc | Bin 136 -> 0 bytes .../__pycache__/btpyparse.cpython-310.pyc | Bin 3370 -> 0 bytes .../__pycache__/btpyparse.cpython-311.pyc | Bin 6662 -> 0 bytes examples/__pycache__/btpyparse.cpython-36.pyc | Bin 3311 -> 0 bytes examples/__pycache__/btpyparse.cpython-37.pyc | Bin 3315 -> 0 bytes examples/__pycache__/btpyparse.cpython-38.pyc | Bin 3360 -> 0 bytes examples/__pycache__/btpyparse.cpython-39.pyc | Bin 3354 -> 0 bytes .../__pycache__/configParse.cpython-310.pyc | Bin 1955 -> 0 bytes .../__pycache__/configParse.cpython-311.pyc | Bin 5169 -> 0 bytes .../__pycache__/configParse.cpython-36.pyc | Bin 1946 -> 0 bytes .../__pycache__/configParse.cpython-37.pyc | Bin 1950 -> 0 bytes .../__pycache__/configParse.cpython-38.pyc | Bin 1975 -> 0 bytes .../__pycache__/configParse.cpython-39.pyc | Bin 1965 -> 0 bytes .../__pycache__/delta_time.cpython-310.pyc | Bin 10624 -> 0 bytes .../__pycache__/delta_time.cpython-311.pyc | Bin 27447 -> 0 bytes .../__pycache__/delta_time.cpython-36.pyc | Bin 10381 -> 0 bytes .../__pycache__/delta_time.cpython-37.pyc | Bin 10267 -> 0 bytes .../__pycache__/delta_time.cpython-38.pyc | Bin 10404 -> 0 bytes .../__pycache__/delta_time.cpython-39.pyc | Bin 10396 -> 0 bytes examples/__pycache__/ebnf.cpython-310.pyc | Bin 3700 -> 0 bytes examples/__pycache__/ebnf.cpython-311.pyc | Bin 8382 -> 0 bytes examples/__pycache__/ebnf.cpython-36.pyc | Bin 3925 -> 0 bytes examples/__pycache__/ebnf.cpython-37.pyc | Bin 3929 -> 0 bytes examples/__pycache__/ebnf.cpython-38.pyc | Bin 3837 -> 0 bytes examples/__pycache__/ebnf.cpython-39.pyc | Bin 3816 -> 0 bytes .../__pycache__/eval_arith.cpython-310.pyc | Bin 6977 -> 0 bytes .../__pycache__/eval_arith.cpython-311.pyc | Bin 13119 -> 0 bytes .../__pycache__/eval_arith.cpython-36.pyc | Bin 7548 -> 0 bytes .../__pycache__/eval_arith.cpython-37.pyc | Bin 7537 -> 0 bytes .../__pycache__/eval_arith.cpython-38.pyc | Bin 7398 -> 0 bytes .../__pycache__/eval_arith.cpython-39.pyc | Bin 7206 -> 0 bytes examples/__pycache__/fourFn.cpython-310.pyc | Bin 5164 -> 0 bytes examples/__pycache__/fourFn.cpython-311.pyc | Bin 12834 -> 0 bytes examples/__pycache__/fourFn.cpython-36.pyc | Bin 5252 -> 0 bytes examples/__pycache__/fourFn.cpython-37.pyc | Bin 5104 -> 0 bytes examples/__pycache__/fourFn.cpython-38.pyc | Bin 5152 -> 0 bytes examples/__pycache__/fourFn.cpython-39.pyc | Bin 5150 -> 0 bytes examples/__pycache__/idlParse.cpython-310.pyc | Bin 5387 -> 0 bytes examples/__pycache__/idlParse.cpython-311.pyc | Bin 10528 -> 0 bytes examples/__pycache__/idlParse.cpython-36.pyc | Bin 5091 -> 0 bytes examples/__pycache__/idlParse.cpython-37.pyc | Bin 5095 -> 0 bytes examples/__pycache__/idlParse.cpython-38.pyc | Bin 5377 -> 0 bytes examples/__pycache__/idlParse.cpython-39.pyc | Bin 5379 -> 0 bytes .../__pycache__/jsonParser.cpython-310.pyc | Bin 3276 -> 0 bytes .../__pycache__/jsonParser.cpython-311.pyc | Bin 7556 -> 0 bytes .../__pycache__/jsonParser.cpython-36.pyc | Bin 3240 -> 0 bytes .../__pycache__/jsonParser.cpython-37.pyc | Bin 3244 -> 0 bytes .../__pycache__/jsonParser.cpython-38.pyc | Bin 3276 -> 0 bytes .../__pycache__/jsonParser.cpython-39.pyc | Bin 3270 -> 0 bytes .../mozillaCalendarParser.cpython-310.pyc | Bin 2085 -> 0 bytes .../mozillaCalendarParser.cpython-311.pyc | Bin 6250 -> 0 bytes .../mozillaCalendarParser.cpython-36.pyc | Bin 2017 -> 0 bytes .../mozillaCalendarParser.cpython-37.pyc | Bin 2021 -> 0 bytes .../mozillaCalendarParser.cpython-38.pyc | Bin 2073 -> 0 bytes .../mozillaCalendarParser.cpython-39.pyc | Bin 2073 -> 0 bytes examples/__pycache__/numerics.cpython-310.pyc | Bin 1314 -> 0 bytes examples/__pycache__/numerics.cpython-311.pyc | Bin 2722 -> 0 bytes examples/__pycache__/numerics.cpython-36.pyc | Bin 1295 -> 0 bytes examples/__pycache__/numerics.cpython-37.pyc | Bin 1299 -> 0 bytes examples/__pycache__/numerics.cpython-38.pyc | Bin 1308 -> 0 bytes examples/__pycache__/numerics.cpython-39.pyc | Bin 1308 -> 0 bytes examples/__pycache__/oc.cpython-310.pyc | Bin 3840 -> 0 bytes examples/__pycache__/oc.cpython-311.pyc | Bin 6745 -> 0 bytes examples/__pycache__/oc.cpython-36.pyc | Bin 3756 -> 0 bytes examples/__pycache__/oc.cpython-37.pyc | Bin 3760 -> 0 bytes examples/__pycache__/oc.cpython-38.pyc | Bin 3832 -> 0 bytes examples/__pycache__/oc.cpython-39.pyc | Bin 3830 -> 0 bytes .../__pycache__/romanNumerals.cpython-310.pyc | Bin 2387 -> 0 bytes .../__pycache__/romanNumerals.cpython-311.pyc | Bin 5220 -> 0 bytes .../__pycache__/romanNumerals.cpython-36.pyc | Bin 2301 -> 0 bytes .../__pycache__/romanNumerals.cpython-37.pyc | Bin 2299 -> 0 bytes .../__pycache__/romanNumerals.cpython-38.pyc | Bin 2375 -> 0 bytes .../__pycache__/romanNumerals.cpython-39.pyc | Bin 2371 -> 0 bytes .../__pycache__/select_parser.cpython-310.pyc | Bin 6957 -> 0 bytes .../__pycache__/select_parser.cpython-311.pyc | Bin 13947 -> 0 bytes .../__pycache__/select_parser.cpython-36.pyc | Bin 6702 -> 0 bytes .../__pycache__/select_parser.cpython-37.pyc | Bin 6691 -> 0 bytes .../__pycache__/select_parser.cpython-38.pyc | Bin 6945 -> 0 bytes .../__pycache__/select_parser.cpython-39.pyc | Bin 6943 -> 0 bytes .../__pycache__/sexpParser.cpython-310.pyc | Bin 5244 -> 0 bytes .../__pycache__/sexpParser.cpython-311.pyc | Bin 8862 -> 0 bytes .../__pycache__/sexpParser.cpython-36.pyc | Bin 5168 -> 0 bytes .../__pycache__/sexpParser.cpython-37.pyc | Bin 5159 -> 0 bytes .../__pycache__/sexpParser.cpython-38.pyc | Bin 5238 -> 0 bytes .../__pycache__/sexpParser.cpython-39.pyc | Bin 5228 -> 0 bytes .../__pycache__/simpleBool.cpython-310.pyc | Bin 3616 -> 0 bytes .../__pycache__/simpleBool.cpython-311.pyc | Bin 6475 -> 0 bytes .../__pycache__/simpleBool.cpython-36.pyc | Bin 3729 -> 0 bytes .../__pycache__/simpleBool.cpython-37.pyc | Bin 3708 -> 0 bytes .../__pycache__/simpleBool.cpython-38.pyc | Bin 3728 -> 0 bytes .../__pycache__/simpleBool.cpython-39.pyc | Bin 3682 -> 0 bytes .../__pycache__/simpleSQL.cpython-310.pyc | Bin 2671 -> 0 bytes .../__pycache__/simpleSQL.cpython-311.pyc | Bin 5340 -> 0 bytes examples/__pycache__/simpleSQL.cpython-36.pyc | Bin 2609 -> 0 bytes examples/__pycache__/simpleSQL.cpython-37.pyc | Bin 2613 -> 0 bytes examples/__pycache__/simpleSQL.cpython-38.pyc | Bin 2669 -> 0 bytes examples/__pycache__/simpleSQL.cpython-39.pyc | Bin 2667 -> 0 bytes .../__pycache__/test_bibparse.cpython-310.pyc | Bin 6169 -> 0 bytes .../__pycache__/test_bibparse.cpython-311.pyc | Bin 19365 -> 0 bytes .../test_bibparse.cpython-36-pytest-7.0.1.pyc | Bin 6335 -> 0 bytes .../__pycache__/test_bibparse.cpython-37.pyc | Bin 6232 -> 0 bytes .../__pycache__/test_bibparse.cpython-38.pyc | Bin 6177 -> 0 bytes .../__pycache__/test_bibparse.cpython-39.pyc | Bin 6157 -> 0 bytes examples/adventureEngine.py | 384 +- examples/bf.py | 159 + examples/booleansearchparser.py | 104 +- examples/builtin_parse_action_demo.py | 10 +- examples/chemicalFormulas.py | 121 - examples/chemical_formulas.py | 119 + examples/cpp_enum_parser.py | 24 +- ...seActions.py => datetime_parse_actions.py} | 168 +- examples/delta_time.py | 132 +- examples/eval_arith.py | 28 +- examples/excelExpr.py | 106 - examples/excel_expr.py | 93 + examples/gen_ctypes.py | 30 +- examples/getNTPserversNew.py | 8 +- examples/greeting.py | 6 +- examples/greetingInGreek.py | 2 +- examples/greetingInKorean.py | 8 +- examples/{holaMundo.py => hola_mundo.py} | 140 +- examples/htmlStripper.py | 42 - examples/html_stripper.py | 58 + ...tmlTableParser.py => html_table_parser.py} | 34 +- examples/{invRegex.py => inv_regex.py} | 131 +- examples/linenoExample.py | 56 - examples/lineno_example.py | 56 + examples/lucene_grammar.py | 96 +- .../{macroExpander.py => macro_expander.py} | 125 +- examples/make_diagram.py | 2 + examples/number_words.py | 34 +- examples/numerics.py | 10 +- examples/parsePythonValue.py | 71 - examples/parse_python_value.py | 80 + ...xample.py => parse_results_sum_example.py} | 58 +- examples/pgn.py | 48 +- examples/protobuf_parser.py | 48 +- examples/pymicko.py | 1738 ---- examples/rangeCheck.py | 64 - examples/range_check.py | 111 + examples/readJson.py | 30 +- examples/rosettacode.py | 63 +- examples/sparser.py | 367 - examples/stackish.py | 76 +- examples/tag_emitter.py | 34 + examples/unicode_denormalizer.py | 110 +- examples/verilog/Ctr3sr.v | 19 - examples/verilog/INIT | 1 - examples/verilog/RANDOM_GATE | 106 - examples/verilog/RANDOM_INTERCONNECT | 29 - examples/verilog/SEED | 2 - examples/verilog/TestCtr3sr.v | 25 - examples/verilog/addacc.v | 49 - examples/verilog/addacc1_dro.v | 149 - examples/verilog/addacc1_t1ff.v | 199 - examples/verilog/addacc_conf.v | 116 - examples/verilog/addacc_dro.v | 150 - examples/verilog/addacc_t1ff.v | 200 - examples/verilog/allParseOutput.zip | Bin 265270 -> 0 bytes examples/verilog/and.v | 153 - examples/verilog/and_gate.v | 185 - examples/verilog/conf.v | 94 - examples/verilog/core_test.v | 94 - examples/verilog/count2bit.v | 29 - examples/verilog/count_all_prims_test.v | 49 - examples/verilog/count_loads_test.v | 148 - examples/verilog/dds.v | 122 - examples/verilog/diff_udp.v | 19 - examples/verilog/display_all_nets_test.v | 55 - examples/verilog/div16.v | 242 - examples/verilog/dro.v | 119 - examples/verilog/dro1_cell.v | 149 - examples/verilog/dro_cell.v | 148 - examples/verilog/dump_and_fill_mem_test.v | 107 - examples/verilog/exprinfo_test.v | 40 - examples/verilog/fetch_values_test.v | 30 - examples/verilog/ff.v | 19 - examples/verilog/ff_test.v | 44 - examples/verilog/fifo.v | 327 - examples/verilog/find_driver.tcl.gz | 115 - examples/verilog/framer.v | 323 - examples/verilog/func_72bit_test.v | 25 - examples/verilog/gen.v | 63 - examples/verilog/gencrc.v | 287 - examples/verilog/gzip.exe | Bin 91648 -> 0 bytes examples/verilog/hadd.v | 216 - examples/verilog/hasCompilerDirectives/pl.v | 434 - examples/verilog/hello_test.v | 20 - examples/verilog/in_port.v | 115 - examples/verilog/inv.v | 119 - examples/verilog/inv_cell.v | 150 - examples/verilog/invoke_commands_test.v | 26 - examples/verilog/invoke_options_test.v | 36 - examples/verilog/jtl2.v | 27 - examples/verilog/jutzi | 116 - examples/verilog/list_cells_test.v | 140 - examples/verilog/list_nets_test.v | 48 - examples/verilog/list_parameters_test.v | 48 - examples/verilog/list_path_delays_test.v | 50 - examples/verilog/list_pathout_ports_test.v | 58 - examples/verilog/list_prim_delays_test.v | 45 - examples/verilog/load_in.v | 12 - examples/verilog/load_out.v | 7 - examples/verilog/mem_arb.v | 179 - examples/verilog/mipd_delays_test.v | 42 - examples/verilog/mult16.v | 147 - examples/verilog/multi21_udp.v | 13 - examples/verilog/my_monitor1_test.v | 38 - examples/verilog/my_monitor2_test.v | 38 - examples/verilog/my_monitor_test.v | 45 - examples/verilog/my_strobe_test.v | 75 - examples/verilog/myram64x16.v | 28 - examples/verilog/nco.v | 244 - examples/verilog/ndro.v | 149 - examples/verilog/new/count_bits.v | 22 - examples/verilog/new/count_bits8.v | 9 - examples/verilog/new/exampleresults.txt | 112 - examples/verilog/new2/bar.v | 17 - examples/verilog/new2/foo.v | 18 - examples/verilog/new2/fubar.v | 92 - examples/verilog/new3/b06.v | 151 - examples/verilog/new3/b10.v | 438 - examples/verilog/new3/ca_prng.v | 1311 --- .../verilog/new3/parseOutput/b06.v.parsed.txt | 898 -- .../verilog/new3/parseOutput/b10.v.parsed.txt | 3384 ------- .../new3/parseOutput/ca_prng.v.parsed.txt | 3729 -------- examples/verilog/nodeinfo_test.v | 66 - examples/verilog/onehot.v | 220 - examples/verilog/or.v | 153 - examples/verilog/out_port.v | 98 - .../verilog/parseOutput/Ctr3sr.v.parsed.txt | 34 - .../parseOutput/TestCtr3sr.v.parsed.txt | 53 - .../verilog/parseOutput/addacc.v.parsed.txt | 90 - .../parseOutput/addacc1_dro.v.parsed.txt | 339 - .../parseOutput/addacc1_t1ff.v.parsed.txt | 477 - .../parseOutput/addacc_conf.v.parsed.txt | 311 - .../parseOutput/addacc_dro.v.parsed.txt | 340 - .../parseOutput/addacc_t1ff.v.parsed.txt | 478 - examples/verilog/parseOutput/and.v.parsed.txt | 358 - .../verilog/parseOutput/and_gate.v.parsed.txt | 451 - .../verilog/parseOutput/conf.v.parsed.txt | 265 - .../parseOutput/core_test.v.parsed.txt | 259 - .../parseOutput/count2bit.v.parsed.txt | 90 - .../count_all_prims_test.v.parsed.txt | 83 - .../parseOutput/count_loads_test.v.parsed.txt | 311 - examples/verilog/parseOutput/dds.v.parsed.txt | 204 - .../verilog/parseOutput/diff_udp.v.parsed.txt | 41 - .../display_all_nets_test.v.parsed.txt | 104 - .../verilog/parseOutput/div16.v.parsed.txt | 510 -- examples/verilog/parseOutput/dro.v.parsed.txt | 247 - .../parseOutput/dro1_cell.v.parsed.txt | 339 - .../verilog/parseOutput/dro_cell.v.parsed.txt | 337 - .../dump_and_fill_mem_test.v.parsed.txt | 365 - .../parseOutput/exprinfo_test.v.parsed.txt | 69 - .../fetch_values_test.v.parsed.txt | 43 - examples/verilog/parseOutput/ff.v.parsed.txt | 47 - .../verilog/parseOutput/ff_test.v.parsed.txt | 91 - .../verilog/parseOutput/fifo.v.parsed.txt | 704 -- .../verilog/parseOutput/framer.v.parsed.txt | 800 -- .../parseOutput/func_72bit_test.v.parsed.txt | 34 - examples/verilog/parseOutput/gen.v.parsed.txt | 111 - .../verilog/parseOutput/gencrc.v.parsed.txt | 635 -- .../verilog/parseOutput/hadd.v.parsed.txt | 639 -- .../parseOutput/hello_test.v.parsed.txt | 28 - .../verilog/parseOutput/in_port.v.parsed.txt | 300 - examples/verilog/parseOutput/inv.v.parsed.txt | 247 - .../verilog/parseOutput/inv_cell.v.parsed.txt | 339 - .../invoke_commands_test.v.parsed.txt | 34 - .../invoke_options_test.v.parsed.txt | 75 - .../verilog/parseOutput/jtl2.v.parsed.txt | 43 - .../parseOutput/list_cells_test.v.parsed.txt | 271 - .../parseOutput/list_nets_test.v.parsed.txt | 88 - .../list_parameters_test.v.parsed.txt | 102 - .../list_path_delays_test.v.parsed.txt | 102 - .../list_pathout_ports_test.v.parsed.txt | 108 - .../list_prim_delays_test.v.parsed.txt | 100 - .../verilog/parseOutput/load_in.v.parsed.txt | 19 - .../verilog/parseOutput/load_out.v.parsed.txt | 12 - .../verilog/parseOutput/mem_arb.v.parsed.txt | 291 - .../parseOutput/mipd_delays_test.v.parsed.txt | 97 - .../verilog/parseOutput/mult16.v.parsed.txt | 312 - .../parseOutput/multi21_udp.v.parsed.txt | 30 - .../parseOutput/my_monitor1_test.v.parsed.txt | 61 - .../parseOutput/my_monitor2_test.v.parsed.txt | 61 - .../parseOutput/my_monitor_test.v.parsed.txt | 85 - .../parseOutput/my_strobe_test.v.parsed.txt | 198 - .../parseOutput/myram64x16.v.parsed.txt | 63 - examples/verilog/parseOutput/nco.v.parsed.txt | 489 -- .../verilog/parseOutput/ndro.v.parsed.txt | 320 - .../parseOutput/nodeinfo_test.v.parsed.txt | 134 - .../verilog/parseOutput/onehot.v.parsed.txt | 436 - examples/verilog/parseOutput/or.v.parsed.txt | 358 - .../verilog/parseOutput/out_port.v.parsed.txt | 266 - examples/verilog/parseOutput/pic.v.parsed.txt | 6283 ------------- .../verilog/parseOutput/pipe1.v.parsed.txt | 358 - .../verilog/parseOutput/pipe2.v.parsed.txt | 1189 --- examples/verilog/parseOutput/pl.v.parsed.txt | 833 -- .../parseOutput/port_info_test.v.parsed.txt | 73 - .../verilog/parseOutput/pow_test.v.parsed.txt | 73 - .../parseOutput/primitives.v.parsed.txt | 137 - .../parseOutput/propagatep_test.v.parsed.txt | 104 - .../verilog/parseOutput/psr1.v.parsed.txt | 67 - .../parseOutput/psr1_conf.v.parsed.txt | 311 - .../verilog/parseOutput/psr1_dro.v.parsed.txt | 342 - .../parseOutput/psr1_split.v.parsed.txt | 104 - .../verilog/parseOutput/psr2.v.parsed.txt | 61 - .../verilog/parseOutput/psr2_and.v.parsed.txt | 451 - .../parseOutput/psr2_split.v.parsed.txt | 104 - .../read_4state_value_test.v.parsed.txt | 70 - .../read_attribute_test.v.parsed.txt | 86 - .../parseOutput/read_delays_test.v.parsed.txt | 87 - .../read_stimulus_short_test.v.parsed.txt | 163 - .../read_stimulus_test.v.parsed.txt | 165 - .../read_strengthval_test.v.parsed.txt | 75 - .../read_test_vector_test.v.parsed.txt | 71 - .../read_timeval_test.v.parsed.txt | 40 - .../parseOutput/read_vector_test.v.parsed.txt | 71 - .../parseOutput/read_vecval_test.v.parsed.txt | 42 - .../parseOutput/realpow_test.v.parsed.txt | 68 - examples/verilog/parseOutput/rf.v.parsed.txt | 2774 ------ .../sci_alu_comb_calltf_shell.v.parsed.txt | 81 - .../sci_alu_comb_calltf_test.v.parsed.txt | 102 - .../sci_alu_comb_misctf_shell.v.parsed.txt | 79 - .../sci_alu_comb_misctf_test.v.parsed.txt | 102 - .../sci_alu_combinational_shell.v.parsed.txt | 79 - .../sci_alu_combinational_test.v.parsed.txt | 102 - .../sci_alu_latched_shell.v.parsed.txt | 83 - .../sci_alu_latched_test.v.parsed.txt | 139 - .../sci_alu_sequential_shell.v.parsed.txt | 83 - .../sci_alu_sequential_test.v.parsed.txt | 110 - .../sci_alu_synchronized_shell.v.parsed.txt | 79 - .../sci_alu_synchronized_test.v.parsed.txt | 127 - .../sci_alu_with_delays_shell.v.parsed.txt | 165 - .../sci_alu_with_delays_test.v.parsed.txt | 102 - .../set_mipd_delays_test.v.parsed.txt | 99 - .../show_all_nets_test.v.parsed.txt | 89 - .../show_all_signals1_test.v.parsed.txt | 87 - .../show_all_signals2_test.v.parsed.txt | 89 - .../show_all_signals3_test.v.parsed.txt | 88 - .../show_all_signals_1_test.v.parsed.txt | 104 - .../show_all_signals_2_test.v.parsed.txt | 96 - .../show_all_signals_3_test.v.parsed.txt | 89 - .../parseOutput/show_value_test.v.parsed.txt | 95 - .../verilog/parseOutput/sig_gen.v.parsed.txt | 49 - .../parseOutput/simple_core.v.parsed.txt | 318 - .../verilog/parseOutput/splitter.v.parsed.txt | 52 - .../verilog/parseOutput/sqrt32.v.parsed.txt | 2305 ----- .../verilog/parseOutput/sqrt8m.v.parsed.txt | 410 - .../parseOutput/sr_nv_ctf.v.parsed.txt | 269 - .../verilog/parseOutput/srcnt.v.parsed.txt | 270 - .../verilog/parseOutput/string.v.parsed.txt | 140 - .../verilog/parseOutput/t1ff.v.parsed.txt | 380 - .../verilog/parseOutput/testcase.v.parsed.txt | 198 - .../parseOutput/testcase2.v.parsed.txt | 506 -- .../parseOutput/testcase3.v.parsed.txt | 817 -- .../parseOutput/testcase4.v.parsed.txt | 237 - .../parseOutput/testcase5.v.parsed.txt | 95 - examples/verilog/parseOutput/tff.v.parsed.txt | 159 - .../timescale_info_test.v.parsed.txt | 74 - examples/verilog/parseOutput/usb.v.parsed.txt | 746 -- .../use_workarea_test.v.parsed.txt | 43 - .../verilog/parseOutput/utmi_if.v.parsed.txt | 354 - .../vpi_utilities_test.v.parsed.txt | 87 - examples/verilog/parseOutput/wb.v.parsed.txt | 296 - .../verilog/parseOutput/wpulse.v.parsed.txt | 359 - examples/verilog/parseOutput/xor.v.parsed.txt | 377 - .../parseOutput/zzzexample.v.parsed.txt | 496 -- examples/verilog/pic.v | 2247 ----- examples/verilog/pipe1.v | 173 - examples/verilog/pipe2.v | 461 - examples/verilog/pl.v | 434 - examples/verilog/pli_handbook_examples_pc.zip | Bin 372454 -> 0 bytes examples/verilog/port_info_test.v | 42 - examples/verilog/pow_test.v | 41 - examples/verilog/primitives.v | 100 - examples/verilog/propagatep_test.v | 46 - examples/verilog/psr1.v | 35 - examples/verilog/psr1_conf.v | 116 - examples/verilog/psr1_dro.v | 153 - examples/verilog/psr1_split.v | 55 - examples/verilog/psr2.v | 31 - examples/verilog/psr2_and.v | 185 - examples/verilog/psr2_split.v | 55 - examples/verilog/read_4state_value_test.v | 40 - examples/verilog/read_attribute_test.v | 50 - examples/verilog/read_delays_test.v | 48 - examples/verilog/read_stimulus_short_test.v | 65 - examples/verilog/read_stimulus_test.v | 68 - examples/verilog/read_strengthval_test.v | 43 - examples/verilog/read_test_vector_test.v | 36 - examples/verilog/read_timeval_test.v | 27 - examples/verilog/read_vector_test.v | 36 - examples/verilog/read_vecval_test.v | 28 - examples/verilog/realpow_test.v | 32 - examples/verilog/rf.v | 938 -- examples/verilog/sci_alu_comb_calltf_shell.v | 40 - examples/verilog/sci_alu_comb_calltf_test.v | 48 - examples/verilog/sci_alu_comb_misctf_shell.v | 39 - examples/verilog/sci_alu_comb_misctf_test.v | 48 - .../verilog/sci_alu_combinational_shell.v | 39 - examples/verilog/sci_alu_combinational_test.v | 48 - examples/verilog/sci_alu_latched_shell.v | 40 - examples/verilog/sci_alu_latched_test.v | 55 - examples/verilog/sci_alu_sequential_shell.v | 40 - examples/verilog/sci_alu_sequential_test.v | 52 - examples/verilog/sci_alu_synchronized_shell.v | 39 - examples/verilog/sci_alu_synchronized_test.v | 50 - examples/verilog/sci_alu_with_delays_shell.v | 76 - examples/verilog/sci_alu_with_delays_test.v | 48 - examples/verilog/set_mipd_delays_test.v | 52 - examples/verilog/show_all_nets_test.v | 49 - examples/verilog/show_all_signals1_test.v | 47 - examples/verilog/show_all_signals2_test.v | 49 - examples/verilog/show_all_signals3_test.v | 49 - examples/verilog/show_all_signals_1_test.v | 56 - examples/verilog/show_all_signals_2_test.v | 51 - examples/verilog/show_all_signals_3_test.v | 49 - examples/verilog/show_value_test.v | 57 - examples/verilog/sig_gen.v | 29 - examples/verilog/simple_core.v | 125 - examples/verilog/splitter.v | 30 - examples/verilog/sqrt32.v | 400 - examples/verilog/sqrt8m.v | 186 - examples/verilog/sr_nv_ctf.v | 124 - examples/verilog/srcnt.v | 125 - examples/verilog/string.v | 66 - examples/verilog/t1ff.v | 169 - examples/verilog/testcase.v | 80 - examples/verilog/testcase2.v | 144 - examples/verilog/testcase3.v | 375 - examples/verilog/testcase4.v | 94 - examples/verilog/testcase5.v | 36 - examples/verilog/tff.v | 73 - examples/verilog/timescale_info_test.v | 44 - examples/verilog/usb.v | 407 - examples/verilog/use_workarea_test.v | 26 - examples/verilog/utmi_if.v | 196 - examples/verilog/vpi_utilities_test.v | 46 - examples/verilog/wb.v | 160 - examples/verilog/wpulse.v | 160 - examples/verilog/xor.v | 158 - examples/verilog/zzzexample.v | 130 - .../{verilogParse.py => verilog_parse.py} | 583 +- pyparsing/__init__.py | 78 +- pyparsing/actions.py | 34 +- pyparsing/common.py | 58 +- pyparsing/core.py | 1309 ++- pyparsing/diagram/__init__.py | 32 +- pyparsing/exceptions.py | 64 +- pyparsing/helpers.py | 196 +- pyparsing/results.py | 128 +- pyparsing/testing.py | 24 +- pyparsing/unicode.py | 101 +- pyparsing/util.py | 89 +- pyparsing_archive.py | 7815 ----------------- pyproject.toml | 8 + tests/README.md | 9 + tests/diag_embed.html | 61 + tests/diag_no_embed.html | 71 + tests/mypy-ignore-cases/forward_methods.py | 14 + tests/test_diagram.py | 251 +- tests/test_examples.py | 26 +- tests/test_simple_unit.py | 16 +- tests/test_unit.py | 2957 ++++--- tox.ini | 20 +- update_pyparsing_timestamp.py | 17 - 493 files changed, 6070 insertions(+), 81951 deletions(-) delete mode 100644 .github/FUNDING.yml delete mode 100644 .github/SECURITY.md delete mode 100644 .github/workflows/ci.yml delete mode 100644 docs/_static/pyparsingClassDiagram_3.0.0.jpg create mode 100644 docs/_static/pyparsingClassDiagram_3.0.9.jpg create mode 100644 docs/make_sphinx_docs.bat delete mode 100644 docs/pyparsing_class_diagram.svg delete mode 100644 examples/__pycache__/TAP.cpython-310.pyc delete mode 100644 examples/__pycache__/TAP.cpython-311.pyc delete mode 100644 examples/__pycache__/TAP.cpython-36.pyc delete mode 100644 examples/__pycache__/TAP.cpython-37.pyc delete mode 100644 examples/__pycache__/TAP.cpython-38.pyc delete mode 100644 examples/__pycache__/TAP.cpython-39.pyc delete mode 100644 examples/__pycache__/__init__.cpython-310.pyc delete mode 100644 examples/__pycache__/__init__.cpython-311.pyc delete mode 100644 examples/__pycache__/__init__.cpython-36.pyc delete mode 100644 examples/__pycache__/__init__.cpython-37.pyc delete mode 100644 examples/__pycache__/__init__.cpython-38.pyc delete mode 100644 examples/__pycache__/__init__.cpython-39.pyc delete mode 100644 examples/__pycache__/btpyparse.cpython-310.pyc delete mode 100644 examples/__pycache__/btpyparse.cpython-311.pyc delete mode 100644 examples/__pycache__/btpyparse.cpython-36.pyc delete mode 100644 examples/__pycache__/btpyparse.cpython-37.pyc delete mode 100644 examples/__pycache__/btpyparse.cpython-38.pyc delete mode 100644 examples/__pycache__/btpyparse.cpython-39.pyc delete mode 100644 examples/__pycache__/configParse.cpython-310.pyc delete mode 100644 examples/__pycache__/configParse.cpython-311.pyc delete mode 100644 examples/__pycache__/configParse.cpython-36.pyc delete mode 100644 examples/__pycache__/configParse.cpython-37.pyc delete mode 100644 examples/__pycache__/configParse.cpython-38.pyc delete mode 100644 examples/__pycache__/configParse.cpython-39.pyc delete mode 100644 examples/__pycache__/delta_time.cpython-310.pyc delete mode 100644 examples/__pycache__/delta_time.cpython-311.pyc delete mode 100644 examples/__pycache__/delta_time.cpython-36.pyc delete mode 100644 examples/__pycache__/delta_time.cpython-37.pyc delete mode 100644 examples/__pycache__/delta_time.cpython-38.pyc delete mode 100644 examples/__pycache__/delta_time.cpython-39.pyc delete mode 100644 examples/__pycache__/ebnf.cpython-310.pyc delete mode 100644 examples/__pycache__/ebnf.cpython-311.pyc delete mode 100644 examples/__pycache__/ebnf.cpython-36.pyc delete mode 100644 examples/__pycache__/ebnf.cpython-37.pyc delete mode 100644 examples/__pycache__/ebnf.cpython-38.pyc delete mode 100644 examples/__pycache__/ebnf.cpython-39.pyc delete mode 100644 examples/__pycache__/eval_arith.cpython-310.pyc delete mode 100644 examples/__pycache__/eval_arith.cpython-311.pyc delete mode 100644 examples/__pycache__/eval_arith.cpython-36.pyc delete mode 100644 examples/__pycache__/eval_arith.cpython-37.pyc delete mode 100644 examples/__pycache__/eval_arith.cpython-38.pyc delete mode 100644 examples/__pycache__/eval_arith.cpython-39.pyc delete mode 100644 examples/__pycache__/fourFn.cpython-310.pyc delete mode 100644 examples/__pycache__/fourFn.cpython-311.pyc delete mode 100644 examples/__pycache__/fourFn.cpython-36.pyc delete mode 100644 examples/__pycache__/fourFn.cpython-37.pyc delete mode 100644 examples/__pycache__/fourFn.cpython-38.pyc delete mode 100644 examples/__pycache__/fourFn.cpython-39.pyc delete mode 100644 examples/__pycache__/idlParse.cpython-310.pyc delete mode 100644 examples/__pycache__/idlParse.cpython-311.pyc delete mode 100644 examples/__pycache__/idlParse.cpython-36.pyc delete mode 100644 examples/__pycache__/idlParse.cpython-37.pyc delete mode 100644 examples/__pycache__/idlParse.cpython-38.pyc delete mode 100644 examples/__pycache__/idlParse.cpython-39.pyc delete mode 100644 examples/__pycache__/jsonParser.cpython-310.pyc delete mode 100644 examples/__pycache__/jsonParser.cpython-311.pyc delete mode 100644 examples/__pycache__/jsonParser.cpython-36.pyc delete mode 100644 examples/__pycache__/jsonParser.cpython-37.pyc delete mode 100644 examples/__pycache__/jsonParser.cpython-38.pyc delete mode 100644 examples/__pycache__/jsonParser.cpython-39.pyc delete mode 100644 examples/__pycache__/mozillaCalendarParser.cpython-310.pyc delete mode 100644 examples/__pycache__/mozillaCalendarParser.cpython-311.pyc delete mode 100644 examples/__pycache__/mozillaCalendarParser.cpython-36.pyc delete mode 100644 examples/__pycache__/mozillaCalendarParser.cpython-37.pyc delete mode 100644 examples/__pycache__/mozillaCalendarParser.cpython-38.pyc delete mode 100644 examples/__pycache__/mozillaCalendarParser.cpython-39.pyc delete mode 100644 examples/__pycache__/numerics.cpython-310.pyc delete mode 100644 examples/__pycache__/numerics.cpython-311.pyc delete mode 100644 examples/__pycache__/numerics.cpython-36.pyc delete mode 100644 examples/__pycache__/numerics.cpython-37.pyc delete mode 100644 examples/__pycache__/numerics.cpython-38.pyc delete mode 100644 examples/__pycache__/numerics.cpython-39.pyc delete mode 100644 examples/__pycache__/oc.cpython-310.pyc delete mode 100644 examples/__pycache__/oc.cpython-311.pyc delete mode 100644 examples/__pycache__/oc.cpython-36.pyc delete mode 100644 examples/__pycache__/oc.cpython-37.pyc delete mode 100644 examples/__pycache__/oc.cpython-38.pyc delete mode 100644 examples/__pycache__/oc.cpython-39.pyc delete mode 100644 examples/__pycache__/romanNumerals.cpython-310.pyc delete mode 100644 examples/__pycache__/romanNumerals.cpython-311.pyc delete mode 100644 examples/__pycache__/romanNumerals.cpython-36.pyc delete mode 100644 examples/__pycache__/romanNumerals.cpython-37.pyc delete mode 100644 examples/__pycache__/romanNumerals.cpython-38.pyc delete mode 100644 examples/__pycache__/romanNumerals.cpython-39.pyc delete mode 100644 examples/__pycache__/select_parser.cpython-310.pyc delete mode 100644 examples/__pycache__/select_parser.cpython-311.pyc delete mode 100644 examples/__pycache__/select_parser.cpython-36.pyc delete mode 100644 examples/__pycache__/select_parser.cpython-37.pyc delete mode 100644 examples/__pycache__/select_parser.cpython-38.pyc delete mode 100644 examples/__pycache__/select_parser.cpython-39.pyc delete mode 100644 examples/__pycache__/sexpParser.cpython-310.pyc delete mode 100644 examples/__pycache__/sexpParser.cpython-311.pyc delete mode 100644 examples/__pycache__/sexpParser.cpython-36.pyc delete mode 100644 examples/__pycache__/sexpParser.cpython-37.pyc delete mode 100644 examples/__pycache__/sexpParser.cpython-38.pyc delete mode 100644 examples/__pycache__/sexpParser.cpython-39.pyc delete mode 100644 examples/__pycache__/simpleBool.cpython-310.pyc delete mode 100644 examples/__pycache__/simpleBool.cpython-311.pyc delete mode 100644 examples/__pycache__/simpleBool.cpython-36.pyc delete mode 100644 examples/__pycache__/simpleBool.cpython-37.pyc delete mode 100644 examples/__pycache__/simpleBool.cpython-38.pyc delete mode 100644 examples/__pycache__/simpleBool.cpython-39.pyc delete mode 100644 examples/__pycache__/simpleSQL.cpython-310.pyc delete mode 100644 examples/__pycache__/simpleSQL.cpython-311.pyc delete mode 100644 examples/__pycache__/simpleSQL.cpython-36.pyc delete mode 100644 examples/__pycache__/simpleSQL.cpython-37.pyc delete mode 100644 examples/__pycache__/simpleSQL.cpython-38.pyc delete mode 100644 examples/__pycache__/simpleSQL.cpython-39.pyc delete mode 100644 examples/__pycache__/test_bibparse.cpython-310.pyc delete mode 100644 examples/__pycache__/test_bibparse.cpython-311.pyc delete mode 100644 examples/__pycache__/test_bibparse.cpython-36-pytest-7.0.1.pyc delete mode 100644 examples/__pycache__/test_bibparse.cpython-37.pyc delete mode 100644 examples/__pycache__/test_bibparse.cpython-38.pyc delete mode 100644 examples/__pycache__/test_bibparse.cpython-39.pyc create mode 100644 examples/bf.py delete mode 100644 examples/chemicalFormulas.py create mode 100644 examples/chemical_formulas.py rename examples/{datetimeParseActions.py => datetime_parse_actions.py} (75%) delete mode 100644 examples/excelExpr.py create mode 100644 examples/excel_expr.py rename examples/{holaMundo.py => hola_mundo.py} (69%) delete mode 100644 examples/htmlStripper.py create mode 100644 examples/html_stripper.py rename examples/{htmlTableParser.py => html_table_parser.py} (62%) rename examples/{invRegex.py => inv_regex.py} (65%) delete mode 100644 examples/linenoExample.py create mode 100644 examples/lineno_example.py rename examples/{macroExpander.py => macro_expander.py} (59%) delete mode 100644 examples/parsePythonValue.py create mode 100644 examples/parse_python_value.py rename examples/{parseResultsSumExample.py => parse_results_sum_example.py} (82%) delete mode 100644 examples/pymicko.py delete mode 100644 examples/rangeCheck.py create mode 100644 examples/range_check.py delete mode 100644 examples/sparser.py create mode 100644 examples/tag_emitter.py delete mode 100644 examples/verilog/Ctr3sr.v delete mode 100644 examples/verilog/INIT delete mode 100644 examples/verilog/RANDOM_GATE delete mode 100644 examples/verilog/RANDOM_INTERCONNECT delete mode 100644 examples/verilog/SEED delete mode 100644 examples/verilog/TestCtr3sr.v delete mode 100644 examples/verilog/addacc.v delete mode 100644 examples/verilog/addacc1_dro.v delete mode 100644 examples/verilog/addacc1_t1ff.v delete mode 100644 examples/verilog/addacc_conf.v delete mode 100644 examples/verilog/addacc_dro.v delete mode 100644 examples/verilog/addacc_t1ff.v delete mode 100644 examples/verilog/allParseOutput.zip delete mode 100644 examples/verilog/and.v delete mode 100644 examples/verilog/and_gate.v delete mode 100644 examples/verilog/conf.v delete mode 100644 examples/verilog/core_test.v delete mode 100644 examples/verilog/count2bit.v delete mode 100644 examples/verilog/count_all_prims_test.v delete mode 100644 examples/verilog/count_loads_test.v delete mode 100644 examples/verilog/dds.v delete mode 100644 examples/verilog/diff_udp.v delete mode 100644 examples/verilog/display_all_nets_test.v delete mode 100644 examples/verilog/div16.v delete mode 100644 examples/verilog/dro.v delete mode 100644 examples/verilog/dro1_cell.v delete mode 100644 examples/verilog/dro_cell.v delete mode 100644 examples/verilog/dump_and_fill_mem_test.v delete mode 100644 examples/verilog/exprinfo_test.v delete mode 100644 examples/verilog/fetch_values_test.v delete mode 100644 examples/verilog/ff.v delete mode 100644 examples/verilog/ff_test.v delete mode 100644 examples/verilog/fifo.v delete mode 100644 examples/verilog/find_driver.tcl.gz delete mode 100644 examples/verilog/framer.v delete mode 100644 examples/verilog/func_72bit_test.v delete mode 100644 examples/verilog/gen.v delete mode 100644 examples/verilog/gencrc.v delete mode 100755 examples/verilog/gzip.exe delete mode 100644 examples/verilog/hadd.v delete mode 100644 examples/verilog/hasCompilerDirectives/pl.v delete mode 100644 examples/verilog/hello_test.v delete mode 100644 examples/verilog/in_port.v delete mode 100644 examples/verilog/inv.v delete mode 100644 examples/verilog/inv_cell.v delete mode 100644 examples/verilog/invoke_commands_test.v delete mode 100644 examples/verilog/invoke_options_test.v delete mode 100644 examples/verilog/jtl2.v delete mode 100644 examples/verilog/jutzi delete mode 100644 examples/verilog/list_cells_test.v delete mode 100644 examples/verilog/list_nets_test.v delete mode 100644 examples/verilog/list_parameters_test.v delete mode 100644 examples/verilog/list_path_delays_test.v delete mode 100644 examples/verilog/list_pathout_ports_test.v delete mode 100644 examples/verilog/list_prim_delays_test.v delete mode 100644 examples/verilog/load_in.v delete mode 100644 examples/verilog/load_out.v delete mode 100644 examples/verilog/mem_arb.v delete mode 100644 examples/verilog/mipd_delays_test.v delete mode 100644 examples/verilog/mult16.v delete mode 100644 examples/verilog/multi21_udp.v delete mode 100644 examples/verilog/my_monitor1_test.v delete mode 100644 examples/verilog/my_monitor2_test.v delete mode 100644 examples/verilog/my_monitor_test.v delete mode 100644 examples/verilog/my_strobe_test.v delete mode 100644 examples/verilog/myram64x16.v delete mode 100644 examples/verilog/nco.v delete mode 100644 examples/verilog/ndro.v delete mode 100644 examples/verilog/new/count_bits.v delete mode 100644 examples/verilog/new/count_bits8.v delete mode 100644 examples/verilog/new/exampleresults.txt delete mode 100644 examples/verilog/new2/bar.v delete mode 100644 examples/verilog/new2/foo.v delete mode 100644 examples/verilog/new2/fubar.v delete mode 100644 examples/verilog/new3/b06.v delete mode 100644 examples/verilog/new3/b10.v delete mode 100644 examples/verilog/new3/ca_prng.v delete mode 100644 examples/verilog/new3/parseOutput/b06.v.parsed.txt delete mode 100644 examples/verilog/new3/parseOutput/b10.v.parsed.txt delete mode 100644 examples/verilog/new3/parseOutput/ca_prng.v.parsed.txt delete mode 100644 examples/verilog/nodeinfo_test.v delete mode 100644 examples/verilog/onehot.v delete mode 100644 examples/verilog/or.v delete mode 100644 examples/verilog/out_port.v delete mode 100644 examples/verilog/parseOutput/Ctr3sr.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/TestCtr3sr.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/addacc.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/addacc1_dro.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/addacc1_t1ff.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/addacc_conf.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/addacc_dro.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/addacc_t1ff.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/and.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/and_gate.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/conf.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/core_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/count2bit.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/count_all_prims_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/count_loads_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/dds.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/diff_udp.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/display_all_nets_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/div16.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/dro.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/dro1_cell.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/dro_cell.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/dump_and_fill_mem_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/exprinfo_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/fetch_values_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/ff.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/ff_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/fifo.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/framer.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/func_72bit_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/gen.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/gencrc.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/hadd.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/hello_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/in_port.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/inv.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/inv_cell.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/invoke_commands_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/invoke_options_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/jtl2.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/list_cells_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/list_nets_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/list_parameters_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/list_path_delays_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/list_pathout_ports_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/list_prim_delays_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/load_in.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/load_out.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/mem_arb.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/mipd_delays_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/mult16.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/multi21_udp.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/my_monitor1_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/my_monitor2_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/my_monitor_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/my_strobe_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/myram64x16.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/nco.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/ndro.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/nodeinfo_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/onehot.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/or.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/out_port.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/pic.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/pipe1.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/pipe2.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/pl.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/port_info_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/pow_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/primitives.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/propagatep_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/psr1.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/psr1_conf.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/psr1_dro.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/psr1_split.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/psr2.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/psr2_and.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/psr2_split.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/read_4state_value_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/read_attribute_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/read_delays_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/read_stimulus_short_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/read_stimulus_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/read_strengthval_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/read_test_vector_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/read_timeval_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/read_vector_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/read_vecval_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/realpow_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/rf.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sci_alu_comb_calltf_shell.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sci_alu_comb_calltf_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sci_alu_comb_misctf_shell.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sci_alu_comb_misctf_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sci_alu_combinational_shell.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sci_alu_combinational_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sci_alu_latched_shell.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sci_alu_latched_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sci_alu_sequential_shell.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sci_alu_sequential_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sci_alu_synchronized_shell.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sci_alu_synchronized_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sci_alu_with_delays_shell.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sci_alu_with_delays_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/set_mipd_delays_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/show_all_nets_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/show_all_signals1_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/show_all_signals2_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/show_all_signals3_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/show_all_signals_1_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/show_all_signals_2_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/show_all_signals_3_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/show_value_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sig_gen.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/simple_core.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/splitter.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sqrt32.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sqrt8m.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/sr_nv_ctf.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/srcnt.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/string.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/t1ff.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/testcase.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/testcase2.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/testcase3.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/testcase4.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/testcase5.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/tff.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/timescale_info_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/usb.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/use_workarea_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/utmi_if.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/vpi_utilities_test.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/wb.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/wpulse.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/xor.v.parsed.txt delete mode 100644 examples/verilog/parseOutput/zzzexample.v.parsed.txt delete mode 100644 examples/verilog/pic.v delete mode 100644 examples/verilog/pipe1.v delete mode 100644 examples/verilog/pipe2.v delete mode 100644 examples/verilog/pl.v delete mode 100644 examples/verilog/pli_handbook_examples_pc.zip delete mode 100644 examples/verilog/port_info_test.v delete mode 100644 examples/verilog/pow_test.v delete mode 100644 examples/verilog/primitives.v delete mode 100644 examples/verilog/propagatep_test.v delete mode 100644 examples/verilog/psr1.v delete mode 100644 examples/verilog/psr1_conf.v delete mode 100644 examples/verilog/psr1_dro.v delete mode 100644 examples/verilog/psr1_split.v delete mode 100644 examples/verilog/psr2.v delete mode 100644 examples/verilog/psr2_and.v delete mode 100644 examples/verilog/psr2_split.v delete mode 100644 examples/verilog/read_4state_value_test.v delete mode 100644 examples/verilog/read_attribute_test.v delete mode 100644 examples/verilog/read_delays_test.v delete mode 100644 examples/verilog/read_stimulus_short_test.v delete mode 100644 examples/verilog/read_stimulus_test.v delete mode 100644 examples/verilog/read_strengthval_test.v delete mode 100644 examples/verilog/read_test_vector_test.v delete mode 100644 examples/verilog/read_timeval_test.v delete mode 100644 examples/verilog/read_vector_test.v delete mode 100644 examples/verilog/read_vecval_test.v delete mode 100644 examples/verilog/realpow_test.v delete mode 100644 examples/verilog/rf.v delete mode 100644 examples/verilog/sci_alu_comb_calltf_shell.v delete mode 100644 examples/verilog/sci_alu_comb_calltf_test.v delete mode 100644 examples/verilog/sci_alu_comb_misctf_shell.v delete mode 100644 examples/verilog/sci_alu_comb_misctf_test.v delete mode 100644 examples/verilog/sci_alu_combinational_shell.v delete mode 100644 examples/verilog/sci_alu_combinational_test.v delete mode 100644 examples/verilog/sci_alu_latched_shell.v delete mode 100644 examples/verilog/sci_alu_latched_test.v delete mode 100644 examples/verilog/sci_alu_sequential_shell.v delete mode 100644 examples/verilog/sci_alu_sequential_test.v delete mode 100644 examples/verilog/sci_alu_synchronized_shell.v delete mode 100644 examples/verilog/sci_alu_synchronized_test.v delete mode 100644 examples/verilog/sci_alu_with_delays_shell.v delete mode 100644 examples/verilog/sci_alu_with_delays_test.v delete mode 100644 examples/verilog/set_mipd_delays_test.v delete mode 100644 examples/verilog/show_all_nets_test.v delete mode 100644 examples/verilog/show_all_signals1_test.v delete mode 100644 examples/verilog/show_all_signals2_test.v delete mode 100644 examples/verilog/show_all_signals3_test.v delete mode 100644 examples/verilog/show_all_signals_1_test.v delete mode 100644 examples/verilog/show_all_signals_2_test.v delete mode 100644 examples/verilog/show_all_signals_3_test.v delete mode 100644 examples/verilog/show_value_test.v delete mode 100644 examples/verilog/sig_gen.v delete mode 100644 examples/verilog/simple_core.v delete mode 100644 examples/verilog/splitter.v delete mode 100644 examples/verilog/sqrt32.v delete mode 100644 examples/verilog/sqrt8m.v delete mode 100644 examples/verilog/sr_nv_ctf.v delete mode 100644 examples/verilog/srcnt.v delete mode 100644 examples/verilog/string.v delete mode 100644 examples/verilog/t1ff.v delete mode 100644 examples/verilog/testcase.v delete mode 100644 examples/verilog/testcase2.v delete mode 100644 examples/verilog/testcase3.v delete mode 100644 examples/verilog/testcase4.v delete mode 100644 examples/verilog/testcase5.v delete mode 100644 examples/verilog/tff.v delete mode 100644 examples/verilog/timescale_info_test.v delete mode 100644 examples/verilog/usb.v delete mode 100644 examples/verilog/use_workarea_test.v delete mode 100644 examples/verilog/utmi_if.v delete mode 100644 examples/verilog/vpi_utilities_test.v delete mode 100644 examples/verilog/wb.v delete mode 100644 examples/verilog/wpulse.v delete mode 100644 examples/verilog/xor.v delete mode 100644 examples/verilog/zzzexample.v rename examples/{verilogParse.py => verilog_parse.py} (58%) delete mode 100644 pyparsing_archive.py create mode 100644 tests/diag_embed.html create mode 100644 tests/diag_no_embed.html create mode 100644 tests/mypy-ignore-cases/forward_methods.py delete mode 100644 update_pyparsing_timestamp.py diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index fb95f88..0000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,12 +0,0 @@ -# These are supported funding model platforms - -github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] -patreon: # Replace with a single Patreon username -open_collective: # Replace with a single Open Collective username -ko_fi: # Replace with a single Ko-fi username -tidelift: "pypi/pyparsing" -community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry -liberapay: # Replace with a single Liberapay username -issuehunt: # Replace with a single IssueHunt username -otechie: # Replace with a single Otechie username -custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/.github/SECURITY.md b/.github/SECURITY.md deleted file mode 100644 index 4abec8a..0000000 --- a/.github/SECURITY.md +++ /dev/null @@ -1,11 +0,0 @@ -# Security Policy - -Pyparsing itself has no known security vulnerabilities. It does not -itself access any risk-inherent methods like `exec` or `eval`, nor does it import -any modules not part of the Python standard library. - -Parsers written with pyparsing *may* introduce security vulnerabilities. If so, this -information should be forwarded to the maintainer of those parsers. - -If you find that pyparsing itself has a security vulnerability, please report it to -https://tidelift.com/security. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index c8c7945..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,58 +0,0 @@ -name: Continuous Integration -on: - push: - branches: - - master - - pull_request: - paths: - - .github/workflows/cis.yml - - pyparsing/* - - pyproject.toml - - tox.ini - -jobs: - tests: - name: Unit tests - runs-on: ${{ matrix.os || 'ubuntu-latest' }} - strategy: - matrix: - include: - - python-version: "3.6" - toxenv: py36 - - python-version: "3.7" - toxenv: py37 - - python-version: "3.8" - toxenv: py38 - - python-version: "3.9" - toxenv: py39 - - python-version: "3.10" - toxenv: py310 - - python-version: "3.10" - toxenv: py310 - os: macos-latest - - python-version: "pypy-3.7" - toxenv: pypy3 - env: - TOXENV: ${{ matrix.toxenv }} - steps: - - uses: actions/checkout@v2 - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - python -m pip install tox codecov railroad-diagrams Jinja2 - - - name: Test - run: tox -e ALL - - - name: Upload coverage to Codecov - if: ${{ matrix.os == 'ubuntu-latest' && matrix.python-version == '3.10' }} - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - run: codecov diff --git a/CHANGES b/CHANGES index 8fabb27..b45934b 100644 --- a/CHANGES +++ b/CHANGES @@ -2,8 +2,246 @@ Change Log ========== -Version 3.0.9 - ---------------- +NOTE: In the future release 3.2.0, use of many of the pre-PEP8 methods (such as +`ParserElement.parseString`) will start to raise `DeprecationWarnings`. 3.2.0 should +get released some time later in 2023. I currently plan to completely +drop the pre-PEP8 methods in pyparsing 4.0, though we won't see that release until +at least late 2023 if not 2024. So there is plenty of time to convert existing parsers to +the new function names before the old functions are completely removed. (Big +help from Devin J. Pohly in structuring the code to enable this peaceful transition.) + +Version 3.2.0 will also discontinue support for Python versions 3.6 and 3.7. + + +Version 3.1.1 - July, 2023 +-------------------------- +- Fixed regression in Word(min), reported by Ricardo Coccioli, good catch! (Issue #502) + +- Fixed bug in bad exception messages raised by Forward expressions. PR submitted + by Kyle Sunden, thanks for your patience and collaboration on this (#493). + +- Fixed regression in SkipTo, where ignored expressions were not checked when looking + for the target expression. Reported by catcombo, Issue #500. + +- Fixed type annotation for enable_packrat, PR submitted by Mike Urbach, thanks! (Issue #498) + +- Some general internal code cleanup. (Instigated by Michal Čihař, Issue #488) + + +Version 3.1.0 - June, 2023 +-------------------------- +- Added `tag_emitter.py` to examples. This example demonstrates how to insert + tags into your parsed results that are not part of the original parsed text. + + +Version 3.1.0b2 - May, 2023 +--------------------------- +- Updated `create_diagram()` code to be compatible with railroad-diagrams package + version 3.0. Fixes Issue #477 (railroad diagrams generated with black bars), + reported by Sam Morley-Short. + +- Fixed bug in `NotAny`, where parse actions on the negated expr were not being run. + This could cause `NotAny` to incorrectly fail if the expr would normally match, + but would fail to match if a condition used as a parse action returned False. + Fixes Issue #482, raised by byaka, thank you! + +- Fixed `create_diagram()` to accept keyword args, to be passed through to the + `template.render()` method to generate the output HTML (PR submitted by Aussie Schnore, + good catch!) + +- Fixed bug in `python_quoted_string` regex. + +- Added `examples/bf.py` Brainf*ck parser/executor example. Illustrates using + a pyparsing grammar to parse language syntax, and attach executable AST nodes to + the parsed results. + + +Version 3.1.0b1 - April, 2023 +----------------------------- +- Added support for Python 3.12. + +- API CHANGE: A slight change has been implemented when unquoting a quoted string + parsed using the `QuotedString` class. Formerly, when unquoting and processing + whitespace markers such as \t and \n, these substitutions would occur first, and + then any additional '\' escaping would be done on the resulting string. This would + parse "\\n" as "\". Now escapes and whitespace markers are all processed + in a single pass working left to right, so the quoted string "\\n" would get unquoted + to "\n" (a backslash followed by "n"). Fixes issue #474 raised by jakeanq, + thanks! + +- Added named field "url" to `pyparsing.common.url`, returning the entire + parsed URL string. + +- Fixed bug when parse actions returned an empty string for an expression that + had a results name, that the results name was not saved. That is: + + expr = Literal("X").add_parse_action(lambda tokens: "")("value") + result = expr.parse_string("X") + print(result["value"]) + + would raise a `KeyError`. Now empty strings will be saved with the associated + results name. Raised in Issue #470 by Nicco Kunzmann, thank you. + +- Fixed bug in `SkipTo` where ignore expressions were not properly handled while + scanning for the target expression. Issue #475, reported by elkniwt, thanks + (this bug has been there for a looooong time!). + +- Updated `ci.yml` permissions to limit default access to source - submitted by Joyce + Brum of Google. Thanks so much! + +- Updated the `lucene_grammar.py` example (better support for '*' and '?' wildcards) + and corrected the test cases - brought to my attention by Elijah Nicol, good catch! + + +Version 3.1.0a1 - March, 2023 +----------------------------- +- API ENHANCEMENT: `Optional(expr)` may now be written as `expr | ""` + + This will make this code: + + "{" + Optional(Literal("A") | Literal("a")) + "}" + + writable as: + + "{" + (Literal("A") | Literal("a") | "") + "}" + + Some related changes implemented as part of this work: + - `Literal("")` now internally generates an `Empty()` (and no longer raises an exception) + - `Empty` is now a subclass of `Literal` + + Suggested by Antony Lee (issue #412), PR (#413) by Devin J. Pohly. + +- Added new class property `identifier` to all Unicode set classes in `pyparsing.unicode`, + using the class's values for `cls.identchars` and `cls.identbodychars`. Now Unicode-aware + parsers that formerly wrote: + + ppu = pyparsing.unicode + ident = Word(ppu.Greek.identchars, ppu.Greek.identbodychars) + + can now write: + + ident = ppu.Greek.identifier + # or + # ident = ppu.Ελληνικά.identifier + +- `ParseResults` now has a new method `deepcopy()`, in addition to the current + `copy()` method. `copy()` only makes a shallow copy - any contained `ParseResults` + are copied as references - changes in the copy will be seen as changes in the original. + In many cases, a shallow copy is sufficient, but some applications require a deep copy. + `deepcopy()` makes a deeper copy: any contained `ParseResults` or other mappings or + containers are built with copies from the original, and do not get changed if the + original is later changed. Addresses issue #463, reported by Bryn Pickering. + +- Reworked `delimited_list` function into the new `DelimitedList` class. + `DelimitedList` has the same constructor interface as `delimited_list`, and + in this release, `delimited_list` changes from a function to a synonym for + `DelimitedList`. `delimited_list` and the older `delimitedList` method will be + deprecated in a future release, in favor of `DelimitedList`. + +- Error messages from `MatchFirst` and `Or` expressions will try to give more details + if one of the alternatives matches better than the others, but still fails. + Question raised in Issue #464 by msdemlei, thanks! + +- Added new class method `ParserElement.using_each`, to simplify code + that creates a sequence of `Literals`, `Keywords`, or other `ParserElement` + subclasses. + + For instance, to define suppressible punctuation, you would previously + write: + + LPAR, RPAR, LBRACE, RBRACE, SEMI = map(Suppress, "(){};") + + You can now write: + + LPAR, RPAR, LBRACE, RBRACE, SEMI = Suppress.using_each("(){};") + + `using_each` will also accept optional keyword args, which it will + pass through to the class initializer. Here is an expression for + single-letter variable names that might be used in an algebraic + expression: + + algebra_var = MatchFirst( + Char.using_each(string.ascii_lowercase, as_keyword=True) + ) + +- Added new builtin `python_quoted_string`, which will match any form + of single-line or multiline quoted strings defined in Python. (Inspired + by discussion with Andreas Schörgenhumer in Issue #421.) + +- Extended `expr[]` notation for repetition of `expr` to accept a + slice, where the slice's stop value indicates a `stop_on` + expression: + + test = "BEGIN aaa bbb ccc END" + BEGIN, END = Keyword.using_each("BEGIN END".split()) + body_word = Word(alphas) + + expr = BEGIN + Group(body_word[...:END]) + END + # equivalent to + # expr = BEGIN + Group(ZeroOrMore(body_word, stop_on=END)) + END + + print(expr.parse_string(test)) + + Prints: + + ['BEGIN', ['aaa', 'bbb', 'ccc'], 'END'] + +- `ParserElement.validate()` is deprecated. It predates the support for left-recursive + parsers, and was prone to false positives (warning that a grammar was invalid when + it was in fact valid). It will be removed in a future pyparsing release. In its + place, developers should use debugging and analytical tools, such as `ParserElement.set_debug()` + and `ParserElement.create_diagram()`. + (Raised in Issue #444, thanks Andrea Micheli!) + +- Added bool `embed` argument to `ParserElement.create_diagram()`. + When passed as True, the resulting diagram will omit the ``, + ``, and `` tags so that it can be embedded in other + HTML source. (Useful when embedding a call to `create_diagram()` in + a PyScript HTML page.) + +- Added `recurse` argument to `ParserElement.set_debug` to set the + debug flag on an expression and all of its sub-expressions. Requested + by multimeric in Issue #399. + +- Added '·' (Unicode MIDDLE DOT) to the set of Latin1.identbodychars. + +- Fixed bug in `Word` when `max=2`. Also added performance enhancement + when specifying `exact` argument. Reported in issue #409 by + panda-34, nice catch! + +- `Word` arguments are now validated if `min` and `max` are both + given, that `min` <= `max`; raises `ValueError` if values are invalid. + +- Fixed bug in srange, when parsing escaped '/' and '\' inside a + range set. + +- Fixed exception messages for some `ParserElements` with custom names, + which instead showed their contained expression names. + +- Fixed bug in pyparsing.common.url, when input URL is not alone + on an input line. Fixes Issue #459, reported by David Kennedy. + +- Multiple added and corrected type annotations. With much help from + Stephen Rosen, thanks! + +- Some documentation and error message clarifications on pyparsing's + keyword logic, cited by Basil Peace. + +- General docstring cleanup for Sphinx doc generation, PRs submitted + by Devin J. Pohly. A dirty job, but someone has to do it - much + appreciated! + +- `invRegex.py` example renamed to `inv_regex.py` and updated to PEP-8 + variable and method naming. PR submitted by Ross J. Duff, thanks! + +- Removed examples `sparser.py` and `pymicko.py`, since each included its + own GPL license in the header. Since this conflicts with pyparsing's + MIT license, they were removed from the distribution to avoid + confusion among those making use of them in their own projects. + + +Version 3.0.9 - May, 2022 +------------------------- - Added Unicode set `BasicMultilingualPlane` (may also be referenced as `BMP`) representing the Basic Multilingual Plane (Unicode characters up to code point 65535). Can be used to parse @@ -12,7 +250,7 @@ Version 3.0.9 - - To address mypy confusion of `pyparsing.Optional` and `typing.Optional` resulting in `error: "_SpecialForm" not callable` message - reported in issue #365, fixed the import in exceptions.py. Nice + reported in issue #365, fixed the import in `exceptions.py`. Nice sleuthing by Iwan Aucamp and Dominic Davis-Foster, thank you! (Removed definitions of `OptionalType`, `DictType`, and `IterableType` and replaced them with `typing.Optional`, `typing.Dict`, and @@ -24,13 +262,13 @@ Version 3.0.9 - - Removed use of deprecated `pkg_resources` package in railroad diagramming code (issue #391). -- Updated bigquery_view_parser.py example to parse examples at +- Updated `bigquery_view_parser.py` example to parse examples at https://cloud.google.com/bigquery/docs/reference/legacy-sql -Version 3.0.8 - ---------------- -- API CHANGE: modified pyproject.toml to require Python version +Version 3.0.8 - April, 2022 +--------------------------- +- API CHANGE: modified `pyproject.toml` to require Python version 3.6.8 or later for pyparsing 3.x. Earlier minor versions of 3.6 fail in evaluating the `version_info` class (implemented using `typing.NamedTuple`). If you are using an earlier version of Python @@ -39,7 +277,7 @@ Version 3.0.8 - - Improved pyparsing import time by deferring regex pattern compiles. PR submitted by Anthony Sottile to fix issue #362, thanks! -- Updated build to use flit, PR by Michał Górny, added BUILDING.md +- Updated build to use flit, PR by Michał Górny, added `BUILDING.md` doc and removed old Windows build scripts - nice cleanup work! - More type-hinting added for all arithmetic and logical operator @@ -65,8 +303,8 @@ Version 3.0.8 - Serhiy Storchaka, thank you. -Version 3.0.7 - ---------------- +Version 3.0.7 - January, 2022 +----------------------------- - Fixed bug #345, in which delimitedList changed expressions in place using `expr.streamline()`. Reported by Kim Gräsman, thanks! @@ -130,8 +368,8 @@ Version 3.0.7 - - Additional type annotations on public methods. -Version 3.0.6 - ---------------- +Version 3.0.6 - November, 2021 +------------------------------ - Added `suppress_warning()` method to individually suppress a warning on a specific ParserElement. Used to refactor `original_text_for` to preserve internal results names, which, while undocumented, had been adopted by @@ -141,8 +379,8 @@ Version 3.0.6 - parse expression. -Version 3.0.5 - ---------------- +Version 3.0.5 - November, 2021 +------------------------------ - Added return type annotations for `col`, `line`, and `lineno`. - Fixed bug when `warn_ungrouped_named_tokens_in_collection` warning was raised @@ -157,8 +395,8 @@ Version 3.0.5 - minor bug where separating line was not included after a test failure. -Version 3.0.4 - ---------------- +Version 3.0.4 - October, 2021 +----------------------------- - Fixed bug in which `Dict` classes did not correctly return tokens as nested `ParseResults`, reported by and fix identified by Bu Sun Kim, many thanks!!! @@ -186,8 +424,8 @@ Version 3.0.4 - elements. -Version 3.0.3 - ---------------- +Version 3.0.3 - October, 2021 +----------------------------- - Fixed regex typo in `one_of` fix for `as_keyword=True`. - Fixed a whitespace-skipping bug, Issue #319, introduced as part of the revert @@ -198,8 +436,8 @@ Version 3.0.3 - are longer than others. -Version 3.0.2 - ---------------- +Version 3.0.2 - October, 2021 +----------------------------- - Reverted change in behavior with `LineStart` and `StringStart`, which changed the interpretation of when and how `LineStart` and `StringStart` should match when a line starts with spaces. In 3.0.0, the `xxxStart` expressions were not @@ -233,8 +471,8 @@ Version 3.0.2 - the `IndentedBlock` with `grouped=False`. -Version 3.0.1 - ---------------- +Version 3.0.1 - October, 2021 +----------------------------- - Fixed bug where `Word(max=n)` did not match word groups less than length 'n'. Thanks to Joachim Metz for catching this! @@ -245,15 +483,15 @@ Version 3.0.1 - even when not enabled. -Version 3.0.0 - ---------------- +Version 3.0.0 - October, 2021 +----------------------------- - A consolidated list of all the changes in the 3.0.0 release can be found in `docs/whats_new_in_3_0_0.rst`. (https://github.com/pyparsing/pyparsing/blob/master/docs/whats_new_in_3_0_0.rst) -Version 3.0.0.final - ---------------------- +Version 3.0.0.final - October, 2021 +----------------------------------- - Added support for python `-W` warning option to call `enable_all_warnings`() at startup. Also detects setting of `PYPARSINGENABLEALLWARNINGS` environment variable to any non-blank value. (If using `-Wd` for testing, but wishing to disable pyparsing warnings, add @@ -290,8 +528,8 @@ Version 3.0.0.final - `a` will get named "a", while `b` will keep its name "bbb". -Version 3.0.0rc2 - ------------------- +Version 3.0.0rc2 - October, 2021 +-------------------------------- - Added `url` expression to `pyparsing_common`. (Sample code posted by Wolfgang Fahl, very nice!) @@ -904,8 +1142,8 @@ Version 3.0.0a1 - April, 2020 a few. -Version 2.4.7 - March, 2020 (April, actually) ---------------------------------------------- +Version 2.4.7 - April, 2020 +--------------------------- - Backport of selected fixes from 3.0.0 work: . Each bug with Regex expressions . And expressions not properly constructing with generator diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2fd5409..a2da1a5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -34,6 +34,45 @@ If you have a question on using pyparsing, there are a number of resources avail other open and closed issues. Or post your question on SO or reddit. But don't wait until you are desperate and frustrated - just ask! :) +## Submitting examples + +If you have an example you wish to submit, please follow these guidelines. + +- **License - Submitted example code must be available for distribution with the rest of pyparsing under the MIT + open source license.** + +- Please follow PEP8 name and coding guidelines, and use the black formatter + to auto-format code. + +- Examples should import pyparsing and the common namespace classes as: + + import pyparsing as pp + # if necessary + ppc = pp.pyparsing_common + ppu = pp.pyparsing_unicode + +- Submitted examples *must* be Python 3.6.8 or later compatible. (It is acceptable if examples use Python + features added after 3.6) + +- Where possible use operators to create composite parse expressions: + + expr = expr_a + expr_b | expr_c + + instead of: + + expr = pp.MatchFirst([pp.And([expr_a, expr_b]), expr_c]) + + Exception: if using a generator to create an expression: + + import keyword + python_keywords = keyword.kwlist + any_keyword = pp.MatchFirst(pp.Keyword(kw) + for kw in python_keywords)) + +- Learn [Common Pitfalls When Writing Parsers](https://github.com/pyparsing/pyparsing/wiki/Common-Pitfalls-When-Writing-Parsers) and + how to avoid them when developing new examples. + +- See additional notes under [Some Coding Points](#some-coding-points). ## Submitting changes @@ -73,10 +112,6 @@ These coding styles are encouraged whether submitting code for core pyparsing or applications - DO NOT MODIFY OR REMOVE THESE NAMES. See more information at the [PEP8 wiki page](https://github.com/pyparsing/pyparsing/wiki/PEP-8-planning). - If you wish to submit a new example, please follow PEP8 name and coding guidelines, and use the black formatter - to auto-format code. Example code must be available for distribution with the rest of pyparsing under the MIT - open source license. - - No backslashes for line continuations. Continuation lines for expressions in ()'s should start with the continuing operator: @@ -94,33 +129,6 @@ These coding styles are encouraged whether submitting code for core pyparsing or - List, tuple, and dict literals should include a trailing comma after the last element, which reduces changeset clutter when another element gets added to the end. -- Examples should import pyparsing and the common namespace classes as: - - import pyparsing as pp - # if necessary - ppc = pp.pyparsing_common - ppu = pp.pyparsing_unicode - - Submitted examples *must* be Python 3.6.8 or later compatible. - -- Where possible use operators to create composite parse expressions: - - expr = expr_a + expr_b | expr_c - - instead of: - - expr = pp.MatchFirst([pp.And([expr_a, expr_b]), expr_c]) - - Exception: if using a generator to create an expression: - - import keyword - python_keywords = keyword.kwlist - any_keyword = pp.MatchFirst(pp.Keyword(kw) - for kw in python_keywords)) - -- Learn [Common Pitfalls When Writing Parsers](https://github.com/pyparsing/pyparsing/wiki/Common-Pitfalls-When-Writing-Parsers) and - how to avoid them when developing new examples. - - New features should be accompanied by updates to unitTests.py and a bullet in the CHANGES file. - Do not modify pyparsing_archive.py. This file is kept as a reference artifact from when pyparsing was distributed diff --git a/PKG-INFO b/PKG-INFO index 33e5194..dbad847 100644 --- a/PKG-INFO +++ b/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: pyparsing -Version: 3.0.9 +Version: 3.1.1 Summary: pyparsing module - Classes and methods to define and execute parsing grammars Author-email: Paul McGuire Requires-Python: >=3.6.8 @@ -17,9 +17,13 @@ Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Topic :: Software Development :: Compilers +Classifier: Topic :: Text Processing Classifier: Typing :: Typed Requires-Dist: railroad-diagrams ; extra == "diagrams" Requires-Dist: jinja2 ; extra == "diagrams" @@ -29,7 +33,7 @@ Provides-Extra: diagrams PyParsing -- A Python Parsing Module ==================================== -|Build Status| |Coverage| +|Version| |Build Status| |Coverage| |License| |Python Versions| |Snyk Score| Introduction ============ @@ -91,7 +95,7 @@ entire directory of examples can be found `here `__ file. +MIT License. See header of the `pyparsing __init__.py `__ file. History ======= @@ -100,6 +104,23 @@ See `CHANGES `__ fil .. |Build Status| image:: https://github.com/pyparsing/pyparsing/actions/workflows/ci.yml/badge.svg :target: https://github.com/pyparsing/pyparsing/actions/workflows/ci.yml + .. |Coverage| image:: https://codecov.io/gh/pyparsing/pyparsing/branch/master/graph/badge.svg :target: https://codecov.io/gh/pyparsing/pyparsing +.. |Version| image:: https://img.shields.io/pypi/v/pyparsing?style=flat-square + :target: https://pypi.org/project/pyparsing/ + :alt: Version + +.. |License| image:: https://img.shields.io/pypi/l/pyparsing.svg?style=flat-square + :target: https://pypi.org/project/pyparsing/ + :alt: License + +.. |Python Versions| image:: https://img.shields.io/pypi/pyversions/pyparsing.svg?style=flat-square + :target: https://pypi.org/project/python-liquid/ + :alt: Python versions + +.. |Snyk Score| image:: https://snyk.io//advisor/python/pyparsing/badge.svg + :target: https://snyk.io//advisor/python/pyparsing + :alt: pyparsing + diff --git a/README.rst b/README.rst index f51c9dd..24d603c 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,7 @@ PyParsing -- A Python Parsing Module ==================================== -|Build Status| |Coverage| +|Version| |Build Status| |Coverage| |License| |Python Versions| |Snyk Score| Introduction ============ @@ -63,7 +63,7 @@ entire directory of examples can be found `here `__ file. +MIT License. See header of the `pyparsing __init__.py `__ file. History ======= @@ -72,5 +72,22 @@ See `CHANGES `__ fil .. |Build Status| image:: https://github.com/pyparsing/pyparsing/actions/workflows/ci.yml/badge.svg :target: https://github.com/pyparsing/pyparsing/actions/workflows/ci.yml + .. |Coverage| image:: https://codecov.io/gh/pyparsing/pyparsing/branch/master/graph/badge.svg :target: https://codecov.io/gh/pyparsing/pyparsing + +.. |Version| image:: https://img.shields.io/pypi/v/pyparsing?style=flat-square + :target: https://pypi.org/project/pyparsing/ + :alt: Version + +.. |License| image:: https://img.shields.io/pypi/l/pyparsing.svg?style=flat-square + :target: https://pypi.org/project/pyparsing/ + :alt: License + +.. |Python Versions| image:: https://img.shields.io/pypi/pyversions/pyparsing.svg?style=flat-square + :target: https://pypi.org/project/python-liquid/ + :alt: Python versions + +.. |Snyk Score| image:: https://snyk.io//advisor/python/pyparsing/badge.svg + :target: https://snyk.io//advisor/python/pyparsing + :alt: pyparsing diff --git a/docs/HowToUsePyparsing.rst b/docs/HowToUsePyparsing.rst index fb28b7d..4f4e6a8 100644 --- a/docs/HowToUsePyparsing.rst +++ b/docs/HowToUsePyparsing.rst @@ -5,10 +5,10 @@ Using the pyparsing module :author: Paul McGuire :address: ptmcg.pm+pyparsing@gmail.com -:revision: 3.0.0 -:date: October, 2021 +:revision: 3.1.0 +:date: April, 2023 -:copyright: Copyright |copy| 2003-2022 Paul McGuire. +:copyright: Copyright |copy| 2003-2023 Paul McGuire. .. |copy| unicode:: 0xA9 @@ -36,7 +36,7 @@ directory of the pyparsing GitHub repo. **Note**: *In pyparsing 3.0, many method and function names which were originally written using camelCase have been converted to PEP8-compatible snake_case. So ``parseString()`` is being renamed to ``parse_string()``, -``delimitedList`` to ``delimited_list``, and so on. You may see the old +``delimitedList`` to DelimitedList_, and so on. You may see the old names in legacy parsers, and they will be supported for a time with synonyms, but the synonyms will be removed in a future release.* @@ -182,7 +182,7 @@ Usage notes - ``expr[... ,n]`` is equivalent to ``expr*(0, n)`` (read as "0 to n instances of expr") - - ``expr[...]`` and ``expr[0, ...]`` are equivalent to ``ZeroOrMore(expr)`` + - ``expr[...]``, ``expr[0, ...]`` and ``expr * ...`` are equivalent to ``ZeroOrMore(expr)`` - ``expr[1, ...]`` is equivalent to ``OneOrMore(expr)`` @@ -192,6 +192,11 @@ Usage notes occurrences. If this behavior is desired, then write ``expr[..., n] + ~expr``. +- ``[]`` notation will also accept a stop expression using ':' slice + notation: + + - ``expr[...:end_expr]`` is equivalent to ``ZeroOrMore(expr, stop_on=end_expr)`` + - MatchFirst_ expressions are matched left-to-right, and the first match found will skip all later expressions within, so be sure to define less-specific patterns after more-specific patterns. @@ -229,7 +234,7 @@ Usage notes - Punctuation may be significant for matching, but is rarely of much interest in the parsed results. Use the ``suppress()`` method to keep these tokens from cluttering up your returned lists of - tokens. For example, ``delimited_list()`` matches a succession of + tokens. For example, DelimitedList_ matches a succession of one or more expressions, separated by delimiters (commas by default), but only returns a list of the actual expressions - the delimiters are used for parsing, but are suppressed from the @@ -263,6 +268,9 @@ Usage notes Classes ======= +All the pyparsing classes can be found in this +`UML class diagram <_static/pyparsingClassDiagram_3.0.9.jpg>`_. + Classes in the pyparsing module ------------------------------- @@ -348,10 +356,12 @@ methods for code to use are: ^ FAIL: Expected numeric digits, found end of text (at char 4), (line:1, col:5) +.. _set_results_name: + - ``set_results_name(string, list_all_matches=False)`` - name to be given to tokens matching the element; if multiple tokens within - a repetition group (such as ``ZeroOrMore`` or ``delimited_list``) the + a repetition group (such as ZeroOrMore_ or DelimitedList_) the default is to return only the last matching token - if ``list_all_matches`` is set to True, then a list of all the matching tokens is returned. @@ -449,11 +459,13 @@ methods for code to use are: repeatedly to specify multiple expressions; useful to specify patterns of comment syntax, for example -- ``set_debug(debug_flag=True)`` - function to enable/disable tracing output +- ``set_debug(flag=True)`` - function to enable/disable tracing output when trying to match this element - ``validate()`` - function to verify that the defined grammar does not - contain infinitely recursive constructs + contain infinitely recursive constructs (``validate()`` is deprecated, and + will be removed in a future pyparsing release. Pyparsing now supports + left-recursive parsers, which this function attempted to catch.) .. _parse_with_tabs: @@ -495,7 +507,7 @@ Basic ParserElement subclasses defined keyword - ``CaselessKeyword`` - similar to Keyword_, but with caseless matching - behavior + behavior as described in CaselessLiteral_. .. _Word: @@ -535,16 +547,21 @@ Basic ParserElement subclasses - ``max`` - indicating a maximum length of matching characters - - ``exact`` - indicating an exact length of matching characters + - ``exact`` - indicating an exact length of matching characters; + if ``exact`` is specified, it will override any values for ``min`` or ``max`` + + - ``as_keyword`` - indicating that preceding and following characters must + be whitespace or non-keyword characters - If ``exact`` is specified, it will override any values for ``min`` or ``max``. + - ``exclude_chars`` - a string of characters that should be excluded from + init_chars and body_chars - Sometimes you want to define a word using all - characters in a range except for one or two of them; you can do this - with the new ``exclude_chars`` argument. This is helpful if you want to define - a word with all ``printables`` except for a single delimiter character, such - as '.'. Previously, you would have to create a custom string to pass to Word. - With this change, you can just create ``Word(printables, exclude_chars='.')``. + Sometimes you want to define a word using all + characters in a range except for one or two of them; you can do this + with the ``exclude_chars`` argument. This is helpful if you want to define + a word with all ``printables`` except for a single delimiter character, such + as '.'. Previously, you would have to create a custom string to pass to Word. + With this change, you can just create ``Word(printables, exclude_chars='.')``. - ``Char`` - a convenience form of ``Word`` that will match just a single character from a string of matching characters:: @@ -680,12 +697,30 @@ Expression subclasses been renamed to ``Opt``. A compatibility synonym ``Optional`` is defined, but will be removed in a future release.) +.. _ZeroOrMore: + - ``ZeroOrMore`` - similar to ``Opt``, but can be repeated; ``ZeroOrMore(expr)`` can also be written as ``expr[...]``. -- ``OneOrMore`` - similar to ``ZeroOrMore``, but at least one match must +.. _OneOrMore: + +- ``OneOrMore`` - similar to ZeroOrMore_, but at least one match must be present; ``OneOrMore(expr)`` can also be written as ``expr[1, ...]``. +.. _DelimitedList: + +- ``DelimitedList`` - used for + matching one or more occurrences of ``expr``, separated by ``delim``. + By default, the delimiters are suppressed, so the returned results contain + only the separate list elements. Can optionally specify ``combine=True``, + indicating that the expressions and delimiters should be returned as one + combined value (useful for scoped variables, such as ``"a.b.c"``, or + ``"a::b::c"``, or paths such as ``"a/b/c"``). Can also optionally specify ``min` and ``max`` + restrictions on the length of the list, and + ``allow_trailing_delim`` to accept a trailing delimiter at the end of the list. + +.. _FollowedBy: + - ``FollowedBy`` - a lookahead expression, requires matching of the given expressions, but does not advance the parsing position within the input string @@ -769,7 +804,7 @@ Special subclasses ------------------ - ``Group`` - causes the matched tokens to be enclosed in a list; - useful in repeated elements like ``ZeroOrMore`` and ``OneOrMore`` to + useful in repeated elements like ZeroOrMore_ and OneOrMore_ to break up matched tokens into groups for each repeated pattern - ``Dict`` - like ``Group``, but also constructs a dictionary, using the @@ -813,7 +848,8 @@ Other classes ['abc', ['100', '200', '300'], 'end'] If the ``Group`` is constructed using ``aslist=True``, the resulting tokens - will be a Python list instead of a ParseResults_. + will be a Python list instead of a ParseResults_. In this case, the returned value will + no longer support the extended features or methods of a ParseResults_. - as a dictionary @@ -825,8 +861,9 @@ Other classes input text - in addition to ParseResults_ listed as ``[ [ a1, b1, c1, ...], [ a2, b2, c2, ...] ]`` it also acts as a dictionary with entries defined as ``{ a1 : [ b1, c1, ... ] }, { a2 : [ b2, c2, ... ] }``; this is especially useful when processing tabular data where the first column contains a key - value for that line of data; when constructed with ``aslist=True``, will - return an actual Python ``dict`` instead of a ParseResults_. + value for that line of data; when constructed with ``asdict=True``, will + return an actual Python ``dict`` instead of a ParseResults_. In this case, the returned value will + no longer support the extended features or methods of a ParseResults_. - list elements that are deleted using ``del`` will still be accessible by their dictionary keys @@ -858,6 +895,10 @@ Other classes (The ``pprint`` module is especially good at printing out the nested contents given by ``as_list()``.) + If a ParseResults_ is built with expressions that use results names (see _set_results_name) or + using the ``Dict`` class, then those names and values can be extracted as a Python + dict using ``as_dict()``. + Finally, ParseResults_ can be viewed by calling ``dump()``. ``dump()`` will first show the ``as_list()`` output, followed by an indented structure listing parsed tokens that have been assigned results names. @@ -1009,15 +1050,6 @@ Miscellaneous attributes and methods Helper methods -------------- -- ``delimited_list(expr, delim=',')`` - convenience function for - matching one or more occurrences of expr, separated by delim. - By default, the delimiters are suppressed, so the returned results contain - only the separate list elements. Can optionally specify ``combine=True``, - indicating that the expressions and delimiters should be returned as one - combined value (useful for scoped variables, such as ``"a.b.c"``, or - ``"a::b::c"``, or paths such as ``"a/b/c"``). Can also optionally specify - ``allow_trailing_delim`` to accept a trailing delimiter at the end of the list. - - ``counted_array(expr)`` - convenience function for a pattern where an list of instances of the given expression are preceded by an integer giving the count of elements in the list. Returns an expression that parses the leading integer, @@ -1247,9 +1279,9 @@ Helper parse actions ``ParseException`` if matching at a different column number; useful when parsing tabular data -- ``common.convert_to_integer()`` - converts all matched tokens to uppercase +- ``common.convert_to_integer()`` - converts all matched tokens to int -- ``common.convert_to_float()`` - converts all matched tokens to uppercase +- ``common.convert_to_float()`` - converts all matched tokens to float - ``common.convert_to_date()`` - converts matched token to a datetime.date @@ -1275,6 +1307,19 @@ Common string and token constants ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ +.. _identchars: + +- ``identchars`` - a string containing characters that are valid as initial identifier characters:: + + ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzª + µºÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ + +- ``identbodychars`` - a string containing characters that are valid as identifier body characters (those following a + valid leading identifier character as given in identchars_):: + + 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzª + µ·ºÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ + - ``printables`` - same as ``string.printable``, minus the space (``' '``) character - ``empty`` - a global ``Empty()``; will always match @@ -1287,13 +1332,15 @@ Common string and token constants - ``quoted_string`` - ``sgl_quoted_string | dbl_quoted_string`` +- ``python_quoted_string`` - ``quoted_string | multiline quoted string`` + - ``c_style_comment`` - a comment block delimited by ``'/*'`` and ``'*/'`` sequences; can span multiple lines, but does not support nesting of comments - ``html_comment`` - a comment block delimited by ``''`` sequences; can span multiple lines, but does not support nesting of comments -- ``comma_separated_list`` - similar to ``delimited_list``, except that the +- ``comma_separated_list`` - similar to DelimitedList_, except that the list expressions can be any text value, or a quoted string; quoted strings can safely include commas without incorrectly breaking the string into two tokens @@ -1355,21 +1402,21 @@ Unicode set Alternate names Description -------------------------- ----------------- ------------------------------------------------ Arabic العربية Chinese 中文 +CJK Union of Chinese, Japanese, and Korean sets Cyrillic кириллица +Devanagari देवनागरी Greek Ελληνικά +Hangul Korean, 한국어 Hebrew עִברִית Japanese 日本語 Union of Kanji, Katakana, and Hiragana sets +Japanese.Hiragana ひらがな Japanese.Kanji 漢字 Japanese.Katakana カタカナ -Japanese.Hiragana ひらがな -Hangul Korean, 한국어 Latin1 All Unicode characters up to code point 255 LatinA LatinB Thai ไทย -Devanagari देवनागरी BasicMultilingualPlane BMP All Unicode characters up to code point 65535 -CJK Union of Chinese, Japanese, and Korean sets ========================== ================= ================================================ The base ``unicode`` class also includes definitions based on all Unicode code points up to ``sys.maxunicode``. This @@ -1396,13 +1443,31 @@ Create your parser as you normally would. Then call ``create_diagram()``, passin This will result in the railroad diagram being written to ``street_address_diagram.html``. -Diagrams usually will vertically wrap expressions containing more than 3 terms. You can override this by -passing the `vertical` argument to `create_diagram` with a larger value. +`create_diagrams` takes the following arguments: + +- ``output_html`` (str or file-like object) - output target for generated diagram HTML + +- ``vertical`` (int) - threshold for formatting multiple alternatives vertically instead of horizontally (default=3) + +- ``show_results_names`` - bool flag whether diagram should show annotations for defined results names + +- ``show_groups`` - bool flag whether groups should be highlighted with an unlabeled surrounding box + +- ``embed`` - bool flag whether generated HTML should omit , , and tags to embed + the resulting HTML in an enclosing HTML source (such as PyScript HTML) + +- ``head`` - str containing additional HTML to insert into the section of the generated code; + can be used to insert custom CSS styling + +- ``body`` - str containing additional HTML to insert at the beginning of the section of the + generated code + Example ------- You can view an example railroad diagram generated from `a pyparsing grammar for -SQL SELECT statements <_static/sql_railroad.html>`_. +SQL SELECT statements <_static/sql_railroad.html>`_ (generated from +`examples/select_parser.py <../examples/select_parser.py>`_). Naming tip ---------- diff --git a/docs/_static/pyparsingClassDiagram_3.0.0.jpg b/docs/_static/pyparsingClassDiagram_3.0.0.jpg deleted file mode 100644 index f65e5f1a44a2a25caa5c1a2a17ee8df98128c71a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 324253 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⪻$Z93*i%qkQy2)5CO6SP`G@kV zi}tuU@69kNEq>5&qys1=Srxz8B$S@Ls{khSh7}cU+av;8rrZ9LpppEFMBVRcn|E%f zg3o0Ldwl0p8+)}Rb6Jn$Cc4lh{6ZBf-l2=hifQ^X##^%P!6C~Mt$;t&vC>R@*mk1n zMt9%oh)(PeT!6q8icBfK349ajWt$Ju`9bDx_e{=FC^YIV)IF{roLY}hMGr7|s}}TH z4#%x7!|KEb|59gb@yetKpiz5)ZAh7$JGwLo-zg|v;HEvfaQ}Kp`MK4+0I+{CQrtx} z8I9VlseMR!jM2QMf$Na1smV1|rI&OHWydXYItA_a@V@!RlM#26tNPR(=3m%-@&TLV zA-&)xq|2T+&cp8MIpA^ii1^)nI$oh@wV*I0w;A^q(J$vIo@&+`nN}Ndj%c1{z*_e) zT_aTmD6DZ&3TymcOO3Gf$s=-=m5sj7EnCr^Uy-D5)*RPun)1bvz7C1f{Y?O#v0yeR`!|$g+RYI_b5g2-TM5L#<)f}?$cKp1@lO$Xi3See*#pa6<$4^J zCrjD>J_{i6_*QzoBOL}4hDM?9IqNzY=}Si7;Kp+(omR4snPhKHr38%4*D54qPlcfH za*JjD#dk|(zdQ*9?O^a9&7DoNCoCj?Wy!Vpdj>Qdhh>lxL-ShmFSuD`I5spL@|d-$ zx)OuZH$R+?*XXTKgDV-qOF|kB-kDdWmztVGs`4j`%2pxlXivp(Avky}gI$(avh%>vHqG1d2J5mats`AELRg=! zO^{C0-unQ4GmH(lahdn4F$RwQ0*Vgyh!b=-#c3XYSFD(j_;!xtPUDxmJBL7=xQ)?3 zbM`|)+EsS>MfeM%?Up9GeO{4j_I6&)0G*!V4dWLG+DxHLhR4LahLB-Dx6KuCeS-{m zq zJiqFYl-Fd_Chl)ZxdK%Wab3HRM(>xXMI5682o;Kf;VY?_8iwbc7upkNLf*uaY12N? zpORLjKNuRcx(PM&RbmDfhY0tnK>OVL?=?nDpC@mA z)bisYzJvY&N|Dw1FY|L@b<#h3EFU@Y=K{>SjC&5tS%4EJZ+Mou{&T&%~Co~8`@ zJPuV2aF3L9)W4wGMYKf~RVhzeLTqia`(xV1+utR8V(IQycHg~gb^y49B0??RH2Svy zoaQ%(7&yKugwwfzh|y`r%6@|9cGxAm8|hE#*S?z=ArG=*FK_n-V5&!h*ufS9!i4HH zrEr68PTSJbvjoqpffmn0h)FLqh3`g<<18e`DKv3>w*|{4+LSPf_X*Q*i;bnBvoh7K zhX#@uovE#;31&n!0&Y`UO1vR^O6uPGzzmnM+4r`O^m2#&PU2S+3bBX^HGi~eeVF}m z>fn0kJ12`eUvEdvi?SB8d<%3k8Eq3*0^wk7r+kH{{a+1o0PZR?R~*w%Qr*&=FuEd_ z8<{!owcmKrIF3lPbM-1ks`hJ4Z{<#9{X2&(3rGK6&vTzm)evj=5$>aq4uF<{LEtkX zvDON106}rErs7ajskpIZVy&6#dpSU->n#~B)5Mkm zAUq5Z3Uck~*B`dey==e!ZT;!JK<3-F_{k`VCwVag6vxq4CQ{ZnWU2X+S+ygTW)t`u zzqHs2y|#Oy85GJ!i9~(n?qiV#<3INDtrY`+j~2EkyMBi`wlT8x-D5JYR$gC|s=rn4uvnI>r3VEdWTH+4 zp~d$CT^vD9mTv}Q4SjixkybNg^_{Y|iUn{|rObHKvB9RLbKP&6Jmo(`lq-#MIMwFu z+0tT;+Ip@}9xG*Zpic({3}up%Jd(Bi`wG34G*{WtN>rCVnlZR|6}+;gI1Ciez(n-)4hH?8YGE~6&qz8PldT$!;SCr>AY z^!3)-a;p5~K_MKGwAID|ksym>2dvc&>uLcx$8+PITvcM#c}7(L(+ris84!eh?xuo5 z*hHRl{Yr|CSYVR=sk5oXaVlpxeI#8fE6>KEe59f7C zhL5)0{q2oov7}m?>{g3RX>=;7<>;U+_N-ldYieL^06kt7RaA6;qo`i0o-$ZkwzR)B zgv>kjKC&;37Qx_Rzc~fhsf2EnBn2pbn~;BIo@5({lVnbHleV6CNIja6fK zYcIjjoGk!}EO1$cm)h4Fpy?7+@~7GyLdQl+p^=NdFXuV>GG4ab{_RLRyIMK(6@XVu zu2~Z0%pwd)?nD&0>x<<=D|f~`i7aw9tKSTJ8GYOA=v>{L!5~;*$&PqK!|YrSr7FBN zugL%<*JEG{V_C15Ehoj2yP6w)qAz9q@S?`eEk}LCa=Gwj1lX~rb7HUwDnxVOH*cHJ zdp!k7H3g5_CIwbgOz>lHx!#}`UHdNc9q=iGP3}N(V!jEWc6~q)iXZl!*uIBu2){03b~bfTyc>8LN*IZB$%--- zU(o9!`B)n7hmk+w!W4WLl$V2l_I@T_Cg$%=G$-56~mj9i@ujtqNMN zS)#Tx7si6$dtE>L{L2Zkf#6MXWT9ze;PTZ7YSAz{r^L4%_W)e0bx!qepos6vH2-yQ z(X*R+XEvO4{TsA!*7YY*ioYU&vn$>{$@c(Ah^(3{CPF$nFh`xUkUJ??>+ZW;9(1(i z%kM|-yg5^}MVSX>Mjs4y+eQxDayUNG#v+d1IN1dK6ks^A3EqC?x!(3Rjvi8EF!pEb z+xX{F(qqfM{cnBk^8fU;e}9_(V_(Y^t8YmCfhs!g=pWp~zOfs6s2v*Wnfll_V!ipW z+;d__{Ld~p!|Pc_pYR`jt?%^6RHTmI%vHXW;KhyKGihYNiZj zQdg;#4ol+PdlADSWPP1Z7w3SMYGsb zx?gN+48bo5PMl(ht((J8Bx}6oh0Sa41J;EO%SOQof=1Y}STO8@JSn)MV?$;O)!Lyd z}sp5d?h`Xg|Igr zbgVr6{oYL-!jaJBM&M*MF_>`yt}f(deo(d?v<>R;7E*U z0r+!MDlKHy)@4}F#OEw?4R1PS8f-h_OxGpET3+v9Vzp+*Dpgf~mi&vA-svyf$r_8v zTgCFDh)<|#<%fTW9^d`3n$$D;7lgh4Rz&_~%K;kizv?Dj{(_u%i3>AXg`DZhIx02s zglL7m7@g3{;kjw&C&YKuQ~p3pSrOPgp(F!=N>gyLA0`8p`>Oy$}ZDHO#G(>T@M6J zGL1rlV>@d>yiAna@>G_VxBdCe5j$t3Jxol}cV?l4={ zO7o$XZ{6yMQjYlko_nR{=h)yUBlcryUHw!vmSdBJ62De%oNFXyqGVPvIY~qy zv1gsQhTw=b3l?no6>?OUa=r(af;YN0)UaafQJov+)s$2zRi`?rbX6AK%$9oumP^x4 zJJG~Q2}(ASC80xgx$N8(bui|Ze#Ssez(EcBhpxfmtXd#?BpygmzHI~+A+SV~sSEVP zph>x1Rj0Nu50C2@$G89R`iRiKeGS<&XNC>peOobG=`QO-TUaJLrxC;{U@B#C*Kh}B zL`iI^>Fy8SQ0!Wo=o)SPso|Ezj$O7}l}WQ5FY2VG$?0UP(g@x&2VoAoDy$ZXSKhOO zghxr3O1iBXA3M^2gil3qjdS*AhQz}a|CW6vXH9D^pL$Ve# z*r)C~kB~nvBOYfSs+`crRbF#eTv z&1-jR`odcK_($<~R(cT`v&q6}aB^gT830G1#Tc1akl_@~bs4SfmO~}`chfXJsVRgO zA_8$QC$&tZl&00&;K%Qkxyag;7=1q1C}7!JCk!smIPr8fZMfJzDEesqQroaWzmiCZ zU0q$8JfA>+AbYPVDVk@%jf-bgE}d=ol+v-IZ-PA$QrmeEpwqXs7JcGlU)AEX!C=P? z?8G%kNw$kw1uHJK>oEASqX1|dYM+BNkqG;N}iyxe9)NfaG zBdNSMofmFddN+(6jPQM9?#v7C?PMcL((J>B@hM(lS=c&GP_mN6X#WMm1v2e`_c(e- zb(!er!+UO#D3%;fIMtLfuOgiDkp>M3FZX2R@@yRC1BHnzRu}NkKp-cgPplkc`5Yq1 zx-^7F_yB_W!SjqhSc04nIsF*d$Gpu!#gq9<4yg z5lWAdYLM%ys83y^@Gwn3c#pqa^zPzZyzB38@a5Y8utbQ+e8n{R0o?V1L-<%+!Z1_eTfphfJ@9`h*i z$_n{v=Wr+G8O$YP4f4oXJCtMZ{1(>>gwj{@Q5A8G z{TSz;N5mKlnKjP_Z@ZTni>|28lTF@^6##PH;@(K)a_vjj`JT`G3VInk_kH9GJ*Lah@xk19Tgzh5kiJCs|QtnX|-1S@}#zJ4iT=svU? zQF$iYiN|qZ6J@*BJ`UFRCFtcZ)Gt>gv!D6trTr?3Z{*!M0{V}G<}V6EcHbqpp%d1J zpPzBtgZYEJ3EID2Ue*7%BH({}|a59K`JmaNp(MI=fgC)t=+BGw)EcgxtkS9-N9tLq9K`ah1X)N>p; z*F5msIs@0k#{FjM^i6VpWoG*{IbFlKJURt-z;Q^XVcBef-EhLl8T1sj{M_28 zyo{*ZMR9?g_+e3>R;p24x7&KBgam*M@4gJDb<&+Gn9evGN~B!RLbj4NPs+?>qK?6l z7W(>=^ULQhj_1tOrx0GMIEu^eCPW6$Yw-80Ewtr?MYJ9aSwGmFzcqix^Vw6+IgpZr zkbAMiE>T&h8slImnqoXY#}6NXodeDa;+@J|oS#NTR=1~q5gU3Lh9G_8jsxC0e-*$1 z3~B;G3mci;wWz8XtJ|m5{#AwDY{4JL>NmWaMSK@@=IqXOk!h7Rt@&SWeYR@bH#xRrKXSg4#%|-eJgwZ)Hcu?8fx`-!*@b z8v~QpK=8MFZ4EKq!K*;HQ4!_IynI8_^m`WcZh_-?9+(~onXxiC&|&DzYlga}B1d1L zdhiKcgqnF9no@*qWXe43WrYDU1i`+QHCWSd4Cu_NmNS57YcjxbEXMUmDg~CfA<-kw z1EOmqGRkb3Dy7ZJ4^LN1Nk3+juBSWHqvMaxXWW6Sfgafl_C|QZ>!V}wd=nkoj%#ZK z6r30vC7n4)gCl_r+cPXJn1NG7 z1NypN!biK!1CRRiYZY^)Z8ATR3Mg8{paPdI;{r=IL4xi?nyXpyDC|bOMV7t7P@A=x zNyamNLfnXnBscLw5pW;chGlJZmF#Dxd9F<8tVfpb+^3`(c5-q=jN`eUHO-RBR>C=d z8A?~aZWUsAhWni8oX`7O|H?r3cMkSN_v^4yR&dul=Kg&Pi!V>4db}$!$R4u3FeE%`n>1P+?57w<8>`C8R=m$ng-yy?tY4w5IBRMH4cBR826P==!eB@`fPelbjAp!B#Gx!KO zEN0Q`)_anEpO6?(gGamxdFIY)j7cT3espv=OMuH~Mhb z2;{)EnBOSEtKbtUw;s0GzJab?iy$jXIvHn@Ej)U;@l+i?27)ewt)R>6I}MLL1eq`9 z9Qi8tr@tRONB^pN`OE0f3vR?N=yqIN^G*42?GGW#pW2p0zI);S{Q86G>G6m7|7g-* zdFRu7*U=w-g#Yu;`hVope}WG>R(`YaY51-8jB5r;#^gUypFjVTU-*^SUobpy)4v!J zFx%<#)63T$bzd!X~g4gnv6q-mX zNliJ$0ZnYXuDx8wdsgPePI8LRw`ACtOt`8bJ8YM{oY?9cL3fN=_kNY?#kbI?yQVJo z3t0&ZfAcD{S~wgxRPk{Y@C-@}@-s557-miQ8-9r>0*c4Q4IAcf3QCoT35+sBB_!>V zTI)5^?B?1#&ZCjimBhe_^`iR<0FU^HQRUBWAsmF8t`SOO*srJe>(&Dh47Vs?H(d+P{|ydrk2&k&v-wF?W($Tz8V&u?6h%HWK%*CQ-GMev=3euj;09|9E^aRQwA^;eWq7 z{!F4Mv!UE}7yG$do$Hg$vL3$DW?-auCrzrLA<$ARzp-XMo~Nwx2Q$YFb*-((1$a~d z%#^9dQKU4-YM4Q{qrTe$=JO???48If`6l%Id_FYi;^VVguKSzKp|=LlTy!}#GWYmu zc0%dneieU+7aXNod7$zGnH*CQw<=4s&;5E?U97Q*LP)|mXDft4 zQLUQK)0A7SsH{aSe(BkL0WYCxq#Nh>NZvY(P;@=w>Y)H}|w)?-e z)>_?O{#HbyLRB<3bV;}>I2Ro6Q7A%zZZ;(cd&<;HkEm$LvHkif0h9y%0+Xwjhgl@2 zswdGFyIv96tLDq=RrGy_WELQrk!;9&JLMG}MGS6^*2!(pAADDORKdNtquY^a;`CxP z0=N2NlmLelA{LpH`aFdq`s2cuOM`Mqa#^t5bX#|7E}HpUWZv8MP6x4P^!cDXUfW69 zp+U0mm#7d+IgH&s;R^~V#T9~0Khj@gbG7=L@?J9)*}>xX8P$ey9Wayva2BN!S+Go= z*cDCwDzWX3kf2N3DBMf~w*|p^;6Ss?q zA9J+X8ds0Kqmj~LYI%yz{E&E=_7t}~nPTQEJJQ7BI1uQk`ZFd!{Rhk#alBmXb^@+` z!!AuY5DJ3{a$GNT5o!*7o5~d8%TBcC48B`h0HC-5fx{`vMKqInREvY&o*{*V@~dIQ zRUyEFnh=AD-@p^&{lH`3Bx2%YCl9bni!|72*BQsOhH&^S&aO3*^P9JMs*JVEt4Y~Udwb|2JP50 zqad;g2DC}rG$nfSNDYAxj%GkZ8-+Qdc3rHYnyLJzGbD}-H30s=~#;LH;r_+z9qcq>vo|v z83*;4MfAuOfZe$R4XQcTj@-u_?@t1ChYKLpGTFqCZ12C9uQvM zOPNIw;kA}~>3RLHQ^u~l3>%g}kpbK8gZ6G&Qj$>OX0U}@;R5!P{GdHXmOEb4ctRbW*WRoU9mQna29)6Fx1vxU(A8Q*n|vWVH+RpjB+q0O$uCf zsdFc-Q`uBEyLmB>gcjeWhcWYj$apYFbD3S!m6y|78l$I-^S3{9;{s612H;0bX#6~M z-okDmohBtw2kVrn^{|*60Xpt<BYxA>#hzi~jq7A!O zIkj#wdmYDu8(wnkIHOqOU9G6BbnFcFp@@gZ%LaphjtWKBH}3BVH$TCEo0@X^hRuxu zYhS>EGPbiEI0Px9m+bQUk@(8ry1MbSsH;F!)QM*;lsFO+NgZ3k!!DdPK~;>xm< zuR$OJX{z-KG_TfKD(gb`xqda9_%xEIY*k|X;q~VA8Jr+s7WN)yU^|ai{E+Iacx{W> z+L_jL+}nRh4c|Tj5$C$XHL&)8=(u^1COb@lphj!xlx#5wb<3v5}71zVU; z3QG%OdEUVJ(0qRIE!7zd&F&r@5_uYos`dCSbvmAuX*`#vg$EA;99r$Nn!{lM>8eal1q-w8G1UYT0hMWA+zrtci1D8o^$N!R7P?)M8~6@HF~r zkd5gK;P#O-_J1oe1pb`Sg>3(|PPf14i&gTY*EeXl)cs)!{?jNNuKd$~uTcK+oqvM5 z7x@2hFwrs3rh}q^>nE>&zE)~~^)GdLZ6A`yZAh8z<5KioMMV77=nb4*b|N{!vNsD; z!*kx7t9_QS`(Li#%y-i|S`N$EL3t#FH)-`xnr@P=NJtb+RLZGIoNDOz&}n5sb(h5P zJAri>F3Fa8|KM+TZ*cpX=0&VCcMY_XyxlDlVDtt6uqZ~SV=_pV77%Vci_&l2rt{&q zoB{D--3oPY7p~}X#>%_c-b__%Zz;e$?Lu#4Kz*{+JTHXJmxkuz3B4-j$7fJC9PVvW zj8Zao*syA5tY)*ER^memI*hLBGKYo(Fd?ts!*ZDvIWy?`4wpDz( zkF7r@x_WS2MP~KAmvVlfb_Xs5)T~p%cg?J8=&sBriAe=DISQ1F(!-ND!id}=yo8UY zW-~wpanXc~312m4wKiHhH!8cH#Bakk@c8)bmanqUUh#QzExqIPK&R|k<9W1X0;S1e z^nSe%CDe(@iWGos6qXTxZc7E2n(6gRb@fqN=YuUW@N05Kz;w(WN3a)Wb$n?#=O+Q^ zUX+u}nX%cfS+Uaplxt6Zbb7Nx%wqWX*>#kV9t2c}G)eCj<3hNN)(qZfM16!)nX-|U zl?J1ZxNG*^iO2;+#~T|$WJ*NgM-k$~mDU9?ENqp~k72^XLaaw%EXN>9z>1cGr#P{$ z#<=Tbbey2!84(i_RS>BIai#uOEK!t{KpzW`S%jp0EEH-q;QYrcxIg(uRC?C4}5y zE&_5498FO7gF%2wcrrLpPGjcL7bRfKifrMeT1?NcJBPVU*7B`U2P93Li*sm&7|8@$ z;F{mc1Jn>eimi#%`r*& z0+_lfh1uDRwIJ_i-UI7OHPtX*iZ5@MOPZ0dis9k)q*zGVhNP_$h;<$3B`?;c1tYL=3npeeaGksu1}5X$KFgY)U= z2F?SQ4GHOQZ5Y_N69_CEfxEtqw#$K_-z)Vkd4Q0 zeR{MUNfQ@OJ>T<-lKbW;kpfN4Kp`?mu0PT&0&9kkCa)QSdSL;2P-s}e(W3n=LGLAY zT5b3^*5^@+ph-cRzEXwa4nb~Fh_!SfUr9Z$1F zMw4sg4Gb(M=V@9~7^a}0o`C^3%56h5G7#W-T`0AJQRaBsM>t1Z4Thq*Xd{g|rb z>2>U!NP-%u2L9PSd;~Vf+;JXiWA5ck>h2rZsL$wp5_NJ81DYJyd}_@{@;&T%m~5Bb z-b6$T3pE+m@STpjf@=obU18njFRE>VP5ea{hJyt8It2TKwgkNqZ6+P_c2fR+Ek(=Q0r{wP+^3jT45) ztV&j!PgmQU$Ep?D04ts2m(`S4a@lrsE(f^=qd-0pHNz_qZUo5klAE~N@AfVVxP$gA z?`_FU1%}<5c(KC4o|;(x(VqbQybQiJ3eO|6UKL0B`}$8l9@*nZ zRz4CtuCM#P=F-qK~gz99`P6@;i1}|&aIiJZMwsrk( z_sCJ{x#g#I5!7MfeO#ZPql|hG8rEk!HEaNLg$mtQ`|6_vTNV@Piyq?|fqI<>ppjR~ z7mv72y|R%y<;ifUg3IesiWhLA%!n*cnlOS-JQTd9;C|%9(~&!mi~+g#X4A05`?NI! zd%hmA&LMHUQ7K@x@Hl?|?Ct+NZvQ7p=>JBL(9_XZwhr>sM!z2^f689am>0S}9H#rY zoqLd?OrWEvzEz37%F?pVwJa_6@U8x?L;sYH|Fq62J#Sry4sYCZzA(Ao-?~&0%(90| zWGU8+w}>2dVw9%9%a-JpUY*qS)tJWzT~{Xw?G==L0sg|xGv1LFFd?={dx?KU%cc}0 zzibOK?mHh|ueA<(qtZspGN!#w+QeW}WHMZ;X9qXTZOX8tq zTQ9pW&%yQ<@QjT<-znVR}% zm~0GXczWa@pxsX@fsp+i$vhZjR}Hh0d6E8jK#eUHD_$RBsTI2dd=l5XSh+mb?yBql1Q zOmuwm^NM`b>15Zcl{$~9Xc3i&=JfBRY39Bbd&&!!>lOiPi-6*5P6BIj2WtzNCi$b+ zD_82mV?l%l75V$mnL+baub0KOyG17ojOdq+`rL5#@^T^t=%!JG5kYobh}GBa9}bvW z?dtOy=AxGxfK?j$4(@3+@RQqfX{OyzjdlhNp022pVGklJC-J^>Gjo57RT7bHCJ@TE z>UBatjeJcGnEfHQN3|Dz^&nIJBp92X9$N5vcn79uh%dWv5wdu?S($t@6E{Sz;#VaJ ztF~7v65rcSb1TOx-`m=%YFp-rD+XW&b`z#u_ovb_LcjDkG%(lJJ6br7U(_o_iR}X^ z{Xrd;)js~<&uAn{H=YqUH-*`=MMDuS)bLm+$tLb!Ejs^SkrJxsMJvE4s=ZXKb%{~{ zqrDh*DKdc$W{~H^w@~0n-TTEEKZgGiz+*)AM^wW!nk0j+RL#EF>sP!g`(rU>_b!T& z*vY8MiErr-ntGk!Kj)v~tMB{jZwWjx((0h{fD5jEB5AGT6!kodAw;28{TfP-7w^R6 zzy#d`wBFFOe23a6ZA=lR6PoLHW-6bg-HRx+FG4Fe^#_rH! zuPW}QUiTikax0zkjfh(v*~r9|C0Cwq7u)>#`f>CjPZ-nObR^CIM` ztU!w#*fY14#$B;VhOIA;5r9rrkm*32c%xZ$U50?uxc|s6&ygCfbdZ5jb|LO^|rrBa4S zy5<7C#4Wo1xZm{@M%#n0X=4hJ=m9Sz$7dg7J+@j^MOWgqmP zw@GG&GkL&75o~EY*w>0ve6co6_;2|Yct<~J#JzH+$ zz;~yU(osG%#j=93YO9pk@GW>Blx8Sj6D{zWoF+9fzvJi=*H~DA=L|)941f*iL>WV; zdm?MExMtqVUMwLm_ry1utFBhy==eGMP>gK253k3wBd)5lazo2K=IM4Q{cH|{ktbX? zNd?=t^YQ2N_{l@}jlfl5kpA)2C)7eek-OVqF(G8F#E214dq6y{k?A<)Qz#Jit2D4U z;w2@!PO@&Yp;Yno$$3J}%2kJ;5lQCs!7d(vpdtG2m#Zc$PVy8zl}{*Zkt@xPeqGPk zYjnX2K#xJ8(M|X`CJ(kfakZxpBLUe$nTzkau=2gO!4ksH7NDQMTEm`l_!70u*GdUS zz(RgRp`*00dZ{h%dfwFrd=RpG2xO%gM7RZj79D=oY&AF$& z#ATf9w!6|;a2%3;Y|HO_0;Q#O4AF>G0A}@rv~Ctlm292YF{&<%zehTy#^Q_g<{9l~ zE{RYE9~sop<;&5sw1P|p!IQ={6Q6vg`ERzqZ7>U_=ENoq_7Fk$M`zcpmKq8v1z5!N z?DGD8$O3+un9# zl(lkq%_oWNvCSpI+2eeZn|ASqnh2vx(-XXEQ zLr*Bi{*|niE=-;IK{`3s1f;v}@LRe|7O_?_`6b05u2VuN4}gf)tBn9a&~~SareWI_%)PYo{ziRNzmYi?oOp&kMj`G17Nb8k^u-HlrfCG zz~*lQ{Gd>a>IFAZut0ig4k4ymA1-AhIa=km<|%cKy)t!*LfIrbVi{a&!f1_B;RsEF z3L+Z3SllY}jXYdk@aWZSij36jl&W+`JGXf*gWP>TDQEn!7A@<{6m}r=3R-8T)DB@0 zniS7_nu^zWRRIWAvY15vNWHLg8&z(Z#0go?{=h@!X;+6T%cM*nL)P>78qunZ z6eFP1@Ki9wP!DR86}}FIz|8m02$-f2(n};U4fYD=Lqw9gXAIM2j^pYa>Qt!%DCGJy zp1beUIs-BCm#&DPFHmE%A2UL*A|mwb4g7rXU1xq2wY9lNV79lj_h^Mu?n{hjQjP1W zi;{jB6{CT$sTe^XnknQy!xz8Q1@SfeKYq~2Dqh^Bzt~wB4>!}fozS!PNDH?1ct`Kh zZpUCbR9F+WPL)^MvuZ2Hdk$|n;6HQ>Pl~vvpuIi6i)iP2lJ5iZrv1blG&sWD619rO zZZgS~_7SS442XpCiHjeLdt3kvUWcXh0>2-tlJQrwb4hheXF@DZ)oFcSpD0ZdwQoi~0lxcrH zUWNwn3scWe!HWAN4DaZMK-%p3ex)_uvc?^1Kt$SLbP=BGHG<5jL5hCgP`Wnag5soY67~?HU8C zXZhEo>Xe_4Tw-)fMw#;r*CwS3$*5OpAX!6yu*2|tMWThkZ!H$6f_njD9~CF!9jQ`{HB}#%(f#s0Ks3u~!|3gpw;tVSym zh%eCgb=SW$_f#Vmp{JppO(+e|&c9V*6ug763C_}FdfSia@!a;pfBJGcH8I9%0g&Mo zSFkZJd;kyRnH|e^EiyT2W+FpfsPWQi{SlOcbK~y_b^#o>$cp%ebynlOoZpZ5TvE{q zKcQmptQ3NLpT;!L@MeR$MQ|z9t|bZPP;q8dW;L|e)-42!Ty1pGminfmVwu07J==kY zAd5#%xXTwnaV;TYnh~>>5f13wVYK5UAuMce3>jP&{BgBL*~b>Hrua%mjp~SYt8!6z zIVFEOUxGonoIIXl0GpjB8O*^3c5jY2-tZ=-+;nN+_3&LCoo|z8ahsq%XPlr=FpL}j zA{QSwDE~n&mtK0uqh}C~^S*NxIaHTsGTGF%a&iGw(HgK>V>}vDL1^Qf;S+fO@ZI%| zgn>78LL$!B=~7KD5u9D}Xw+WdCAa*-^G3!AmCKi=9e7<1?bjd#Wtz*R9_FV#3Mt~^ zsbY8fMv+W$!x)Fv8QLfzgB~9OAd)(b^eMF5M`f^k4joi{gAXRo^?U|LHZRx@sR!jf zODpmrTogE5jb-1krWl$3#K+{F66!_HKF9j#MXu)nTsya&yJTI~@wTHN4+6fQ3WnJQums@M0Wx)#Vx)Fx}BRDyW{`F5&g7Ub^c{W+IU& zl1KBh9CMbiHj!pEJbpbq^Cg42L9vOdjo@2dUuu(a)J(Fq`?%-9&PpbV`A{Zu%^|ZW zJ|S`RzRdlmMINV@w~mFN=y$zLX5sT0DW_l@GeIOe-3(MPUudLqQ7_%g-?S2#6~r2- zbzkWAh#lHbf;+2yKX*BU7rbC}zS@wOtkf$xSmZP8+`y={V8XN~^6>Y0of{pGz%-xG zp`}woAt1RE5Y6k6gqhgx9WSSBDdbU{RTw2)wl9VdGY&o=DUwVJW{oVW7{{on>}Kwz^|=b3L4|70Y%y8V>$Hqs{i__A zdKlL5jf_G_h=PnC6(sn*xxudac#Zz3;{YbH`?6%7>eG=HkFMZvX}EWQOny8nLjLTj z^k5VShUX_?T#EhjWVwAG-TiBC^<|BoSRH``<$A`xXGZFm^v5xsF1GW$0UIxwKwJ2b zHp{J=8*3TDZ0syR3rfv56nhj9M(2`7;Sd0b&*9Qs#hdRRfW}p)il+yDqNst zXC9Inm(gcKEi{UXbi^P6>_x za>e*ysI?E4BA3G)d!bOrUO|z#?Yz=tz2mBTL^Vz*lU72`)TxLl%@p4=*wtG%1i)mn z`sqzboUI(PGF*5rxt>Y)EYJKB42rK!!UddF*{caQ)BCT<)z{A zlOMzoD!xq#=a*~G7ItL!~|%FQ0{ENS2QO zIN)p8o7)q=Ir`8&R}0)df}K!)WHFHMSmZmY9O3s;I(nq!?HD~mLQ}_Xon3)5omU_r z3pR`PQUm-ZH>$2*8^!Pi!ogeKP8wsMdL6+LAtFkNz6w1<4sKk#0WTK~n5ETZ&oh=q zZrrfJ82i0~+r|^e*k*`FLR;q=z%wI}spCaVMTZ!;NNa&7_FO*NMAaCK5GORmXg}bXMm7euU<9+3JtD*C&hYca^WcyB_8e-uJ^l76Jct^(W@UH0{suj#J#G z&l0nV3(y(4zI*df{J!J$ZSS%4BBEcAwVHw3?!wzO0bw4OFn*)IlqSh1G%Ql~y-7}q z^2kt+6)DRG##5xBY`(-M-e6%H=^rJiX|bRF++*v@jiq~4m$CNg_kKt?AD~6dL{K$B zPEB#-2(0VZz9lp0Mq-ZZr4{cnkDm5SdeKE$ZKT_C)BbgLyS)H#W_Cs6m5NGgk=&Y< zOg!OlGnBs~9=p^=sT%?V#O!YxT}S_oJM2jj;=7dB>eH-I&7$zZ&5HLfkgLvw(zP^8@e$%lvlmY~X3IwP+q4$9r?Dm$gZJrmNK^-$@Sy`SFlSVN62 zRofYmkN=DlZ?nJ&_o3>)XU}e;pOc3gPTanG|HJ#4R#x@RUI~ht3DB)qoWFr zABLn7-3BD-Ji3i073Avhh2%MpZ%?ad{xg04}%Hv4@`#mY<1k=J_mTr=rP-lEBv6IAJ< z%j*&Ic*8Wm&d6=1?%W*frKXWou!e8tkWabCZWX8cypX0mP_jEs-yka$g9DiGEAzDi zhp2Sygj`8(Ow@zu?ac5oU4bA~exRPgxbOmeExsSCx6-iIv{w=LcmkoePt45v1?aEz zQI@4(XOK)XWEnrx(aV!toD}8ycE6JKdK?@=NjkG@81uild+)fW(!K51J7CLTqix3EyU{I<`q$MPnV1OhPl};!kgdULIL+|RG z%-+xA_l7j6Tyk>o4Y1pPv`yYA%jM7&XxyF_~dWz0oJ~z*1sm+TR!tfDYFs4Y@#2{L8 zot1UpPrZj2A?B}Tsht-PQ)YIiG!4z4mE}`x&&uXAh0dZ2=WA!u6(|x9=jt66B#+s6 zL~92cD_J)&g`LM?#H?bfH+BrQN17?q9>YIR#JoJG@BSU3CPv}0Z**ixh=(`HF<{G;5?<2~1LcZ|CrttUlno1q-Q_MC%e3?Y z&07B?kB%sLv!YOqn9U?k2WRY7{wI83h(W*64J&B-wYNJuh8Y^`_L&u#a>v}D?r$0B+$!r+CP##B#?sIlN*)fXNvmNojiSCWm`9Y%RJkt zJgmS$%VAw5A#?hC(`I2=a>fvK%v*pKpqhAZ)#AfX4%wm%58Gnr)&W1^k7s@tKr>Tl z86U^%JV29oE6g;c8^EEs1&Y6WB4+DEPQ@M06lrP^M!8o{VL=zWjE(*5AA4%6V?`}L ze&44gk*#!Agg3g(;*;3Qa66q)y+siaK+6B|+_Xv?zGkBz&-MZ*sI3Vtg)~+QlOe)p zJJp^4I2k(irrkiMM?d;pjaGyfoFF~%MlLvh5Uoy(`?NG{x^uGZT=pB0-74=%?8=Q}Wa;d+ka73zQ;RznDg`kqBiBV{ zJE-ed-9Np46MI9cF8#u7nL$jJNe3l;!oQU6aUA72jb)p zMvJq-q9HvKi_X$$(5y`%qjxYzKnuVHdf%zo%@ALEfVFw$({rR6C{Mj52(mNm#c>r7R zT?_3lsS9()jG$7b*pVa2<+sJ=cvlkQ#X^=iletN@{^2UL-)v)UThyHnQhOJ+`N<$| z@0GE+e_ho%^^~c-=TiyngFAP3JMFTx$_*%wP?JDJaKuKaw=xGMBRA&xfQ0ojGjdlc zMdp{b5Bs?9I2sh9*d;21x_d%~a*Kszbfkm1+ys<3_IgK0yjqz~BwQ8;{`9Zce)HqQ z{@b^H_7rQ~xY~L$V(0L8YdKG~9o{@@9;oxh#&CVu5TP5?)~tD1@C;@IjXHWNtrhbzNPR__%R&G)QyJpaq{n;YcnH`Mc+ z*c3y|HHW_N${W*w@}`3h8&bftfAzyJ_DerZP1Ab&LdvH}zT{rwZ5bbBmR@N%7QN)Z19n1w zLi6$t2P!_RHzS}lt!s@kl`fM5&0M^!%f`)Ci6FtMsLpWUKyeKwM9eqVNDdi}ZOb0> zQlCSdoFJ*WmVHQklE_URz)~l2dcu~D62Op>V`WGh`QY@muUr%Vf6gHZ+<53aBe4Cn zAp8RVu>BkzoczP~lVvQ$6ySgOx!Iw;Uzvm;dGRnkm_%-bAvvZfrGWjwHEwmjF0n}9 z>#6UoGlRoV8J|Gpq?Rt+#KSY^THIzXlfCp8U-yOuK#Ayarxi5Mvgcl%$AWG{zf-#c zd!>PcT)wERtBX*HfS3y?cnHXlq7{$?G;%~K$>HGtxQHS3-YcvmcBl>U?`ZgOYwIbO zqo!dNa>Rfj7&|#aZm5ZvMJoPO83H7cKK)Mvdb1|9#K`amQV*FVe~v6dbM<{3N&>QE zl;pC^bM;Wj9T}ZAw+EREN&J3DLn^I^0r=SGX?aU_+wQl+@*9z+R_0O&c9^+vc0(|PGVrkC0dp- z*Bpvmsjqwx8f14`Ikb!8DTrTkAR|rsz+AfGN~5e`WQ>Txk%wE)^{xWTzH41nsr7}g zI&(#?rokXBb}D`@)MDBcP@`qL6!?(ns#()6$f;5ZobZt9-q{azTsU5%=-fO~ljfs4 z%s5O-2C^c@(~?P#$>u^Xjpb5JdjyO?0VqX3R!lmd<8J+pZG+Gh3!Fza)#X5`3Tb6$ zlGxJoF9_*soK}d0WZ|v%H4?tJFg2UZ~K(!-XyP>s)J2v;YvUNucbIACMODd`NUOLGGn-P zQqxzvlk$%9XSV#&%x&DkaASPw*oTl4C`zwWvC{)FJkj`*q{T0jY#D3XIOhdQWSX5 za8`~vgPD}Nxb;WkJE!O`1J?B_XuSpxw1^)teHNYyAGP&;4S)}~9zKf{)9J^fYfZ* z>r)l8CL8k@ekzqoD1c?3yTvGc6zeC>bjB^q2jXtE7Ri5>r0EcmaFU#Wrr*XY3Vf@UX<-?n|r+rfp7S8IT+iATrut_xEZjq} z&SxrHExxp6xbfxfO2NrT#$Pla_+oIFns5#VLxge)>kNhDZ zqy`rx9w^R|57FpE1_;uRNdeiwfCr7aXYZ7!HrnHJl3c}(hHwMWK3;TbQ3e90(^BR| z6l1%QlHX?YL)#3Rp>Xa%R)10Rq^Jq8521wX$Ut+B%NS+~|FXlr--#=pB4CltV}&FA zoqZ*peea@mc@#7Gs1qIEvgKD&t51gZT_DK%XDHDyN-41S>DEb$tEY#l02 z_)O?-R$|839 zyu7oa;0GO3kFWlw88V^ny{@|e!#75!-cLjDg!MZ;DojD%9{H+rC67s43-S+U}Cc#2UG2e~3v=eeORp!0y=RWtT^|@A0Qr`VEDO)_V<1Efyw&NPgiYrl!9-#(rjLKsiYv4oCcnxK}j^-ur9Ez!W5g?TGco|l7`oJef4vu z0j>2x-qVl;>!%R~B_kB)o_)V6giT(mt^CBKty|@V*h*jHb*-lbWgGW6XvB(~{yzNo zLwcvkp`1N4?Qm7)ygF%Wx=~`~rHB#)k#c;N>;Z`tZr}Q_5P^{FRMgKwvX^>cvM6lZ zJ-daduo2C+5rQit)UJB8;6kBkyHw{K&c{8YykO!s@)JU$L(*{%)gCu>#2TXn-!LK=t6f9i?S*Vr#RRaNY77jg*??Nlj+8L|pO2b%Ixo2JC9)G<^r z$U6dQcVl(XJgmv1(}8N+TS3=@ue~8;N%eM)^q-&DaMwJ~Hho5v zkt#aI0N)TM7q+9L2K*=-td+F&fiDdTs#B9D#aq#-9J;!2kW5gIh-1tjw5%|@FCWG6 zcHmG3|5dN3ieuKJvTAO46oIrIcSL(I65=>GRr@1F7g>p%;wBWYC9PrcD^C9z2lIuZ zarFB?Z#VvePH|N1v#qD&lgp9i4Tg8>e?OG|xOe9CsLI-@4}Tu^|JmMOI0S#N{gaS^ zb3YbsKY#k(PisFi{^~V+qvi3*{^ryBGN1DtgL2+Db!RJkjwGXQ3y1<~?;k9t} zptD|qwFjZYfxTZ(lmj=i(th~+!lm4HL~!oyvk+cI=4qGu%Co113lC7)%L~tEr=4e; zB&7Z|k!E~FQQ1Hw^+b+%{OZ4ziL}Dg5H1wAEKXLVJD1|(!9T)JWP`k?@}5&Sz}=VQ z4T2`kjqTfmSw}C!r1G9$J*|4A>)37m@F$`%YObnybKD$h5Z6r{!rMu><+!TN%?5s- zl-K*=US(_atEh7qjGe4P8|BxU>HHbfQh(lVhN;rdeKMD1XDcC0RA2(%9EO~oOEWbF zBX6TYWfOXQ5#r$d6mV$0&SxZy9)9jX7YOz$f)7N$FoPjnkHZq)DmkS=RXRP(&;$F9 zzql1Vd~N4%{(3+o%Gp!mMIf|`8=>7EMrtyrMbKGC$-{4Vwr-NRp%QG(+(I?(!x~qa z!@f))Sfl{+ZAkt`Y+67-kUFFj8L!13Il+J;*GsXfPy>*Pg8?WX7*MT_6c9KCx2Z+Q ziyyZ?r)oh_SG~5=QzMDq4nw6|#oGgUh71q>cQECtiTf%H8LeG{DvBR=clyk#%kXd zue89e!g$6Y7V%pGH%0}2Vd~Dhg&|;B5Wh-ycCR>CYV>H(Sc{xcUiG{3^DB{)+$gbL zEoO9?KKEA9>C?1|CO@t2Y6tKOAj^DAL@BHB2_pIy`Fuu{d=e?|Br#MZ=*aMyrt zz5?d{mpD&4YF$d~|1{f+*&Hq7I+FeQd%r(ZJKamy9H+y!0kp}Fgp%(P3z^tSL=06v zY5Btn_Z-`({q}K!P^7LNy{cK~UuHu3QR&XPkGWahnt9m^+<_@dN>D_F-A_y5?+vLF zp}5$^3D4(if!te)%Y)W7u7%;YW{3R`JAO0UEVaa~aN}3mrz;ezhhOL;SK%Tl8q^8X zrRttAo@2&^q_wMOy&2IAi}`vlC+|uH=bw=IpM>U`TPSw?rmc^rS6b;t(qP9Iv9@+% zMLjG9#%A>-XkOZ*(pUl{CyK4!J3r?cXf~DYlZQ6l&y!=o1}C z;`vr)gMA`P5C;$3O_i0_3|k@37+WftoEVpn5-y&3&|Xz z_C&k}e8pf}ZP~p70$zRg<^$=vAPGEMLCL+ok;jw}-5!psik@XZU_=ZD?giDhfNu^v zFAGTrhHKH_4kz+#0uT%Ey5siO1L5t1HQTLphCMtddmy{=J`9{wKibQBU--O-@vIK4 z>Ev5RDDr)UW4#J7O)qj5L|K;9Ybwi*BlAOH`fgm`UBojq0%H8M$(g48zHcJ7PoOu9 zZkCf#xtZ8Zju?m7WPjN2TbXrzrI`FK-gNI*{*uXwb*&$iQK-_0@22@`0Cz%UPOjB< z2rB7yPEU=(nt{5iLqKjdLvb9bCfXJ58phbKaPxl1IWuAd$uL3E_!bHwY&;)3Rtwe` zm#g$>f#mO(GSm+*TR;4@7s(V5ECn(xBU2_MMo0*PHaXXR-z`^nh^X#zJZA<)fs*v8 zP$mhJSX?~i7+cs;^z!Eum^)FJ*WOwa{cWr!gzBB)4jP;>IGd%4mp2q6Ex|WCY zO1ksJ&iS-|NPRZB9}w}d)@Jws^47^+A{qc1S6WeSJ%z0~mc5$3Lzpf7s#5&*m&kuR z?XJ{Yxw;sWe*4YoOpPt?HdsroD!)GgE&!X?EQJ_=jC99*cwT8)h4b|sM#Q^?_PA3s2Id`zS_xRI=?I-NBab$&WN`(KrIlS0x;e;*#rN3KkhRE&6^T&B(5jAyj_?70Iv{ z)LR4_2z>PduDe7hYbcMeYd(?i+0x~vg*WWSRn;7T^-XJeRAF`(C}tqX5xE;8LRU! zG57S*$E2hUusd}e79>yC)m4)B=&vcM^9o`u<+KyAknXeIZ<^DxtxNU4&ARJN_lrto z0#cWRt<;aZv)N7NpOsc?YQu}!kB5}LtvW7_c?A%&JF8})`22)rl7tuho!l-wc~rJ7 zU2RxN2Qr+um{cgMgSquL;!lDL_iqg<(Z4Nt-Y)<6q;vFZl`>gwxpSJb69F43|)B=Yr3IMJcM9|~XIg8VqoF%)EI<{N@AzNWQCdj_g?*K@sfGU|n0T()gc z2c!^>n+dNchy3%GGSp@ODC2_S#pcx5_fZPLSd8UMusBhf<|5)hd8WA7RA zKwve+acd@YlKj*FxtggvZXoxZfJ>IU@L}@RjO-HC6lNB9aH3T8q#2xNcy>c$G{ILL z4UIj4eaUoXsT}KD3rL+R-Z8|l)XvjC3(q({x&bj#X+RijZmGLd)gVGzR2L6u$^M4^ z8n-J~`pcf;8hpYMe)=$h^RCS^>`Cz8%~4hhEa~Juhv5Mtg%eke)MO* zEuScO(PH~-Gt4;b&%MU_h5f;R>C$kwc(98{13@Yn;Z@()Tqgp%p*)a75bE-WuY5zD zuS+O!!`58C-_YI8YlLOp=Qyxl+|pkO3xWCzL7hhv6Y+I4kv9wHlJ}tKK$zmC@YbIG z4LdSo8u_$L>#3C6UiX*19<#fhZkP=XF><;y(^GQ^q4MTTpq1ZsQZgr75bKc@X0~qk6xhd|2Y*X~pp-m2_NY4WVKDEbwV{ zuF-An{qjH0-lZ?+(U153JH5=?ESf&1r-!emr+_gAML2QJxEUJR$4v2}*1^LJKuLBe zlul@SIb831KEdxd>VX}`m?Y*4C7zp}KFVD~EK#nfyS?o-%$Ui_`Ft&cqm zoOOm>e`Z%IHFoaH-h45tj;uf}R5A87iDRGJl{Y7T$ZJrGahCw4$NNc)q&k@{C9`q% z_7}9bJtX;xhFkf0qRe%Z-6Eu}`3o!`yA&e$dg<3_ZH4HEK&}D=3RWR3gu8gDGmrWE zp|E}0U-c68#+d!+lVy!hUe;`fF-3_$im&dB4G*0)`?6;tW^JmKXVC5 z@_*vtuh`rQ24^;j?`4i$nK+LGe--NbSM7b@5wiu(k3VyJKgyEs`1PE=&9!Mus`+lK z535s6Z6Xf6$9A%FxivjauD`;iZWk72IcMTME{x-w z7CoHInwsf4p#azNo>WsEy@(0OAbW{@seHP2EnI1S?e{~Uoqlnc+fmNStQujfKwnSN zQk$;@4k#O;tpL->Nw`*7%cPMGvtY7by7##49xN{l@#+2Drug)qf1XB^PO}K_@3Xg6 z46q3WzWpCy6{e*zj1hInAlhj~Byj46Xp?Gq(R4z4N~HlM!n7GY61r99A_T#-?CMRK z$+;Dmg2CfxPAmFJdj7PV+m^CtlRZC6UtFsq^*mvGyrLz$p=Drm5dPAX&Fq3H38Qid zY#X2MP4R4H)xDzP*;`KLJ7~dg#?b0l&6P8Ez|yzd{Mq&RU}_FKMOp!PUrUAim=u&!w@>NfW5@K$|^3xD2kkK2f_hrvT|&x z5zKR=YWy}g$knEMA$@kD-T9A=JHqk$UIB4V*DNGFxS=lMrb%Ope5_;*DdA_LU%^#7 z*ZG6=7dk7AEns>+zq3)@l9DV=|HX8 zaq!UCF(rB1Z#~S}ibXO+9nt6MI{x;pQc(f)M?cd)U6A+3vpQ=w?JfCdAejIFow%Dt zX1k7N`*s&u6!dE712bb|VYD83Zo%07k3cRD02d@sWB$1b<~+qk1qZjT5xu6F!Uo*Q zFnUdlcwgZ{U6PPRY%DWSIq7+ln@5nN#RRFt=N~;baKov)7j3x#M{IXJY@{sA)Gd&=?hl7(_XV!=6ui~0j z)fN0%&JmBXE^>~^r09TbL-Gm}ShyS=DdZ0Lf-%BWE%?v}jns{8@lMwM-jzPBa&E~! zUa{Xd1&~OiV)E$4O10Cc<_2xQAWY#+Qt}3xap9fp4-YcvPR_Bc11+1t|mzVJ|Ry#K?R;?!|dMh_X19WaFqpe*UXtYn;2tx3iIjPt%| zlI*ipdIf1#1MKQ=ls|PxRHux)l})}eF_T0G#SzYiy(FS)_91+S%yceI!UqFYTaJ;; zX0-fKRm(cz`?N*N$V~kShrUJHqQJ&e^RG(x7_-yw=;ah+`M0SsAh|zFR`%Svq;&(k zfs*0cwh}tET*%--4GQ;)k!3V^%7){D zxC^b}76v)D<_!$Y$d*SaNepqv$L_;!1QZv(3HKG#)R|*7w9_ub-lmb2;mt-u&aIM^ zaqI#nTVo;By$5%?z(Bv1n%SeVAepbw?qi?z!^z|ut( ztKXjOR}gXi(6c6ZU8pSGO6U!1sS(P?IGOn4KpvJ9lhEuvSGW0L^_cT5K(aSR9&*?8 zMY4Ry{bX@68b_AP8r9|ZLS~BnCAvRaXDiETp8gz#FNs!U$vc%vie~#=4>G z8lKb|=@=Is=I?W}uXJf0h)`~H{c)-=X=FLIL93Fo@)=VNc@7@FhtA&y^8XmtEC_wO zCm{Vjl_8LdR-XHB38g(2O#{SC-r_kD#neiIFdD9h14K*(%@5vPHdl2bq(gJD85hs7 z8OtFkO!5NoVrPhvgm=)J@a@nog%)`2;^L(zo!d&Pk=Jd@5}*PF@c9)tJlgPv92ay^ ziqLj_Skx#h^l}#eCJ`GV#IY#3ZlA>7j$J|@tkf>s#w>GuG_-pXlEhD{zRx|;cU8u= z5yp)xjlgS~_hy-sLCi(lQamI{ki<6N&Xp`qOySwT*D0x8-z#Djk5()(-rEueMT$EI z-F8g(Bwisqbgekzmx!9iNR)>1fAAxnjVbeSF0bKnRwJ2Ct{V;;$CiyI^&YD1CuKb?(7>Z z)4p^H=RMOG-aUh(co3B0o{sUcdxG>GI(D=uQJz**NuWD43)OCTV>Nc{Kj46@(aZIY-`Lus97{NQ~XJ;F=z0H?C+efBk}|lIi{?vtYESX zF)^`4k`fd0JRWNIUaOZ|u}%hB&oqvNmX>gpg-ya@B?F;bDG;!U`{QI9z!9XLxE^W+ z2CEpn%D!^RQO=&{Ml-@|v~ibBLM2#{j$v}s-3AG&Fh>PDt>bETC->An`HH3P-ZhO9 zaskRp!b&iA$k`-xC@6&bQF*fGOlJkdpKy0!LrpnynG!%c>8!`wvi+ldO z8)_((M~u#<@e}BfS${D=vN>bIJHUK4LT`wI&Cb_>#c@eo_pTV8v<1T2FGpGPVd*)H zO@VTN!(u)?u}Q0RVYgdo{xxY-P1_bEORUtoFX8;Yy)g`Tw@%t4EWFT(hyv1VM$!#g zedaE5qM}4l{6{M~C@IojX4Zr2UJHVbYepU0r0qy~wQmjkVZDWc@+cSa)X*w)P}~{p zU>gRLt*&F@;wEFdy;{}AoxdT=$At8jL;Wt0h`tHQel;GW<+X@O)Lbu=41v{pxCVux zAFeawd6gcnAwv{N2U0`Is0qzCN;(_3lp0~0SnpCJd(vZ?wF7himz=aPRCUiX}d)tg9XhTd%{2jUUa=ZrT zgNYk+?cA{FL?uGT!PVZP-%R@6il2V+~s1T)K7h^bb9}@gp?5>8I(YNm;h=>*NL3CotLx>@gG?6p_=K$ zJu-GQN?!NbeaypLN=G}D0m*_~Vp)EtYE@4biXtEus%yCvZEj=|GgCMQHwARkilrT? zlAl5qGH%#z)1629W##fpSU^-#7oH?deXloP2BAe;RpN>H;pTxuv9#B7-9lw1kd-l3 zaByAHFo`-7FXSfgexz=gT9r;&tJajI+ z`<7NMMIlNFm##Cs;c*dXue;xM>OlUp2r-HV34SG(Z8q@%F5>clsT;e|o2sbMaa$&m zyC4feb$aZir-$pNv}>pN$H|*?{BXB7Yz-Q4`J%AxqZ}&6d@{f`0~XQ2Yw4p60~Na< zC{8)fX4KQoZwXADt&3}qhNTYYw5_)^U6IS_Ynx?|`pVIU5x{)Kk!>F6JtA87&P74) zm=t{=w8WAO*xu}26_`X9afu9r#WU7RUbHPs@cKLy;Jjs^y{3W<{& zsvo15$PL-cKb)}5%}~Q_M71LD24x9)i#nZ1;&iA>zhz=F3pGG4&*N01rs;gfOuCTx z-w$0EBscsS@p>cZE71uTw>=xucfigjrWpQ-la2g>n9ZO1<1W%H46>yYG;TGvAg{Ff z)Kb%%)+>P!iIK}-*k`bxin*uw>z3F?35i-T3wI>wWv2(0NQtxW{ya#)>oeP>sG=FA zamnv3JV?Dr+ijq-sQ5!ZTStGjJ1MU6GS|efCnI8OC8Jh4|htD%z4X6{F9ZBea~+j|qHMLi4p>tz5<`fH|GtoYVS z)oc>m@Ikz`6U5fn_xLXkZ&>$&Gp!o{{$LM%Wlc0ABllYy45+QR0sZlW7f?rlCM{fc znu_OiZ!20uMeh|=<0dp}O}RL_jx^S+KgI`Q`uidCeuyBejUH4xS9>^<-IG~WPAD}Z zl=je|;S^s=AwxdF#NYib|ExZl?a?orPXg-eXFEC;{e0^K*#)68#PsT2^z9(qB3rdF zeU(X(@V>$hgt)+1X@U&Vef`J#{Ks|*@I`nK;rLa3@qtYqe`fCYLv2#EkKf;l$-e!1 z`;uRr(otsR$J4*f{Oj01e*W+2@27?kIv83vUr8dG3U~HytoQIO7x7z;fy(>iBnP;H zLi0ZU0 zUERt(8&Go>-@PzvAu*}nSfh2(GuvIkxnc3COi$u$Sb-!pt9d*Z*S4i|Yi**cs0XBA z%1nW7tyOxP8b#RbOt@$Df{}$Y2Sy%+u8?jH%YThtx@O(DUgpmtnua=OUO$Jy)jbt) z>qn)A$mRnBd;gZ%HiO<>TI>JZd;9&~jsDH))&62$xb*W3{{c4u z>f1UNf)$E@z(h7T`MN30<1p`zsr`>OrQW#uqChj>9v|oar1ctrl+rsc$U~IB+%3@+ z-*<9SxgKgvYfam%b=mr)x2!u@li6mI{aAAoSM{Lzy7s3GxxRu-rBI>7RHrd?J`>iZ z-AZgtap{ocb4qQc(y#v_sty@zPNuw!d2i!FLE}2&|L`xS^hrx==;C_d7b>f-aDe^`i@*X@%tfwHSs^| z_|GiADz0JX9N+&3zNGlCTKhU#n&4gdg-B93rhf#5BDSa`=w^(#2ch4^q&{ZS0QHCym^JM_%E`$0B*T0P|F%udkK%8Vab!=;dn*m35Y;L`1_%y)iGi2 ztE_sM*p>dOHRpq5B=8foje;aUPjYXZMTGEkDm{)wCpS6(>t7!_Qu_BpM=#7H7W)6T zqHKK045n{pB?GNG9p$n%p`I>SskWn*?Q-9`AO4cs_Uzs7haA`9g+EWmN2mV$SEubS zp8NLCsX^qdR>o>?*hjsk81>;+TY?;R+aQDC@Txpmxyqe0XNZoBn62O}f0E5a=*c@j6)#hm9W~z^jIfQ_&cE157+; z_?~G`9~q=y@u4$QBaTaMhJ*{Fnlu(Gk8KCv`tTvzx@}5zn$JnPUp0X2O=Wn$oXQMr zMMvkTO(v20Smp$Pdj|ypdl11aEsy_4PZ`~(^11KTlFMP0&5Y}0a)&~gt zIfl7&r3H}Q*xq;Iz6DXgm0>^Jb(V5jd$GRCOx7w~nivkln=z@&LBgvfCAn+^Y@(kZ ze?iqnx}f2G+EJGZ--39Hi>ljO!YXzpZ-6#jak_=C<@3HxK>~jU3p{&SOY6b&L%*F z5)+GaQjUy=?hg3B>v6GGIH6;XD1$O`-1@vRx*Fn%^a!g+wqc|_dN{5>Yf-P zDBH++$+|^>kaAn;g%O-qA_sBXp`mBr#?0GdSDhtAjgz0bI`$=yWv;(B&k4G-groXH z7I66-32$g6zAQ+H#VEMdSDwP@vhS?!*Eo3bUKdo87tF^>y`BZVo|XNlKHt|jC0yK5 zWN}d7fzi9!dZIn=1&qZUB73-Ko*;80x=H!~S549qcN`h`mTCr?sWaa&xD?R$a|s}p z4$YRFs%)UYQ7u*`PuZSYYvpOw-Pgm}qbI;)$THx7hhdkcivNn+gY(znv$Cz1)C3FH zXwPpN8VB{&I4rfr+T&qIvI0P|*2pb%R!S(efy`w{<7L5Pao-8erJAHYxFM^K{HY0h z&#HuFQl3~BQWLAJm_WU9lM@nSi}@Z0tT)i-2Lye9ED}msw{|e38GfSsYIjDz_xA`$bf7mqe?g1fTlZ_ zi=xdKd1Q2l5hzMoGk=t1-?JZ>AL=wHU>8(@bT)PKsKWu6dw4@@=NDLkj9j3e7H(=H zS0Dh6*%IY2n*FtUPFPGr>x`d(=|L|Q8U|C&(9NndWRB--*OY<1;(lnM*xD{i)gf1M zZZ_K&l-w}aT_3nqFk)=4()hIYn{6&C}8<{|Pn0GKV$`GPHPg0wxFeOa0_)Cda=SH2+&BN00jB z_0v}1C}mcA_LXn15pgx%^cozEG`$249cJx{ge!@-PkXoRop!aYSM$|o@P6DoUoRqc z40=08wwaARC$%J_XNicrU(U@E)mef#jp2cRxN`*d9H$w9Aj)QV zuKzp4`7}azI{{hmmzu^>bn(GQ{7RN9np^}#UWZZ_s%_#qt-7AlnMI8PAjh55dHqal z-m!sdX;ZGm53tf#Z5!+omkDnQWIPFB%AnKSs5nw~nZoL4b@R;Az$Yqo4|RrhJ-%g} z^r_wzs(+x>0XfJ^UN4nY;DjU!nTC81BUS1rE zdVWgbrI`oYhpD`bqFMA0-sxr(3&ae5K=ut(cK!+{@Uhy-!$m(m+rMR>0pwdA$fIYF zwBN9@NlPJ@(MIR`7#>_Rpe%|^D}Ot`1QiCys}cQ~+{sc>TF8nd3bzdA!JeLZ4`ee0 z>CI*5ow~=r(NfK5Z;rX_CE55Szn~=8d6%qv0cxD@REVcR5HR(#;YN_iO0d5kL?kR+ zC%aN@Q7jk`P)mt^vOSo)gm9a!y_{12s?b8`+;aCED&6Jcl zB%{R+YVQ!jWXTAA-QTZczC5shuro13YZ(e%%Y|Ti)U$QuqV|- zW48Ycd3J7cOhTy)ztDG|1QkP2{JV8yh{!cYcG**tP~AaDE3>+%s(AGYvTFB5EYAU0 z3)`Fb4k71l4ZodL&Z%w7ywyuNnKYYFtt)&Oi`0uI@xwj}0!{2pKb-o=tt6L|yfnc3N!yg_s^pvKU zghgo3U83v4dG;N7+9ty&S9PzAS-Ka<^!jX5gs$ZyQF(k#m5Q-3UAK4JH zs`K7BJhv+-+&TrE2Wr-2Bz_iE9+um!vIjvXJZ@t0^gpM*%!H>Uy)0G3kA<6;;Vt0B z2iIJ36C2|@ETr7o%XC>1QzW}`2uOq;dGy)wMa+{CR>A(Mq~2$h-<8JQQ2j?nmup(U zvE~=CNX&530PkRW1!Dhg^ntqnHNSp~UjraV6<)Q#$~{cO69<82k~G%M$=lzk=5isF z4XO=OmeBETC|p_oRC9RBLSd4-%DNHX!d+sN8k0i}CA@1W-hzbOQfzy$6fI{*uYO25 zYCiZI4Gy#Ma*y5iTW;_+H4CHO3^UXYaimCT5dolO=uR;++V#byCU_0o0z+1hnDXzd@8>t7Ix_x&CMZTg zM)Nfw3&m-IZ^cxrguvQW{AGd^mLselLL_?QM-aFC?EGVD$(8}P6J(`8WoJt=$R z(ua5OkeZ`CWq<9q8`UN0+lz#|r_9n~*$xn2sEZO^f4Y6>qd3%PZR3}J`zK%W3{Hmi4Il6)g>XHh@m6M4AqX4rJ@r}D9iubHkB9cY8tNwPY{N`fnep#^C&QyM8$}jfOcmHfM;)?-#e1|y8o`Z z^0-FuRe8HRYxEa^{=^vPeww|AkAJr0&60uQru@C$Q{L9%M3_4_eV)a+o3I?t>~q0a z(@jex!@Sdc<*^=|YPA(6IWj%Sz;*rvyL{j3hs;=uKLdD%KwvIB!FmS> zT&YMUc@x3*i_w*-#h-P1!`-zld`%5ZP0DOR8l>J(oFPQWqXDuStVDY7$0RxymZki& znNgIOiY7z4_1sjb2iKj-0RVSN^vgIY+e{rep8SMdx{zEPhOTO&^0a*Y|~ocaIn@v4bjxmtKtK z&4(gGeuq2}P+x2@nvRQ9_YsfFyKAsw5N%O{$}gNJ}svAXTN4h6#j{ z5E!L*fg}(hpmai&E}(O=pLw>k&vo|mUe9^YdH40^pR8+<6;_ga-O2BFf4`q^Bmgvk zm6Mb96OV^#53v)t)3turzc(A4jD${hsG&xkN-Kklp$18Q=TD#`MRX(2JfcK^ zBBK$#X8CvooBB^x94Rv5&WRk06BdemqD=tIwAeoUE{Ll;D)>gVR-4S*xYHY+ zpeD05-RXO&?%7Z>euTj?D=Lo5^xxq{le4V~l&+Wwq$cvXr;DZ7m`f*G7vSp(5O*77 z!0I?%u-tRH?vu#Ya3{c2hO#AF-U$SSnw==oE4>Sbp6d6WR?0^*ra+eX8u^h2m!~K-1 z9j2rBKoE`is$%)3hiZzFk_|gz!iHxb*E>#0xAK2FQukep;i+cz0uQurxq1I~@#B^m zijdcJtBG3QUdqg(b^Jworz3|!Ooyy{!OR4NEAmmDCQXb|9V1jsn$>hV67AZ7xW>}X zc5~bnrnmavIuw4rQ51kZlpp1VF_XJ}Lc)G&Uy3y?D{tSfGo4L3S-}qK3pS`Ka@E#Gy2+V%U(bdlmq6oXt83GnQK;uLJV{5L7 zC99}<_O0?#tSIr5t+s`hCfvL40fAVNoEB3+S3F!v;+F^e9yIFW`Z#Zx%3kxOEunhp z-2+#RX(=OGw{R5o#nn9ezDz~syU{^)4WrWPT!DUutOu;XFC|hC8yVi7_q{QVDjZE1 zOtcaJ7PSwX>xtX5E}FD;cxPpr1|BZ%u;I09EyjtV9*#UsEm-iJYa^-tRwMRZ$xQSH zNYE=#IL{oR!#hT$`)%*&TAvTV;h z8vmf%#2Sl%jdq3$`L>rdsABI;K*8Ok`{(BxcgAJH zl_;V?f@DM}e-6G5l%*?|@tGBQN&(YPt23>jznR>z>c~p<6LC{90vQpULq&}t8%--T z&)Btlor@fZr%EP1KT~hY$M$b60tulrw%MFsmPP3G61R4%cE%`Ei&1#E0P+IVUEgom z{luCL3lvZ6yXE#}>C5m+MP#o%mC2R%q3G7whUR~;Pcq#0T})(gVY(|9s-s=pJV#uA z(V3UZJTk7R1C`Cn(?_$4`dI-Liz9hV46`XN0e!0|CG)0cm8m|m!-nZ>l*C#wuvA>( zWVZOoo1oV15_)ikg6R}32%S9IUm=%nfw$m6_@13Y^YB7Qc+x~%AJ5Ge!9Hjn`*_s9 zj7_=lt8exzulEJq6fBiPyGxfok1m0NfbOKIW{iE1dnC;UEcV;TsiD9{UdXu-tFmjv zO+SV-oxOapCPx?uS>JDz>&j0L9CqmKy{Rp=v9i>z#~&mT#J7Juw#h=1lVW~!-+j>P zKaK?sYWNCGzPW=j4B4*H!tRo`T91A8)4%An{lDGye^C@^ZF~LT{+i@y{Y4*fspU)B z^fvy}ba1|m>ax6dQmY`?Ls~ljW44ct=v3f8#S$`meM6o)uRhbpm8RY6e;bgs5MYgn zP9!^6_n$1g-5~X!=EnM6A-8!FUsh`+0j+D6Nx;U0?7YPwu#V0jV1o^n0;fNrhGOJA zKt^uVFC82LgGEc#T|2tiRvoP)w(Ok(6Prv-y8HPvUy81Cqaqu7*(?d~?rRv=S|crO zP5I=iuxe5ag3{-Eh*#%TB&4?k&y>o#C|CQD(?Z?F)`eASOcxJ4aq%W3M8f}(2DS#2Tda_ii@Vy~FV#*3+Uh1{q` zdVyuO+CefbNmt*OlwAJpoF_%hfs-L)xw<1bB9Ca2IWe(zao6^F5kTo=W1O+9UwPIE zGA*awJ~tZEn7P0_<2VY-k43%Sfglx^TiNhU7{p=z&NQe@18gbob&^Xx)nymA$o=LE z0x+nvVh16Jdqur!X)ZJaY@#xC`!}U(hX@aQZ$-T0wQ|SRF1e@B2Rtfbd0yGe*(5LV zq*yJ+N_I@qT}$X|%WINPT7H^+NHfUA?=j&L`4w{*sX6!4w-PJI^1q#IFH-oMa`~T5 z{eS8l8#HtqI3Cb`kLeyr6OPSme7G4Gez%=`c2Vj)KVIXt$3$@7Uy+2YkYE3sgI3|6 zZGoHB(>1%IgR_^DD~%FgG^D@vVx%i1t<9_tI_5Enej+%i{+_OpaA?VNf$FItpR) z#6uqQa2>Pm=*|hDIssy!{U&D0#!3Pb%4%1P4BLY{UmhJ(|Hx+hW#-t2oO5YdQ!`~I z32lT=X2Y<8q{rlB-Ul?;w_^Ck@w5^v;yy6~{O7CXw1g`B-VrH(y@Qd~4Dk%wrR3W{ zOlBq)Bn_in^EMi|WLqTrq*&0-MX_&(RL;JV4|(Nv&xsCR$*h{KtW%f8xnueJZXmN$ z{=3SyS?Ok)UJeaeG=D)%_@*}%T+x`3tN5|98DykokRqDatfo?%4xX-9rWUo&1>8_v ztct>kFxM8F3M4i<*3^sU)d<8Rg`K3uCnTtCK3%$LrGW z!nDtexas`|G6()AG6!+RXKqs9%&58@-14p}@~W;CF>J2N!b8f*)G1wmbS^E0BCB#I zQ_qAOG1ao{VSBUYV7EtM%S!7sq%ls@~Q7y*i+|LINf zyAEBauB-V9+zSsn4?W(m%{*$xVUj!_q&&c9q+lV_UiK-3x7PW|k)m=2ezzh1dx8pX z9a=Tz<8C=xUXq*god~hksvV3aop&)X7#6|%_C<;`>{V8eGOE-H*&8oX*Dt&#`vuR3 zN_?l(+hkQjd)lM9chX~{p|smeVn3%tisnA>jTE@g0kyZDR}06n#46t2)~wUdiuUeGf%$#40XVI5%fg*)FxYx#H}l28vtzxkPD%@!fgM(#$cC0dI!SAX z=i(2Q55Fzr;jt!gK^m%#!$wYC?vKB}YW?reG2t0DMrVlHY1=`yS6Lf|%Q*`EuHC)1 zP#KPP_9Jp6SACDRBX_nn+sQ*4lerCb^C#AHsD;_Eal$c^ZL6c{-AE&$*)*YGD8qO5 zOdn8X7RX<4PRs*G;wbOYJkfDbbSBJ!UuUY{|KiO(V)l)jFKFl*Za{2=e`_^2iQ|}d zU&orgZoP+sg4Y^TopyXBFIo6z@;|5xovdU-bJCf<(M7t(mQ=&SWqMf`o!pt1@!E7- zLSlj_zUr-F$^}wPgUW8rnn31Rp{{w#YXXHw(cvwIva(`S!cYHkJ^#-gj(<|zz|F=B zdR*4lg0MfX>HIGhs9efp!Qp?C9YnC$%?~y1Ry>|}hVQ6knc<<8N7Fu`Q7vm3UK(~fN z#e*wsTJ3&~Ow%kGTRDkofnTTmmeE4dX9J2xJ<4z(KYfB-r7V zn7i9gy$~l2ixa)I&%F~d9R}y_I`0{EwJsY1C-4mOJOJ=%E)j{`*W@15%(6w?%%RKZ zm59r_PVKCuwRcV~;!Z6SRG_GF+nsYu|B~kUZMbvo@KJHDhl$r##=>n<=WOWK^gHZP zU+hb6$%u+~DT`{_r80{S9w9`JgeZrUO&HZOfl+F6+85@chN>@Y8x@F%uA3jU@8CHC zYhVHU{R#%HOdeNO@4opLk~HbaJ-2gOqb){saPm=cgxUc^v?RbzJIui?e^lVugxUH# z$ihiAe;m6wpOv0P3N-iY7|5nw4qIM@IRwpK#}nV09xHnT7^#Gy>*EmYH+BTFVOsnqA^``4WbhWslG=o-Q!G+h5 z(lE5x`XsBrvA0&eT2f{Ufm&{ovZ~p}>JgyENjG7AFjFu&)HRtMa`P{8s@!Ls>hnL} z^}O{WW$cT=gs0`IdOs90zkQLbk_0gCa^{r;4Mldc(1wqe??k*?zjJ-s@Gmav<r3=ot?v2ptc zV-Xu0Be}*3!P4hXfV$|)%0bDEgOOS{yZuQZQJFL8^~xYPcS@Pfs>U zk65s2KB*K4*z4mWf_Chy*;l@Vo$HT7D29g8Oh;Zku|1&Oti4n9qqCvy+iLLTCMD@} zlByXz1%ixCXbHkFX)+4&P&8^K@51tI#2H(UKK>GSkf-JY&)#pl8*rQy{77^E8nUV;sSxg#jA|ImzZ~+k{fe{F zMnc%lqVsQj)m9#=-VNQ0>)wee^Bs9a&Ll4TL>72Ox(B&sd)uHWy*s+L2uJp)(Wzhi zN6K-&z%H2tPiHIK&_)Ab-P3)i(H0^I_&#EQU-Ox^`7CD@%RMh;Lp#rKmVO6Q*ySV# zV79^VUO^J_nkM_lBhJzu_ua8#OW3Y|x9f|1_3?+(kVG~;?K)_i!Qpw!ROU!wA@ifijMR0O&0b`#eyUUd)85IlOJ4`yBFp_$t96L(8e zD(nJ!qt?>CRuO;jAI0Lep~BRm9nB9MgOqCL4u|X8&&Or7Y-N&JraQ>Q0#|5J5WeXv zE-dQ8K0UhDw(JzB9OQ6&?p^EBxx9p)=ynS)a)2$)dF?tLGnF$aX+)n^x3-_ruD#9O z8!S!rv!^Ov&7C=9s*SA4ovx-EwC}`T@o8%sk5R$`wNv|kTH5#^<@Bv{qk1}VHM63r zhyaVq4=oNrs5)+8$VFu0e~n9I}jXwx5_EACmBhZ)Gi zf*q{x-*CARiEgbfji(s2VML{>-mSjlLG@O6Ru58^T&3RLed0Z6{kSf@&d*XUMVAB? z9Wt*So3ysZVN6g^DS<*RUc2V|W~7=GL>sG_qN)Gu7i#&0BKKZ#=JWSb5i^O~mfZV$ zHF7|ki8!^B#Y{r%`(uCm{;$dA|9tEJB44Scq;i9>u*2K#GSAtYl#x(+9sN#E;oE3~e$Sw#1=IR4Y>mYJ=GhYJ6|(an zC}mq*(|K=ga?>F!2zh%grKLX&luf|DEl+N5$x7&+y)-t%NMJatf2-PIIOrXFkp&B| zG2z)qDl7fwuXgu1!ql#3vI-bLc+U=~6$5C~)jFK|;D83iJ+W~;UZi!wI5qfv@{*xA zF7TT=$*1?FF=e|JI;y5rL(5lR@~YWTGETHml&3fTsObWDSicwf^Oav0m-P}G%Cj^s z3@N|yn&~u8H=oTxnQ%1TxVE9D7%^Q?K?9|QE}$$nCAZA#JlU_Oz6tN_{W=y^TEbQG zl7)IZco<+Ixb)!K$*6oo{Kos}>XPoPjnoE9$;SyXPo`-YAC9i>__Bvgpb5O8JI_ML zI^r;D)?pd~aW=@Y#3934X6cWJtaM(~3(x8#$9bwRUL~6{fU$q(wR^y0JFusXbwpLp zg|(hyh&-oU=BOKpN3@Lee@F-II;R8g3jg%COZk4^A3H7x!u)^W0(&TpAdZml)bG9c zR6c#A@Ui{q&8@qY`_13o4QVzqllX6r(=YzYMFG)=MZHwYUy@Sfa-3-^5TiyU6Jr@7 zZyWqgdtWEENaTRk0IvTy|XO9V`P{U5x2`l za#>trXr>@0T&l7Ea+Qq#t3RnlbNU#eLSonX^xt*cqPRLRw=sgjS*m3MxH{LiS=lK zv!=MOb{u96w`3@pnf37UBPTOa#q0haZdjin(U)x0C>7+oonC{11Im_b`%QR#A6QKJ zp*DEa;*vKG7wP@u)S9n_+c5mTzqgGXjU0LA#_mevWgBaO5jQld3`KASj~bBMHJn{a zbx%Fz`Cv=W_0rNxp}|^@oMO6Np)5Awt3*afbmk<(tA}{|K)I|cYtYw zJHGN{^5mY+yYYDS?cdwOG7zAGwwaJj-nk)ayUyyOvjLGte6#qO1(YY~djvq<`0z+{FzDupM z*0?S@K8R#JG2z><`9;34-T|b;3&2zu%Mpi{^;qz5uUiv(X~i+~$?}NzApkSQ3G+mJ z2LK$Q`~5=DY;{1#4Z?(tkCF?8M|p2-tjBz;By_$mmeM)5(9~zb6^-EpB>#d8BRg>$ zPob!-k4Is#+N~*cGo9ctG)Vk);x1S??m>X3*Qt}g3a+JZ{z4l)viPU$A{8$|+b?Kp zjC{7}a~_d-Sm2_=)NjuktBm~qi|f$xv!Axq;xBL6!%g>3nD=e(D?=i-3@-V5aj4EQ zKg1ZmFl>7pBUjlhR1bp+R4NcSz8I%>Rq4#&rxzU)lsNBJTVxCzQQ2^Lx7geMl`{y< zTx#8;v3WgAGY~(oIxc++R7fb(3Cl@YDZI}9!K-jo3LCvnRUF3)GPLILiAjAhVNvVj zE~To9KvA1{8zw!tW{-MN)xuo?ttqu&L^W_oTIH_JcQC@;GQuGyo0oE5zLsK>?MIui z+APhd`7u7PdroSHqr=qkqC@q$a8)BG+S8J% zbDgU=eg!@q*iaN%rNGv3upcI$UiA)UqdtF2jGokdqtF8pC(6FtmD~V?I7H zSx}S%R#vN17yL1*3PFp3KYNUPnStFO`GfoV4#PnN?+&08|EN?}V_$D*2xbb6dxDx$9dome?T$D_wIGva2OCp73 z{o-|AdkhCqZb)h!31}R{s-hMsbk71S`5o$7`olZVVdW2*o^n<}6I!}@#Tmh?4fYg7 zn0<%rknyul6j-M(YOhn*=@-bdr~4%!1W|oYj;iO4YG_DgkEd4wqbj#vF0J@Qj8=KJ zz?P)6PJcBoU>Ao@a5TYD3t$n79uF!mqHUmjuZIxkRpEBow!up*$vrKUf}yBP=bDa@ z4C5dC&bcN+e+26FRPS6H+1E2jFOLgtGfqDBZp8ZS&+vDw`YI(WKM)5lBX?l~o(#og9=42C-Gz{V%OxQlB zsx9pC-s`R{{qZo-fzI~s%5!K7tygHN!D81g*TlK7K2I7HIxy`J>YP|LE;agQgs+|! z>U2HIHCD^Bm;|I|sW>B;N?De-dt0#%Z@ENd-vZ7RkE>={W5~~k?T0v`G+E`|I4Q!< z1bDTmw*yAKb?-JH)UrZZdjg*>~Q|g%?n1*u%k8%0W>)Hf!8VT_~JGC@oE75WL6|3n_IFZx&ph&e~ z0hCC;rT(+I>o3DswE9niqrZxTc-X@~onw9~x@MpjTt4ShSGzT2K-n2G=MT}y7#WO{ z#9YvjX>uiFoMBIceb3%T-OLP2Fm0_=DSiZejO#iVgySc9LfpkbqWvCFVNnF-`v=4N zjf(lCh?9aGar#(_skG>}Z2gM74O*G*6rCAH6?CDP%aQB(BNzXa%nYNYmTd$m@wNp* zes!^(@=#9)3yjHh`JFv&s)`Y;%GXAYG6EbAernb2H#Iz+ai3XopUz6Q46bP-eYLFO zBqG|$vOEQG_a9~KjmyjpxCXh{jtpmkL@!6^K0J6cpq|mJXD>sAIlc{r>mcwzd57r0 z1?jeC<10x&KE1W9a2-xNal@?c1F7%AV~P}orUDOIbJJPxHp_8oDbd>(rl;_3O^>I?Kat1x7z~Xw zLox=I-=z$*Ya-1h6DeWO%f@$Vws9R-zOoKJt7``8TUl{fo$_(uI%ohm2k~&1m|!Cy z;k=tXmZajmIM~U?Vd1OtxA1vP2F(x#Jwr^Wes$xXLg8#0vQHtRM6@(#Aoi{Rd53|8 zx{NLW1jG_3O!Tx%S;!r0u=9#U`z$J)CYGwJvS=7GYMws}3#0BRFL`qXk@1}MDKOdI zn6c!!?8z-(L!Ll;<`_8#Ju~ZL13f4)W2c*!Ygg&bH*N23Y-(=1ITq|FJqn^+e^^n;F zB?0XTFtlDu;gnlVY~d`j%Q)-ngV&e0DRZj*OQ_Mpm}n^$ho`EF686gZWlTQuOBj?m z%OJq;W!ct4q1*A#QZz$vv^{B`S!%HZ4T(>TrD2h~a$Wk4NqTpkb%T;8cMM@L*B6|| zreEHg)?GmBmxiZ&|M3La$2%~&TP%@(i}CH-YY3ae%uN6zV8B8 z1qv3^4e9_+xcuu_h)wK8fjT4m!FL(M#MU15(g6Rv3gPS4YB*k3NVXL5Q%d%k@DFP- z8xe{}4_?gd$ZU?iZV^yN&MOd_{y`n7jJ{pg&p%wdUdeDT{0afhuT7|ocs}6&Rr8~P zp*SUj*7c0^WPTdh^fIh`O*-&I z2LGM#)>1YQ85(wX?)20@#CUT5=wiPN{rj}@=j~q_qC%d{&h3C7?4?}3Rxfkq131p+ zmygo}->)6Jb_=fM_P6q494SUNl|1tIE}W`0?_81}Br4W5)N7l}=)PIAO%82LyWX4g zrZ_u1z^>uW)BKUZX8(}q@h@~1UeTJn{hN$qUyrU^BLg>EIWRN=glYbC4=KgLluyRYAuUZJNyWMm7P3`g8 zx+^be7`KeL4^@v?HZjxwHki#(mHp9q&WD&gCq36~C2+N}I1yi}lN6(qbtr0LWAS!2 z?71hJP>t2D>ejn8SiIu<+Ux3)t#Xs&-NHSObZ&~I$0EInKzes@9{E17WuYOs*;7*L ztjvm(U1~ISAlx^D=rqS4Z9}VK;X$0pii$R*vR)WZJa?CTBtl+=%@mMt@A{pT$sI9` zuB7*9SKL1Mc+s)5Ik4bia!XN?cw#XJ7ZH$LNq<3O@y>g1ayFu(rSP%76&=HC zm#ENT%xW#$WEx@e=NkuD$vgZu>?Z`-tzF3!BUKD18R&c*?R%u&83t7?kW^1^=NpQ8 zQ~U!xIxRd%adlwWfSFzr15kD5VU(WFRJdNQxD`M3)WH5c#n(@&`=gakaqBf}iebb? zgRImp08oC$FK$Kbd7BfgyD}H~^l5=XamT<(t5K^chd++(=gl=U?j8-yBGBO;JM_uw zw7YFBb=A$kmLC%^%-kg>r6hkpCPkfd`|K^0G5f27v~SI$Cl!ijJ@Sc5D`6N**r));bJSKGzKQhmmAc2(rjgIuT)%N4RKJeU&h| zOUSQShZ*X}m=iV34~li``)AtUBwu>_yhlvId`Qt2*@zA)GVYNhA$z)YyfTlJ6Sv)a zno#}ObBLlpi=UNQn+0hM&v(vmDMy&(H?E`t48ce-PT*PSI5B+*Dqv96- z9C3EVv6t0>Ah}z3FaJ=f8kFquLP^M#==1`^+g+}PiaZn+R>6C&S>r`CacdFbI*jzj zADJGnt3o}r@C19>V0%&zC9kTG3sfADEDjKGtGa@wA=?GOuC&7dshOr|(o>Nm&~qG)dkxvSq(+{|--#5aY^58}`>_{5I?` zqh+w6zh!WpWp|^P?d9JWsp27v%=jhfqrIBh%_9v91xyt>Qaj_o6tI(6P&pO6UFLBC zzxlo+bGj&#Qs7PFJKIPqWck0Fo=IA>9vkCVuwv@rHmFvX11GQ-r5W~v?V?I;uz#X# zG%UAQ#Ifu{cCF9-$QF(Ub*(Dp{gdMv5;lURmPh|q7iF~fZJh7MKF7E(H$u4~OJ$5m zvbcbgAWhpSHVDl1^8)&iGB`>u?z8^oeR{7&N__ggg6r4P>n1V`1k1d3C7b0Z*7B6; zib_Twl*`6fDmyY~Hs1ZiNa+a~{G_M~_kG~kNSUMbV5)&7NTzeu%RTdC(kEO$O(hc% zHWi4wteq2tS)Je71u_g+!{j*bSqTj~LWTHB)ecM{ss#kOH>~sA6nnaah5M(zi#B12 zEg`M4R65OOUe+vhD$~JowZ+)EMH~rjK@EXG2_4iTFf78s!Ib7_A=zl9OJZ*d-?Z4w zd{?gGUMoEjPBfBRElebZzVqBP;Z_BM5P)(WNQiozkjt2~c%+D&L2I2@wYnQ)vJ(^f z%)eF|2!mecD^%)7a0QZlx9r#xZs*}`vo23b(VwoVdE7UbM&FuFTE|LjQpo&iF2{IiU4FWD4y}GT@*pY3aA!PlIKTveKuYmosVk`ENrQe{Kj(p$Ye53-*>=Ae4&<2aD?umVkR(e3>f&l=}kb5&8=07JD z7WArS)VhYji_0xGX_@Sd+u&bd{E7MYv?Q#JESnLKSI4{pFAToSVX^8b0;QmRU)Nfs zbv3o7sA>x!$fURk00@>p61O{>G!RyKJZA_%Es&YsbT>EiU9+uUtsSZ@_VI(cTdKw= zW*KkAgDm8?y620S<4W40!ID9;HVvtfp-kV>i7Y@4zhA*Ce;+0)#l*%YHZsmPb5q9Pg7rA6VUr2EX!#`%=%W=O?E`3QgQ(9C3{vVj zW3_Y9>t?}i)Y}Gr0`=gQi1UT{6XF!k4B!i&~H|Np4kX;chsh znI(0->;2a1RDg1V^yNB8eSS$Tr`=3-RMjHLeZdaDp^4cA5n$3$t#Mbj7kL!XLax*8q z7EG;GO8C#doc3KL!`wesD}KUvG$ZjOa0wfp)N1{6nYeg7@5pU@0AU>SM1+mLgRHjD4VjLUO$1)X6-~q&3f+GpeJQ|71 z4iu1KeNXzCClwE}Wn!V#=d=6R9!0uQ04giJ=ltc24WlFJvVmOd{5Anpgt_p-SY0}id4HJ5bOR4J6+mKf0BSkbo^@P@X^L->T^BCT<%uksI4MI4RJ+lpkRUCh>S z>D+J(sOH9q4ikI65h=u=?8B}Pf`ltrCXm^tQxQrQ?!)@aqaU?B>U zP2?8~+1I@M6qyimSId-kkooF(fZ$wPUe7#ldAI0=49cv0C3~lC^_>^A^6>lKe`xdm z?*XonH47HH)$E|L^0KN@xPuGZ2ba;>H4U-Z@sL;ZG$*+$7R&6Cd!_)Py3Eh!qLcIk zahs9ATFB2`vSq4vrpsp=lB5_(gB1L#0PGE>FhDV)qFn;cTIKQ9x*H&gXft5KM_45)#OJxe{ zI8lYDf_geap`OVKp2ac+)6{QsiCcu<^U97|axUFp0s`|p6p{fS5bcol8`f~gvxcLA zg07eW;)gx&crCq3d*PgEK4icy3eeOvlxi2qmS;_je*d%RmHEqLv{wFC`FuLhh}Spx z$FV1daT+CW_jLa_c5me~Rq0jle^$(bJBfzitK`F!BbZjIYuyV(T-zt*d+m4s%Kf?h z$FaW(=)d)XjIqAp%%a~1o>svx;*w5AxwxvC%qAvr&?eRy-b%5*bw@Ajy)UiGH%wG| zGyZJ1qv)gW_8-TZ;(S^fKmSecs*h24-u}=?zig|-qS_HCmDFaP?S z{?E7m_7B9n{l$MM0V>WG{FSK$p#Q~a{#XC)E8owAnDVmPRWb1^T3k3X{yFz^jn^&J5W+| z`B}xut`wA&QRO+u%j}O=t}Eho3$>WKEv@9x{EsE~_{sRWDIb%KRXV;(W5A5a`9w-r zX{e!1e9*a1bJjJWrQtIg;9&Y1AuYbr9-l^>=80#m>4|I76AC@Y>=>0ELg-KyrVlq9 z?6gnIBO=WkPgJ73QJK(+S%I=9=#g=7?&*a3756J5LTI&$ePu#fcnY+&by*H;p%~GJ zlG@uz4^ajLa}3!Imp4X@^k7|z;^K)9*|TsU9)V#xU}l2GX<)Dc*Pd-dS=#AoRvntO zkawhic+z)8_Oxf7A0^%8+b$m4^7r}L?r@U(;#%Br(%^c_?@dvsQ|=uw*%mHKHu&70 zI=}GST^;)elb35xp}<*FSx-wGQa$* zf%Y%<{S!C1KST1G#)JE1&KMWAthCHxKr7c#u;i9ZLMx-~zxk{Y038%&_Wl-aK=P;l z$WGskL@jpjXIEa25cgvyCvylxI#XfuBrY^Uf3tb_Bk%4^`-gWYzI~~mh~id>DL?q3 zTB_x8Ah|VwLMWW`$_UJ7hf&pgdLkR*8zP@Eihd*%)>UY0?^)`5$Ksq5s((Pi^-R}5 zf)(U39CP&mn4gHXFPK$X7KAi2(31R}WqPkpNuY|@T;>W>;A~Lw#WcTB2sg8B?Ev7{ zoA^xzJ(7i;t{g{J5Wca8Mm?P*%(;-PV=lnUc*E|!Z|GzpO-Z=OG1CUo#ZZU{w$8A2 z_Q(AROmeN31V5r2zh($j~1n*qr?5EREC~3AF4Jxf80{dIijgmQ((gP zY=7Bg+Te`GbNX7^27+`TvkX4s?kEQDP$_0a@Tn8tF7~zwSe!*$bm=03^7kM-QD`K@UPU_j{=>$HWyVec z?l}rs7BJB$kQ7I;GY?de2Z%v3@OYw!Wop0q(Y26>Dt1Sp0XH3EDdxQ#;b)f*n!{Q* zmn_ih;_5Sec$b$Ip9ht_R>+?BZkGpT$nRjB+JXu0qNX&r7P-UliZ(c~9*hsid+GXW zwuU_rf4)`E#YBeoKzu?)b| zfR0bssVH5pc+uXpLcv-xvxq_6#buci8Bq#9Q=86BJ@J?7n*td$eeKpfF9*??ndXqtD^F@_70b|T zZkJlrO?yAS$>7cBtKz|sM=-(J)bTWa>U}^*BZ~2)E1ny4u$r#@uY7n3u4BkD)42Y zeyG!!)5e8*iYu8tRq4FM>5{HMBg||v1C*GU)VimPU+qJ9uLza{WQtAO9;fM*OXt-^ z^K`NfhU56@oJcoz3%f|yUp_OYe}(Jqu9g`UkVqg7QTQe0Pve8uUS!QwFv#~$=mOp{ zIC>8%vn=vELZ=QCbrq0nA2V=C#l3A~X)5qvDo^wwZ@o(r74`t)NDu+_mlp?fux$?^ z>~0QDzGAVoknzj8WzY}bQcmYJ6;N5`ytCTR?DEZ1;evM3C$9CU?DCk-K>J{iz7XgS zSZUz_l_9FxY@AQQV0HZ0Hg)8699S7F63A;(Ox2n8T>52rv5ig_fMbF*7S*&+-1hmW2OXsj|Yn&qc_$Mn(dI*y7C~*M3rAZP_!% z<)BI-JDc^F{7r2pQW*feGid+p?8mg|!0ke6`%*w)H@HIUu}zM2nl)t$Oh%Q*;Gmtn z?DX=R^ey=C6`zcK`rUN71p5qk@(#@2s@JNaP5m)Vv^QTA>6Zr#)@9UZU4-qpuVD0L z+LC|=XEz+9RfE&b%GCpB3Be`mE`%X?NxQAj$L_<<*@7dPNW~z7WEIy$);lh~YF)q% znWKWB5pu{ezZL3TaobH>l{lp(6wJ3uW$P5ySCED1Kx`LiEwUf3nuH=)f>g9s$hYB! ze;kuPxO@=Q>-Nh3K#!7^ta7_)1$TYl3DCalxz;(NhY|NN(`+23=^;1KMT_C4#eGXm zn8%sNY&7JmKi)$3>h;^e=iYC;^~dtGA4;TEO5^$=?-p9gL5sdOLD=LL=eXpEaEEko zid1PAT9-@3Ybah{0EwrEnoQC3=F48Mn~xc<=8ABAtv3gA0uYh69c{i7(`zSmH6C`! z3CuzR@hr$U_RX8NMeYk0k}~c&ENvfjU&7SmGn9uo_SlF^PKKMOP5bS=?nSPhnVt^{ z+Q|SYXUhr$XNDWhmAXf}93SYVCnFsB`_m3IKru{$QxpPnQS5%U1rC@zXXSt3I`ro1 z2k&?bqGu4k{zJwtAp+FU7g`*e^u;)((#yQQUMzj8vRQ00rV{=>LUDY(&Zw66Gix(d zv-g?F{EO~c3J*9x)51+IO#$m(%@S)wGm`*sFGO_D!c5@Z9|uJRz+seg<$5K}y`p8j zAvq|b=C(s;-xqV6XOi)F1?TDxk^HeuQ!ZuQhsov(Zy z1DKSqz4f!s>UdyDm>>*ja;)-H24_rKNuiwg;1ZC8xL&<_z2~eWu6x!CCqOvx+{WLA zW>C6QYHTvYUIPH?*20Fun$<^-{~T5tKYue%DvR$?dLJejWl;qGXVk7Ew<}$Lew-VB z)H!I7(4*UOXOA|f$&}~nAAMf+I=KaF{h3$2t3me{Y0I?Fp)xsyy z*WPwsHc|WOU!6qiNV9{p(mS(1j+H+dpVh9Re25-BOyhePIjzYLz-tw?lwNm)fD!5I zhPrcg3iJ7O{~R%UXIV`%MziwA9B1vT1HcP829@5Sc22TJ0)9A`z=*i_soU@#RJ?FP z(!pdRHNs#m6250E89Y01bEW}VlH(eq#!B*|2oWjgPu|KSO!D?n5exLqD`@bFsn#X$ zE}vWWSTV|`L0f`pDvAvi4C_2#CfNkG%8gh7{P^+w0K#z~eny2`v>dTo>!c-CIJfp& zw5q?8>*H$g=(@BfUPS?4BNlo4Kt3bLcwhfR ziNn!~;At-}71vK8lkKUn(1r%rXFknAM|+S7?2vwbR(AI_bzeotxO``bPW?gm;!M`1 zvP}Dj80(4Me&(Lg9iG%C1g%r_#(@YO{$6**=6>szWBsDr_!$qwdGir2(j0SSs+^ek z=HjvAslN(7xqmNk)3^CjTI;m3Z6*``MBNiabrSq;hDneeAn0-(lSzpK*A^BuU1H~ls4ClOWbpZDIC&keM zJN1Xvf#-`eAORLNP;Z*&N!AmGds{p^(W4gO96%1Jl%j)R1<7e9(+;TI#*5|T#KmRp z@-3K_E@?RDO=OC+UuIvZo9{Lj{hsDZHg&;B;qi=;M8ZH)lyC0sf{O;$C!6$uzUPT;1Y~1WDm>4Rv{2vSyyJe*25G(k&yoX}^BR zuNgL;hS(k?FFbyMJi-Jx*@q*`&jO=a3!{|oXU@|P51xtgSjupkXjhPnv&F=amPxY7 zeTz>?)IH{`<;qsDT6WlPgCFI5LR4RIx(p?aoW+%0aW24#D#!Omt-Hmr#QYMJ9D6EP zc?|_tO26Pzg?m5sXvpa4=^QskRFl^DHQu z0p`D2irSEf5rMs!{f*gjl>x)i^d0dSRHOiI07{}pEl`?WAGPMFsbu8tIYoYlMry7G zCp(seM*wl-7JYZ1GA#F)(4bFWLPG&OXzpsN8<)9ZU-UFq!;B^@R&Ex)YykiW=| z4qu!Ne)Le#0x*xF8}$#RFwpjPVGb4Hr;@2$Dz_vMKU{}gNxL-@d1Jl-N4o>%RoNOQ zmR$}r=cAFUdZMN-88_Z>VVm-5IU}B?U_L7vB->VZmev=+V<>BQKFg7{wRw_ryjEH_ zFAYB);o(L?YhqzsL;J|vw0^Fh`?(!hMPqGN221jQE7KPnCk4K=S*r$LhDU2)(qUC+ z33rOo1lXWq64j)@w{taT)bS>YH-tle>(@bFNgt^~o-2mAoU01FMIfpo(VihDY*TV4 zCL_MR0jgsn)air0zM$2+IKe6c{;+-?#gl&ivP*ce%_N!zjVivA*Tl;!`&d33b)-|vhoz{c z#pU7TcU}Z$sVrdZ!(ybH)`BMXY|Qi@73WXC-3&4Ki2R@u1*_?@>*a`MmXc(no>Gm3 zyFZ`Uew1=O}>RnEvy%{+GZwf)y>(N7M2tX5xpiEp(ER<#I8jGu8&8*m+4rV`Vt6VP# zjl?20HcZ!I^Vbwt*z=7Rbx4uyEeWPeTHXC*nTfNL3Fcf-s#^C7Wt-L6qmF!S6@v2fk;`1i7t>>?&Ly~>cGwoiVlsc%;{~KAeKoP{$05CN zPOmtJFc>n&P)&+`63e@L=85t2V}1jcX}`qR%4?z_)8u;QxcX_l{~R>;He5 zvG+lmbfrb9f(8f(j!H*RN(cl3(j}otD53kP1Cl_%fPfG{1%!}5Fkpfq6h(TK5+Hgvznw3&H=O((Nl+Db^TIBexoc4UhzQ^ z%}3PmX4I?qYMjBuc2`mOQ{U8H1>egN$Kk%@a1@8Y72pR?L@_Kzg$>&Kr~HcxZ1iJ7 z`+81mX2+FMmPR}n1CE|beHo$};yz9u(ca+%yMp8_>L)w7RIe%WW;qvf;z$HTyrE;b~^Ck-<%+!hUKj>Ry3Oc@{xzR)MFnId4_;I6Gd zl#zIdi+M}FgmqORGsWg_>bAan|I0PiNSq|$&ejL@%%Hdhk5{Cq2yZV(W>8aK z5Rs(KTPO`JtU!XTQO7ct1X#gNU@>&1bV$*(+Mup=BQ*bMMeAnRObVK>BK@op%9;g+ zDWs*&z6sw{0DEKQ<9YswzW6VOU%-O|#p#%phH2>#4HksO-afr|Tc}_0+pEt%A8Pse z%jEMnp}#sglx?QHJ1lwr*nDbK*W^!;$j(709*~^t4cSWOaV_&k%3=^hhauz51w!ue zF|YE8g?Z`l&!71XW2$6a*eVO+MU8|E73+WXF<=b(d*xky-kj9I$Z(VWM6P~yx7<5C z{G=o3>ei_t)S5UVwU8yg?OG#Qy1B?-Lpk^L(?SVFJqmX9zJzYO7I)c z|N0OQzleCDLbltzi4hT}7O5My^)G&!vggrt_1o{`5($@*{FOVT{ImVd9AaPmcOHOB zVVh*7-I(~h(eFIXt#bi~mIXr|-}`f~|H19w5CiuY{FulXk)w6auRnhOBqSF4kH0yL zpM?Jn5k+mEo^_TZw>`EKvogGl)@^<_T$t$#C+{wC!>2*Ps+`PnCgO)K&ztIqe@RrO zbhXG-nF8EqnOCF1(8@v5rZSwKaO;@E#OLfNa7={DJe_0Dx#FHn=~h=G-x4xdBfnH1HFDiWA>?g@ zwlrh>;B$jBE&i4dX%Mv*uv_j`WM0=sfT;yV{etAMFR}QcI-S>oM4O3SOgZ=YPE4wd zxZ13}fErD~_{ze|p9gK;ZMz3j{As!}2sf~2#O8M%)Ayyy^IRE`Z{ggmTK~lj|6UIg zuvs?Ax}whU=n4?CMR7$^c8e%Lv3`Z{$weE|twE?r)s?{Yvu#ssV`r0%m!{|Ydaz;% z1`V;jT#1)1x^Z}`ItVNzdE#YyLGifv=%VqJj{{koFdyh}>4j~rI=Ddt1(SdQNC63P zwTw07TXWBUaAqTlcFy~K2*s7|>9Xf+=WrI>Y}~2@J#P9}pdXg)%TP$sfR$?)q?wKt zH0nRe-W?128ePtQP6XR<4IHi_7y_nJwNVts(y#`zGzK^#=2bjA7n^u^{%r*(DBy%E~sGACmlZF3k7B!_1|F;?jZ5zrs_k|TG)8r%c?%e9toMY-)J{ExCr6W-5Qmc8fe z^$d0HB#CEL1egnFR??=>iz z3^XB(k?Q~jH`X6mczXJFp-EO~#!TiEjpTt4Bg`<#NLpR&;vko7inShEf43flsddCm zn%W&2L^l;@c%9i=?6*sAB7LaH&GOZA0*iDW^{p&R|Ls#uS|4^+^48o}YJ9LnRB1?# z9edsOd7nXo0T=H+G!+mKYJ^4UcJu@k28k$CeIC#=A|YMX-mPs6G8bR%?^j z0aL~3Shh+6C~bjvOY*$xlQ6rB4jHX#N0K2%Q>Zmrq2%2g)4`SQG3QEBE= zy<57$AywxuYFdXU#sX3u1p$#Yd`xuhc2DOD@QUm#JS8-f<@Rdhnxh~qg*R;>s@^)3&^2K3f z;2;U6p7pYYfMzPnG7tv8X|*B})=ROb@84KrQ*Z(9xTJPPVgmMciCyh%p3T+*c+46} z7eEb4q5HfncJf?y8K9rLn)5WHsuTxp2Pjk*mnwFSj$^O2{%F8pA7dVjGFzMTK&F&< z&0M<2^h~1YBp6vVy=ECG7D~)<$=1asW}D{z%L9w}M@cjDqRFl7ny^iiK+1_&?W|Q* z+lG#M*Dmq*eG0)~Rzeu1^7nuOPn!>uK2AM7Q~88tsoaPJTZc)zB9fp?R13OxxVT%H zT>?^H@LlQ)h&Z6h)Ac(Qi09uT3}*p9yr|LM-0%`J_Aa>A8YUVhpfL(qR%kwntvZVT zoV=AXUG$&y1pl^hh_RfOr@oKn=AZA zbTmFMRyUEFx`$^)B@M-P)&0{or!c5K3e+(N00|fAC+Zru;N*VKMAZQ|RhF}YJD9c? zf+P}(u@8M;c4Wsd;bd$;MVLCvn&>7BVM$Q?F^ioM{LFG4WuPD9-ZI&}>y~Oq-oORX z1PvPc{Uc9BS1qXKDDZN_!n_MR?@L^Y;7*eq9lhQ@c1F@eyxe6QTwli6DXPict0~3^ zyCN*Om_J&uJTXU_OGvU%2XD6qzWS}srEsXZzuasydsF`aTA_|?Anh{JFmx&h zwtPvYz61hZOgXx7^bNB}NtAy6)9WWvZOK4cu6FZ`2!YUhOB;qE5C}xFzPZ5Y#o0iA zgJ`34LzT4RU{FCC!#Pk9XXz_J$-E$G(^q0s&nhxYsWk2ka`<}O3o^D0X>pZzJKx-A zU49G@z3Wrg2oz&}y-P6F$n%yAvV7=9-M3(!!A>;*ivFzM*eHfcfIVNoK$n|c2dqtY zYV~GhKP`luLe~wwJa(q3fRUa7%8u>jIA(S1g)etv!QqgM1;p~Y&x5LoG$#%`ZP_qP z&)7l}%vcr;MPk1qS2RBK8@Fpr#$qD$Iy_$~V#7n<5}XTctm+(^Xr>khbq|e*;4DfL zT8%yv=giyESB@XRazwV$22L0Xx_p~6z5eZ3kT8Eo!h{dJ`a(!ol16mL1WB~Voz+wf z>pEeM$Q|;4Zrb#gBQMqf1PF>Wp~kXYisNC4-Z7WOQXBM4RizPwNDVQ|wvr6Xw(Rpf zU_)(7d3&c&QNvg3jTr`TbCXW?wp0<~|2?`<-ltuCI=%f_?LpcmB_pP=({<5BxgzG0 zq|LZ@Ew0Kvu+*d-r@5uK3{t=mGEXa{h}M#Ot!A$uPlXoQ7WpvlDQbl0R372)DZML5 z%mFT>xY&HQMUp#U{n32Y%Mf?nBnrXlNjV|8i5>juA?alU$COv$PKrm2xr19x znc4~hLK)icM-LfTpQY_S@mT8`4lf8ODh(Oju(N|DPT)Q-egNa;*cxasue#^aOIHlQ z$~b?!6W0V4#I2+eMVQKOJ^W_2UCC5&(YN4csd9I-;XVcXjTXFe3zWG2HeSxxmLvxN z_)~zzh>C`5mvAY0BatZ%lb)x2SO696kx0|7B~{iz1H zdLglOcESCyf5t+8wL4A%gbH_UG`J>o|{@TS2lND96U@skM4>eAC=Hj_dAlAs-n)d zK7576M+i(7hzBLr`K2rbI7w%f@j~M&K$XnlleNzd=?KZ8(|^-FcASnzzMgZ4UU=HO zq;&w@y>XEwP#mt2pv#ZES5+Mzmp%FF?m3du4bkE#y9!%EOCjU`jfrzXxnr0WNPRm%=PSAyQde&PYW`{UF3^Vi>jW;HukkzX?3 z@78CZ8#*cZHM6?lV$_OfEb7mF{s*^z>&g3n8&dX6gqFqrCgnAw$^uc4WN8_a%b8r< zOjeMxQIa&CUCzy#v7W4+eg1EA8k^7^>rsbW$>ixEzrdBW!=!FqWIIPyZDPzVwf`43 zzosj;#3%oKpH7jDu3>p-nrH4fT>jp|r1|a%pogop2~&X{JXP}kzPPhOz1U5(_{6I~ zSCj$GWWHQB!Gk``kNo_0@6i=M`-jmN7Kc)v^gYxtRZN88uy8I0saA@2R=W0=_l-co zvfg{G+}fIxik0{gc^f@WNLn}s1Vt6KI#wnw#pWhJ>ScVf?QUEQ zh4+L$D;ODml&L?3dCYO}fzpqazeHOyJ5E;UbK@fnokFunOcT>+rn64jr^~w7+wKxDKV*zvx5Sdz$*A7IA3*Gw8qu$3= zSKZG`)hY)U4m3~B+e-loEA;u8IuPQv+1@Qldw?0!&#>=08L?@o02b?)&Y0jXcUyC# z5_6U?4-<5Yg_Wv{98N>iJ+tN}kyUfCcp|aH1xP>-aMcr~=P*RH@UQy}{+BT{s%1Mj zQx0FI-n{Bhi^zII*ikZ=rm4TOn;O$YWDps3*%I~ElY{9$n77YGz_u6XJ!}w%dr5o?DYY_re{r|sJ5M8atyZj4wc9+WP%fwJpj@v18@r^0 z%H(P}Vyg{E3`0oOYUXW~RF^TcM&O1_GW)lH#ic=|y?FQ(@MG_DMrxR)(ctQ@UxRi; z`H7fG)Ug*_9U>@)($oukQrh=6QmsuQc*&zG%s2`^!*03;tLmOI$$|pO2BgeME}xje zov?aW#WV_F-nW`bnx3*bEEwwXDe~mYFs7lw)@KlbK^K^ zbrvoPGJak5A>onCynqy@m&wHGB^x^LR?Bs4smQZ6P!xw!jU+ktmucW;POit%-U}|J zD#d2XFbXsziP1w&QWk7hT-gW@GOc5n){;l9CotttW_7erT$ugvk2*v1U~1C4LH|4? zkjSmuRcgyi(OY7xFq0d%Lf>o(2IeHYsCLVqVBjR};)ZsEgCZCmbqnm*4MCc7B1_4N zowsta5Rbg>YaU|U#FSKkf|F>s5D`So?BY&t1P*^q2(aM}a}J(nE?D!*HUaSTdDC^< z{Nm8C0zVa90m9y{Pf7=N=)$|=$Sd1HO`ghJX?rP6YSeqvU#&lXM%)pia~k01gmy(i zq_2GE5p3c@_1hEN-wIBgp=*JQ+)fKHL{I=HwbC-2MVlU+?$CH^I0waUs=QD^K*xSO zdl9;8Wmkx%hKXs_dsK@IEyRGJ6N%^4-eKXS{%S-<3CGGO?Xl19*hsGSrJ=W0t9oL6+%KtNX$FoijSP3=vge*`?wzB9Ex8_kDX*N35G|) z*UYd715UqfnRgKfr@kK>GkOt|!u6q_x2nS88u}sO{Xr~VMhTF`=kuhl4V-iNaM68Z zt(+yD)E>U;3>76qi>1d6nMxTG7Ztb?#E3+e9C+Nuuy$&pm=mlDlq+Q3_6RyIq~e;Y zs4l8pst-N#$)}*vF|#cU1Q^3MrP^}3z*aG4X{emWUe%CAkWPFuWxEY&YwEMa^f90; zWdpsj0b6i+x&U;O9%+qKaY;vA-V<3UHAV3yQWP;8;gdy;q?DDsTO2SqJU6y}0~#CG ztghaf54b%Y((aVrQvpLlW9q##kEOIQ!$%*iRFx!zCJD-|UQN#8d)E6o2&eJEl^zKnD5SSHkda)TRzYY;guD;wg+&H+Z7<1~%OG zbfHA_Osa=VZpLglhcg097)c^h7+hoMp4&PHvF4VygbzxSwxfE#Lgj`GVi?*P^0{vv zrdH%yOTQ49H$8vd><-nKdP5dfxa`GWUUo)%pb9QuqtCz)>Z<2l^RH(1Z`_w1d0Ta3zVt`X(fE!D`%Y}4{D(WT92W5R-DD1g&I zp-MaV_y7+mNfAb5vxO_(`CN=dr2Sw81}?INSFU!;5!qSCdS&2P3f@%*|`I4DY|vrPr}Y`DbSRrm1(OzSIf zcXIB9qvqH$caU(bhYG2h9>gyL8ydt`H*J#U89le#<9lz1dOdXDhI(q54RObLOi!-W2XWeD4hz$7 z4z{5*q3*cqs-FR=$G5i<)iR>A`zM;LFo-gBJJHj5$+b_^)i-cHVohkpPD82)o}%3w z!2kN={cErr*Cq4rPRhjOgorfi^OND>Cz6as(4P!)LXOX?f2MN-UmCVQoHj-wTYK!1szZJx)S%v zkALG?>Zso5=3_}V1=Ff0+P!ki950Nb_$?_C^&1vefw!q)K0Vs1iJeo9|KN%Jk0<}% z6uu7$@0mMUJ-ZrGR;T^o!*`w^CYJxW>;K53KP?r7PyafyBj!Jf?>N{Gqs8C7{?C^j zzggUU9xb_-ZHda8(=|f)XzzP%oQ?IjQ`SOUk{+3P+9l3qT?Zqnq2$@=WE7D1E_InH zh~BpN&NDly&f;8)e~-GF6fDkH1hP~w1++|#nhh;J!w~ukfXLNbM_;~w+E(B6Y+#=8 zM>W2EcINB4a0H^na%myYay&bIZ^mye#5qB3;IX@7*-V04Ybg-A#6Zd4OBONw>3-XH zo)b?WAD_FN^T8r%uGFJtA=eJ*^%hqQMt*)TR?KROTQ}d&;pLx4mjuq|6e~gisoEC} zT>u|ULV4|_c~_|5B3NDkSb#$A44#Q)g7s9_hpDU0rl*tv5_`10OU)OgOQ)}=bcL!C ziS7O9nF&KF?_$?Xe8EvI5YxG^WB30ST+S>wyQLog0o-&$bj&!T(*J6w-X@W{fGXt< zK&x9sPg_x*{A)pOQd}_-`blTfvoUsV`iHYzf7N$YsCk3=ok!%Y>5IRphL``!Rp_+% zPx|2h^E>^KH)%{x3EaD7G1C_50Q8;BqCh!Su6Ez#)P@wNCiSLeDCN8C5*e_GV~UQ_ zhDxREiuFd#^G2_)=IRbbooHIfooMOk)e7U&0OMM$i#+jj!^XlijYEv}pR`iF+!k6< z^ZVHHmx{-^8EcMBHn|T9lqI}g(?pN4MW4;O&;db4#mJovam~toK4EA zQ7N#))20qyp@&qR!_-+Xi*G8>#7`#O(@+aF64_PlZS28Jq{)&lNjrjMu&&F`vc7;~ zhb5RuIw8}diZ4y8Dt5+Y{ZZjXVIQT!z~QU6o#i?m3OvORoRV?&E-BsAQm?Nin`M?* z`?ii=-r<~(y*ZgucgGH4uKm`tEIz?#kiG0;@6Dht8PLCdgAl7MB$+w##Fy7x^WtUf zj#@~uA`!npamyxU8!N{9Ug%>H8<8G!tZjOZH+IBbpQCu5T@sZN{xsih!`p!6k`l*o zY?NC>s&K1o`KlSNx5s+dC2ZpD((Mb*CJo;Z-ES7)9+#l5zR(%ueqR*aVX{oFw15#}x+#+DVVVj(s*Zh(>B1q(k@`^#XizNeqY?Z#UtzVq;wwh?PCa8wIW zAFlAJSHV(-jBBTBv%W~%GkxPmE>K&%28j)N2 zskxaO=68F+;89owOf1^I+uq$StkF6h(Ow4TEtQ5&>VeJD+>ilgJ&`?B0lr&leIZxO zb}kH2JWJ3}*6E{G9ep}Ym7__c{F}S8%>BM7FN?Y%;SaMj~39%$UvRJq1n73 zFH&+xbzLO9sc>$AB?T`b)|>ZQ=Jm`hEI^-|jFsKH1`Jv5cbnyJ3vlR=naWy~BKi$1 z(vaST74jDnCmVlGw_E9`j;EZmO$-*8CN}qmKpx`f_|Htoiv;WOJS|PhJ$?Tb>VYTzJujd8E z{lLc;qnEhJ2RWdo;syO>*f67m+(aw@mc1;aeLgdz=&T6gfNxwMSvPR9v5u4C&{N{j+VyTWf11$=*#;uOcT`L7I{pwYhngV|H9nl`q?>kU%c&oLq%M<%KKC#^E0e zpBCcK?Jtoa#j8au@xg|6(Q@>`m!m%l&QQ{0xyZF=o{cj$5#PU0{ao&sq^yGlI1QeSTB6AU*_&K7vaE`A}-)d zq&1mYB-6t~)zMYTPqWY8ZA$g_T;$Z8a4(uIW(MJv(S`leIj9S+_xJ4tZ)#>U!%kVS zdQu9z>g*}-9^dv|h&P@^e7)xvnY0wMKCp%{BSA@=jcee`rT` za~Q}m?t`ekDVggQ7U#$836>m{=6=8Arb#n=%{f1t4FM#IZJH>M_;#?&c0SmV-`cxd zIwX{)q1@UTG4-k5M37o5mEwMbj zKi(B~$-5YxaeY1+OHYY^$B(J!Yx!L%jat?_S^F-^3cOfzgJF zyP87@Sq~TJ=cTjD1%e^rmKVaPNEMg@uTaPUVPc#ejY8mp9kRkV^mC&4?|%us>4PEx zdh8+`z=f?reJ_#f6*rrnZB=mO7dc=Iqacu&-=Q}_ATV;uA6;n7i&xiL+WK9#e)n>X zKJPf-{m|>LR*T>g!wQ(P8fe-W@m|chw`0$r5=P^$6f>5JZHP<0fi!%Rm+;DB;-12B z+Ym~U@iEb3w4xGQ?f$DiLo7!o?CUBpSPwkfKN)7&>?*RoFgs)CQnl4ZS14g{W25&6 zsJ5zICymf-7V8>vrSg+ydB*O&pIu0^Uw`ZJ?~mzSF;pycG|qKHGjg#XNl=yu z8QFrDn~N^k}ZohyjUm@f*UU99Xe+2VLOB?=?=I|6SO&j-tzzB-kYcdG2c* zg%fc_4CcF$|M+p_&V94`nycF7j|10ct-41ncWa#lZe8i{?U2gPdKi5WR+jww=>Q8b z2dy_*ZLcGbqEucivPMU;*(wr{#1D`ErMFP85;l`ii-ztHwn*4U*Gv{sVf6K2@oT2t znIs^Xyp*6UAu}521LF*Yj)o~l$wy3|fEwRJXUnY^ns?Z#%a}Q#lOXq!lTXogm%wvt$^}>6L@_F4%|IYV( z_I22#4-Q#bm@LKu5idWdnk5IV@wgdis~&oB_66n*tVh}zC+oIssAX8o)I%UlE2xQP zU0f(>Wa*`>bHjBUk^xNR$@6nVi&SKlO{=?$YhJkMyBU{o2NJW&3hQb{n~JO8x~}2R zB!OQv(kbK4Wf{gK7d-TM`00Y9jr(m#9Ywg1er$(HR~ed@fbNWjM6Q-rh$ndf4>}sl zRJKLiQuB^@wE2Tpu9tk87mFog z$5_FfV6#nF!u_cNC_+#=7aOq{WGkDqfsakv#k+o~R^AF4)(1QGiD=9hn}3aoOnHg+>S36O>~=J^10+1) zCB7U}XzZrmrraE{4k3i@2*@0)j3PEqQi0z5DY*@f#qgkNoJs1LnH&tGOFI17hz{qT zFR|BJFASiQ>3KBQsJSi_ko#s&a-X2k1%j|aUJyGN1Ac(%^X&t+XMBLwan<(L6GTS- zaL^URtSD`TbyQu=lKE~@6mI8FE|v^5*frWRYHUjk0E_HM6xL=jP#th@Mwavwsuvw@ zcSLL6wzZQm`_`fg0gg}Ake8D3W46@6aD0J|#shxsa)oHI5rr;l=AfB!fF@f**5%#K zxq@D*vq|baH~1dNVh`cw7I(Pgd^D>vA>UppxqEG5R#vZpW*Y2}1Z<+&0N%xWv=EC& zlMHIOi@PS>^fsM5%zw=1l$jfBsCu-;G{({;$EkGH*zN6u{ z2svW$7am+j>(BCHb{SWs`giSzI>R#W$!u_&Kp3!BnW7+Ne4&|7v)>m$S2rjqC5j8n zxJJcdDfMZo^`W3VC+xgyT!jLKID5x?fh*3L(oW7`co#MYJDS9m<~e*5(CSnFjT`kl zzggJo>}%mVi8B57;>Ls6b!>z zb<6_~rZpo>=%IG9-;}>*9jIf+Ob9IK8sQtJbmF*?OjeO3D*I z7~@je`H1l6XjyM_S23osfH)u1BG?Q+3f8ms^mHEku!h@=jL1R%KPJ)qdHO&50Ay7Yk^JkMIc( zNwJ5!L!|NTR&IJ`SmlCQwK)r>g^Q}jsE zRolvAbtTYFWPvjOXL_*y49FDQIIau}4`D-v+KR^!8U|E|FF+os&1DYr)e_{1CA>)| zz2axpn7eAOIq%DwADit5=Pad*9!Dzx!a&`+f<$S1D2!PY<{KMJWGt@fl6!G*ZR%>s z0A+pLLtKANqwd z`=~JT55#V0onqLXIj7$dyB$S|<=Uy`oFR^w^N?30;1Iq1>nYcUKjW`-gwFoeN&Fmc zw6z(;|DDIT#kljcbOJX!{P;`28umF_A*SA`hK9c}?5D?-PwQrz(L>=Bi6OkJj(H)Xi_z4*du2tqB*5tv3zMQX~K_jeVZg_TF zY0qB&Q)wwHgJYKzu2$6Det`Z0*AZw@H!+4?w1$_S@8YJ9R-Px~*RI;-tbaw#ImAie zn!yxxIYR}u(8uH$pe=6bWB@O($g~vE8!zu2a6-1E3>0qdr0!0NLTJ``oJ+CAW*p<6 zYj&Pll2FR!F8w4kh8uko;Bva6PH+X0>!Rxc$6JTeP8`5<+&yZCyqA&=$`eb0*7^y? zd5&^5UzFtvxcBNQ2#H@cC~fAe=&UPTNkcXw2rxdc3c&GFM?_r%eU}-VB-;_48ugsb zoC_;AZru{ERAh-^IIHr98c!=;Il3d3DIU-t#NjwDPQ-E-e@FGa1=CySBCkDZaIJjv zUd-}6E{#Dc#`HVjwD7Kul#PK#c`YwqaQvwCbpwfik~aoq}re zh3}n{j4eF}##j!$#txfOEB6Y123j~wSP7@V>rk(eL-3$5Nh43u8BS)j-88CS*Hn#~ z>dMvm_Sd96D)bx3=NM&Kf8zQ5I{e?YsCqUgl7f$4*>o9C#k|5Sjah%fxkSJ#)1HS) z_qcOF%Y(7`hfK0lzoZSH-X`9G+k+0XatmEmsvjo_F)~73v56>~rwgW~{!|Mgj2wA4 zlP@?YqpXJ&}HMLzSK z3Cm%Zr8<3%j2@O(2oK3#nhNmfryj_INqW6acNaCUZFVi32Sm=F#D}DOvrhuw7j+n> z%wRBarCf<=Y}l=rmnXWc(c6=A^Qx{0dl#F$c*qLLoi(Dbk0hnYjOl~Hj_^E~l2h36 zU@KWC-GwEg(^RE_%E7LjYK;xFhr|lu`E|G&45yjgK`goCLMtTiia5xMH0gftQtp&`h?m%k|Zka^b2~(W>i_2|rkUZz!LNJ<~sQ zxU3?0Y;>~zJ?-mu#Gy%;Z~<}aRKU2Dr@uq$x5&)pmz@A1(cRGHhRU=gB#SRvy`#5} zY|)c$AM#c^_uK(v_mY$BjU*tZ*tdC(C?)n>w0l2u!z|d8B;7RIBxy`rHg!Dztb=y^ z@oAlzUOjV~d^<;-WpSo*dz+dsPgH%-)uVq$)MwM)cvfM;yJWDA(62*FWjhp)vA}?U zY3Dl(44c)by;z#8;h4I7*o5TG%%t-T5J=4e6nz@on?enC3}0nY_Z-92 zmG#qu+~E#s0x+gYzF_6!f$o=6&f}5e8Yg&o z0(>*BEIr%4HZoxpnEY=e^6ND1CMUVYZ^Th~&EoV$>3sJ>~MnpG%p_YC8M8DpiYXcwSxW^uT(pQ3KA@0*xi;g+}R-`z-@ z^5~}ZSY(X_jFyy=Y-ILYh}*EXo^{sO=~J?fy^qAhzU&?yNRs)^qjUdk7+oyT&Wzt+ z$e+z3g&i{{fap zFh8`F1Du|Jsx>62>r?M_I-n^YftWt;Wa*Xsh!;vULmYr10`Wdkt@-ri%MM$LtQ zsMQPkg-jLQV&t4(PhtbDF2lgYmSF=Ea-<!RQW|07yiWSG{uN|9PpiD; z-MwNDMsN{P_dsV6U|w#;sjxFxz%@qk0{JdXJGg$QXq+Q8oN#yAGtdNA0iqqqi5?IiA-oBdGHjLoJHeZu}cL>heM0~_G6Kt*gkr@0o8(6jDRjBij~-| zKhAD+UsG)K5UGN?pEK!jy8_NSV1K%9k3@n1B9DQ^b_68iDlWM%qgXon#Me7wkM1-v z{@JU}{U^PuPr74|V87+M6}I`~BO&b4mEd!fR(^_%TC)OPCIL6oztO~bn>`JbXv_tp ze1~W`HRxW@ks=#L@_VyKucr-_G{)TLC1I^)xpvwGzOrzl|2>}?UCEz1FA7)EUL;_} zI_xE%*0Wk{FkW!8e($WC-9@*;Aklb5-1XrTnG=R2$I70l2i)LHJRv%1#vgTaEP;9~UrDV|-;>=qdUQ%+LCta5F)tm!%SY%ps=;!WVE4Z6c z{4#LSOJdu94l^s2!t0sREYf(%!^Hrzm_o%ZJgiXMm#nE-k)~P& zHI|IPtJuVHQUtUcR32FLYJPd*I%88{ffk3asGoV3g>|*y;?hdlka3LHR_)Q}Ji}Vqx&315d32lA+J5SRK z;Gk~}(rXCjLz{!wOAPn$UiGJ(ST+x8$yaaUIT9o17$15CJji!nA1?H6*{j{!X+`aw zhn$OlOs>&zvUI*`aKRVnje%r9p_E+bt-1+o^@&Z~o{xHfSY;CVx*_E%MNNji>tLyK zwc>WPik^P+2gq39JDwxIAM2m(Z{^1SX#~ihd;QOC|8_~?>5Nr(qEUqKq1fm`fgkn! z+kbZ$(*HK%mv1)vt2A$>VVZ$BM{tUTes-W=uP{&UB~U{+(zq-Kyd5H!RjFduQ*Exp z9@YQUk}Hbi`&XQ1%Urf@v4T)RvC#hVd{aU3I#Q#QK~q;~iSnwtTyrUMgbKdtqdbJT z+;Q&hiL{f0_g*Qbv}76n92CJBQ3)^iyJ{UB{G>`ffWLf&!+MONhS5d(yw!XcQ=|gI zU(OKvnwiVBm1gi7H01G&w?59#FtorqkP2~GwlUFs=9S0qkt>NDa!Z)^R+w?0(@{iS83fE3Y7BVzX6S*!FFI-!??GVk!J z0aCm6^e@mlyXb2p2Yu)#qPS4Qz9~dcb8O$s!Kp9XXpl z!|ay2=DfH(6pviM6o(Pz<=95V>_{+bf|fnl@wRsh5s;5#=96z}?ecDrqzXu7ZfIgP zNkH4eB-w=e$94Eqibvlk&O}~j#}7(o+yrMrC3&8-2fUZ|>&NdrRx44b_r{~{ z{$;An&izlya{tFU^3#tLKYZq&!aV$6z!}vIuqbUk%k)f$sH;+9poUl7bgouoS*KxL zWil4C$>lo6kF|`8^*e2^REJzo8d@OPAWr8cB*v*r0L#oN*;LimYrSJ%)ma)8wet^xse4jg{= zesse(??YE-Ph%ffR+@g^(!=CQSzH`y4eS`cjT*_GzIfkIn51!z5^mgh#iI0rk4;!_ zxc4pb!4lNZq?A?v>#5Mh^sgof0g%V&kf&XIT5k0N{@Y^8*XK)nmp$CWeN8LmJeDn! z8Wl1&H%wIy9n~TGamyFYG`8@7@d`*W`-W_Su{K@!fHp!AskfPH*Wb{nI+H1nrB5B=`}uM+t$*k`Z~`yqF}d8dBj5-9BlliHR^gAdeeJj23{@*ybfxjl@xd4JZ&0MRQiX;9M9@_h38H z8UrxpKRl^FwIeYwFziUm?EUI-o!nfpdgI|pSLgy6VDzzN_VB`o{FRT)0FUf9g>a)q z3&@690L`FUWKBvTg-DnNHgR?rqZf}nPtz_`G8jrk*(XXp;TX@U9V)e*@aA1jtPp=+ zS2r4t!`k>umB>At8TX1Kxdv>vJ*DQp@+=B^CfF<5FqKD<#t}EUhPdP)KhFp4j*U_! z6I%C$PdxKXpmoO7(Q?fxEe)np@;Wn|Z3_r0M3>%@9g52EX-SW7h;dM`D1J~ngu|Mp zig0d>%?&+=Rw2gC1*R*_cLfG#`U2rRKatLIFNdH0Tg9|qL5|nMp1P6}tXD0+X0<~C zIcFyIAx4FBs)T73QYj#MAN+jA9LAZLiuG~IEZtp^*^Yo$RGt7^8!LY2X~PMCa>_cm zkr^mSLQI;&?5uyqRhyyb0FO1H(_c2&&b&^?tk50$VF6Kd#Z#5L!|+#|(vk-igrQhH z>xT!WMe7*EFGLcz1kL2ab@Lzpbs3*z3(d_I=A>`?$8LSyF4tVXF(00M|NZfYR{!ln zk;eRIS;$F}L&ehdYHf>BrV#6GoWTb>H7mM~VX1j>i2-RWz@hNH0>p<2Du@QTjrs#W zGo2js(%i6}b^^YzjGirPy@?&iX(^<+5hIv9)cdF_kiwB*Ty?dOJ$_lEh#8<}v-oQ- zZEpfwg2-FuqJ$_N8(>68sv(FEPy3RA^?_yf?i2&V#r->L>k}H?=Iz|tOMJ9T65U;h z)OPO`<-OdU5WSw!gcxxdF*V&p73CBicCjX|8*7z@0+2gu`XXp(`GGB8OX zfn90tG!efG?WrK2xR6m`f0McypyjWMJ}%_S4T@takvqn5U|xIoN+p-7Vr!cvte$^% zg8H+HM=EzVtdw2tugr z?w*YzrL=5uyGF9;h~b&&3ysdU>%mQUL-z#VT}HH( z`-G__w^Czan*5;W69-z^PEOx%Ov-h~r5{Doo2KaQxYO$9gdK+xSc*ElBmyH9aTE5n zzUm1{f5Q&$cxW*FY&3z%b?aalQc_`9B$1nDMO=vWpU;w*a(Q(*B+NH&HmB*mhQ(!{ z`Lj2ls)3_<+2vUtZGBw123*IY2~Sk+G`cg@1M;~lyRFQ8u|s};TtkLD`OwbtKwK5M zq5ib|4K-=|3O|7FGD{furoM-3eWPpnPz@YQg+Of_Xt8yGLoruG%4=cKL?CcgVZwT} zM}zLY8ZW+FU$QYK$_In6nDavuo8mG^kWg*HNUe3oP3Nvyiyf1#J!9}`O1SJQd066-+qjMV_x=j zO?ei&r!BjZnclcYkK|{GpOPPA;~M&b79nS<@Htcgfm2uIKj^9s{EI;%`(zd(8vR@* zowi}-)B7;f+;-k%hLP}Q8M3kLB8}@)ALWP-#4@d|+^-tj8kO1-Ik19jNzla-uP~ay z#`DL-QABocI(> zBJ;A~$O`{~j7xnUu!OhF%7$D9F5WeB9U)Q4>~5&zgo7dOdge+EX)T>eF<&*(MODTZ zt6wD)3Y?kLLkw__%-Yakn?su~rCSBD0}hf?S7j@}Z$m@yzZFlQ*3wYjOdD15R4+R* zBnRap^_hqq3GC?JE?nty15|Hk-9P8EIX#yG#)1*H4LL-qlH>jjoJ}*P09P0Q%)D}N zh6nyft?Pdk6OtdUCP3)s#UhL@f zlK2$UQ)n0H&rM~qYj}OL9x;CZCtaErZ3=3pNIYTuE4|`et zdz5Qw{l7=K8r#Fpj;6#uYqpvA#S3;5U!>;v^M`WfXi?c1y0*4}Hi`vS2d@<7sQofJJ384(-Oh}7 z!!bYDZ9p$7ak-F@bQKL=8bzN;Fz44p5~;0}Sd6P}C(0v!q=E1R|I7%pRb{L!WVH)7s@%5R@O{dA@4<d%km>bA9=PwXSus%JZzX?)BWy{VR(_ z;AK_#G`F5AMP9$H%X)EgN!CPjM_I%3@dwr?SxLvIBx~7@LQ*MKYWn;gWU!NcR2%h0 zY7bf8Zn6bbwy0O=kj8DjY-~Ed2R8@?{HJ?aLx}a0>|_8C9-BSdh?(>_RFo1rDik_$ z2tor!8ymD1Q&R6Fs~{u1e=5g`j`JcI*BON_7dQw6UG}6FhJiYBBwN%K={`P7quuqh zXzR~d2gq_d+hlra*Qa<6-zYTQk8!vr5C0bT&m3#2y<7CUb=6ywT8V(O&*2& zhL)GfJXzW~UNf+k_S~W;7e!aFg<5DBK6_dvKVBHGt~wU$F;VO5GD!=-BCy#teX`1t z5W3@MDc7z`Yeb9E8dYc^9b5$SkBZ~h8KFaDeF<0}m*SN){9FA+C0-NmlVf+&lsL!u z?-jTkvxQ^_F=E;DMn%1uOUh+dZf4J~Muea1i0jCvw~3aRE%7foiefN@Q~OsK{e~@7 z4F%wN15|_b<6Abn6?lq-gv{vOw-u(;lIT$>pLr)sJ2RnUsEVh* zW9)4u`@MWQW~1&)Q3MAB!D4wxsD1p}TxDV4DH+1LH(^FHPU@1?l88xgZ2eK$lx1=x z`d9`A8H0^2f-0m24kIFJUyyt=OXA_kkZavGroq<ro(2fwxh1OxG!efNh_`qRGkbf zXiZ;A>x}jUDfd`bCi%?(MPa=z7|i_iOBII04~u(X<=dc7Z;-uBCpU~e=Mj-|Wj+qg zh2)M+b+*lHkR>^sG%!bDY_uIX$oF3oGfpcp=n_r{GO66Lrm`8(6KPg z>GJPW>bo}$5FN&6RJYH;Q$ESQ{|%P@ANhA#`Hx6Hn$2kpLb;H~!0eV+I8cNc(jp2{#bh&hgLzip{V6R9r4?BMmeJLV@ZAnNL^mBivg=3t=SCgf z`3H>mKb?;Ktny84$;(KMdu>7}{_L zli9&Ky&>H{SgeLu!K>qxvUTEE3_xeXo-ylu`FYRUBc|5JCQi>>G|H`_+YQJ6#0&7I z|ND>0#**p8!|$Tpwlz(asOYnY_vYk?Sk6i?eon+?5tvcU3#}lC{w+|Q-o|atolJ+Y zbh#ruVCH9U>;n(p|EC;99aI)6?wR0gPD~9Gx=f0Z>D>fldWqzX?qlBG6;<6gMQ92C z0`DP$S?QnXaGeMbw0VnV-?oux7B6i5T5sll1y>4rWrEc92{!wZ4!J3!>TN9BaR z547Kyc~>{a*q1TJ=rexjn(H+^h?hf-rI%W4%9y|tJ!Go*Y>rLb5Yk`{#^&SyB?F3%cgU%YK-IAo#xW3Q~bq}Lcxb*9+yrI4pQ`ZjNGS!vgz z!-{E+6qkoszX{oF=uQkcj}92gP{()nR-FwsigVgi@{5O(UkYOe3G! zSPhWgM^SDtOQG{Yna0{8ziR+Gvv`9|<`_c#F(1{kFq+-XnM>9qXTDuiJ{I>lB&w^Q-?%bFNmmIR2q=CQZ7=MGvYU`v;&xm|#s#!>0Ug{2) zWTUoXR%b!^+ma9Z1Xqf1i(xv4I^mjb*>GC@0OQ=wVoOs*;J2HzTDoaJcH4GhF9j;Jw+SlxE#mZB}CX z?T9GxnWtyP<1P==o_iKv9*=PnVABgp)ux&?A74U%1s1ydl6|%mgNJ#v@;yW4+==o- z$}(s$Z$sJWy&*D-pO>occdrsnktmaVOjZI9(XD4dx&ZFL(_F+(TaEA=NykCjhViz_ zY0onDTn1`&^gd{afA2?kq^MP#lM-bLLk{K8o)wIt2Jzu@SRP8Q&|0PS0#EZ@xUC>D zE}`Nul5opF>Qz*jBCA*x*idz@F(edj8d?bmR^o|jqNLq($`EYHmC%*}D+93?vS&Ln zoFZgokxp!ET%o)73Kf1!IHEEz**tQFEl{~ZARX*!NXk1Vk2)jx$$Dlj6S$SSi-iEF zH#`)7>#F7d+?tz@o7QP4_Do}uE}q`Z39d>x0f6BLG9Bx$k3{2gf6+5| z@0(}^Dc9li*7m=;wsB2jaoXM_mXPmOx;BaU(gZTCzCPo8z)yDt8wA1GZk;^+=YN7M ztAjV3Cq@b{;^t`|^Xty2_@M6niGEkIz5I{gb!J8B2E*!DYFzXOZg@|Oh5&K^3b5@O zg?u|k2yx!Jk?$oO+p4|9h3U5>o9nFS55~XpnHET9vR!$w5e$(^ua*vH` z>Faml{$i?M8IpwQ1~CC{x!26%S(y>cCox4W*ZLJB{a6*lj3?;2-YGgb*$*by|uk0cf_kxB4m56>kEo2^wP?p&y z+mOsHEVIPjV^cW4LRT}3L#1C%b5HDSxKpS+dnUow1R7AW)IOXzY;tznIoL|g5im#I zz^;5kSFq8R(=Kv-G;L5rj!NpHjJVqP<3eU@@Z)xQ)p2LE%c8RHu$elu2Onw}#p(nn z|2W14QJMWY63VV}a4WfvigK84f_1;^YceuRYEeV=w+Fl{tq_kcCYKEFesUJ?R?vEN zy_<}+cHw;$>h0L=r+5+Ou19JESg-J^qVp|3qf?KOPVyB)Q$wP&EL5YIRDH>hkZ^Oa z3ez1|ftUukEbV2mLG8+Qy9fQob4^LlI58#G)uLJ#VYX)6nQkB?KEIJ7*#)R-8RCU) znysq^y?bBOg2z=mP<*oln^zaM<8WhPq~<8gWI%zj(eTSki9vlxerU4i!{_}n-51jq z1oUQaN?FieSPMovSI{$LprmWAq`YdK;3CV^F-omFynWnkajo6*J3Lq^B6THP;6>?Z zx|axf@M_#TB6#=}xr(De&CgrisjaGry9_F$jx_8yI*jnXv3M>j{@r98(SsAYHKSQ9 z@T6=qlHGB}VWft>R7^IoLiy!=dG~J3+wsYWc10C0rR>zT6mp~`BHU?Dat-YpGAC@2 z7lso!#Z%!~mieNLkipk!?)vFrd30R7$*p2&L`@(VQ)sN%1;}!S)r#QSk?<_X zX7T%?&7*f0i3MqP3nD6&*c+6$$6%CF9N(@{t*5L5Z3IxOjC@xuZEl0>ZOL3~;@4%? z?^Sr(tD>(%x6O8RX5c7ivn`$8Vf*duh-^Z*JO9vjcOD&qR;O}a({X<%;1~tv zBV(3$rZ;KsYSL^5pHIwiyPS^iV-dg8HBcGzptQKX=)U1mc)-FLZba zXUuiWIhmmD?^x68+zvQp6Jcrd)0jfo*eI6GtbV9G)Y~j}5FxUh)!G-?yH16*8ho^`hVGwseXY^>jAB)eWo+#C+x7tQkZ)Rzmck~K{F9HqEtDyTh+DuWRJ6Q zXE9v$@cLJVt&JpKaeE-nFC%sg;52GA5^Al9x)VpLX^f zT_vujOHC(Rh#}$wQ%oZbvf@Q|c{^GYEGR zQ5co2X5Trl$mNnyK0*CQq1^1ed_%w+(CohDPqGNfb8#^ZgZakXo`bywzM#vgdX!JT z?Z(I?B*bsQ{PZ=eh;|3!`2C1@8F)VBG4doBohyMxxgplsUFFa|z4l*D5 zHIUuS9UiW-8~R#5Bu&3Sv{;ME%Bs^f!=kL6h191Fae#}WH{s*C>aM$R@JYHOQd`9P zTEbPMYwmtIs46eecwRMcb9m#7*Qm%!9Go>Pap(F#Rl``^LsEUDgYR(ffdD`h2Yly6 zaQk^xms1kw-+xf)O&Bm!{$aex$lwv{K9mr6{@`V} zrDb1kc5U{~^IDOlzM1QfzC1SVKoQh4EiDxM3}l7)@%;Rt)V$R0TSaESRXJWtcJIl? z;Z~W&&#no?wxX1km6w;Y_FbMOoIVW{rnak1&5q~B3cT`*bSijsQfZsAZb^w3xmoYc zbDm}zEFf@KHJ3yxj7m@;5EhPLz4J-ze$1j@?y?&`n@yKVzD~0aTM&S`Wsan5qBHrb za>dujafzLSBhH$UWWF~Il>{pzGim3>0*y>KAh*gsYAWWoLMws$pBD01zFog<$RQbT zgXU2avnVB6PQCOid`q=;zcFL>e$J(_U}@|uh_6~?4lHX3Nf{b5P4K2I^&|F-S6_Oo zxOpQyT}CfeV!krWesSH=<=_x62`tHA>03to|9~bJ40l^h5z%s5CyPxm1#y6<81Q~} zt3uKFZ5MV-X9XpwxC#X&8dAB^_sCD7HL2_n>U@B6nuJNq2|s$4_*rs4+o9uC`*61q z`dk^mGVVs!s%L1go)h_AY_+>wKro!Dho^`*=HXFWzX-N&VdgB8Jn70WLPs@M$y~)? zKH{XB+w!0r9xNZnqKA*98c;a%(GwZmTnMt68#oP(?`}lj8^SxM#=&{(XRCs}081|o zet(NCRD9!j*eXcp(G9ckz``api-v%lni{nWE#e%Ozao;{h4hG2;zz$~P}*$6$Jc0Q zEuEBX2ne@fBc4c%bVnUrPqWOLM7WlFxG8ZLgB9a{=vO=)>6t^d4kmK7(nJR1cvp>uvG^LX(Zb|u?$V7>(tS(5loyfOg3`qRIwmbKr^6 zLJhE&!nsSw2%@6H3QN&3-tBYB-pc1WL51B2VOR-d4B?;O&~?qM-?ewfNzDazn;m8L zbEl56c-z^|ve#B2n3l>*LC77Yw#FrHfl+*wlB}wRq{6o5M*{*AIvN-Q8x2o|31u2{ zv&gEGS!4Kt-%pD+&JG_RPF@}u{P?+K(7r8ywlX?%Xl!`y3)O{NU%2ROJJvH*se@nA zU>WfX6x-|X^JD4ON}EZIlVbi+k6?SukgpmrFW}gBUnG}RDTFCn_{&fZC%O)O`$8in4X4dBVWgE8n|0j`W8=ynE_gcx+wy38 z!nh|?$n7!ckvdL6)tl?y78NdUQe3VV#OWfK^GG|(cifTacgbD9SpI`Gm92j-m{X@d5Lx9BzYhQ*7dp<%cQLJ?A^g4(8EToNj(`fr~Wee?B|i-veR z>*(8Q9lP|K3V&)71|hiBv(l_JJzvKL8#i6jL4N_jEh#uJSCPVTJU*IN#%E0O%d@)H z=#kFPZVBrDu^c@9ALQVf0v#j`m`_}>@9~JKdU~1Pg{MSi*=S&vaKHk=w za6}?ftVuG>y}#K6soG)s=^spbzaa1?9g&XWD)U{g1KW&%}! zmj)P4{LFBYUV(0S8Fhn8q%AZpp~7q1X-rVJg*EFgceb!VC3pZxO3AJpc#$W5gCath zSk>KZw6Yu-Ia_3b+kiouoe{Zrxxyk=5k}1eq&sS;!Np#^Nb`Ez6Lr%j#V(@_m(j?z-(uk zO6-eU7k7x-a{?BNaEwNiwE%o6C>!Cp3LOK;_z3BIS0qALuO_vENwe=hieN5^u>eiO z(C%(H#}NF?HWx+0;zoja)`teBitH{+P9}}V#(qR~Ozf(e0u^;SehDO3n`MQSlQ`3OAS1So)rcG4OnSJ(neD*;3UjAYM(O)^5_ zJCn_|?_$ddHdb(+r1+tL>>A!x{G})iaUWy}yN@7o5$X$9;0n)^i*(h=G1_!Ng7xKj z`9k$Hv=aO>ac<&Qr%D?r*dekWx5tn3#K4&I&H$1o}$;>*X<)Sca%A=IE!4<%( zYH~$Q_dIn|L5M93_pYmG<<{XlLC~X(kF@rgPl0d3=3<8n3vcidmtK3w@W0)&jGA}z zCWt_2AS4N2{xTR=zHpH{UIwKvY8}2!tdvpLx*fKcG$FJIkZmQzb|zt7v@bg}t}c!~ z!}Nh&ykX1{QhLNqN`x*dSr|8#aaYZ3JY_X4qzZ?_iHHc#a0PIGDkScMOJB&2Y19gm z7(sV-%}YZ7ZP50?5eU{`!1729oa)-o6^l>8Jx-8Gk4K~XW_}_NjH9C%Q}Q*{l9%Wy zgkL@qxVG+JjvTReF%6sXL#9F}!yR~ru86PrL^M;%^9)Ybv{8E4@_Tu=L^HF;RZ%8Y z6<9AA?Fm+vn&N@x1T;^QBzGK;Mm!O5SK|OmLta?ONRb}1aC!5Z^559RZhIzXl|QiJi} z%{q^X`7_4Ixg!5m&9U+P8kCOg{0_1p9MH$xfVP(`9}tMpNg8!>)vS)CIy3pBZzbAC zE%rO#Q7`L!eFw&qFOMv?UO4phF?H>ZSTWt z=Zh?y7Jr2m2t`_ej3K1H+e#+b54`DxRxbW6s{r~3&Jo;7G}rU`A|ldphWqAsFMj^} zSnOX=(|TK{I=CNW{#FxE3IvCJW%$Z)31C3y21O6_AC(K`WsE+({FR|8jJ=#%TfJ&U55dqt$`h6cuQ1_;zGG|uM*$%p_4=G`YYkM%5@q6>_cn1)al`(3ulvkFg|D; z*JSW%`&aT542H7HW8!;B62u5&R$sarJyo7f3NYq}17n^YNu5s?mF^w5`AigxS9oG*SoLJID~_d&j>_*LqRm{9-Wr0V>hm@Ew-3KE?436m0yNR_ z3C@>H%T;X~wN;l|9J^a)lRobGQWb}1oOA_5rq^S9ep2M4>F)?Cq=@>zGo@5SS`=M; ze8i%-vS-uQ+cfuS3#w!mX*fyRUNl7$-U+&kJxE#vEc`%dEn3;)?Ai!Ec|t6iLV1@l zaAosZhYfjqRe1aK;iUMBCDefAn9wSNzY59J6p5k?R%AcD*%#HM%)uNr74#se`#j< z!<+P8GU>)Ug!U@>Te_3JNpkv139CH~EdpZ2@#iPr^4}i)|M}Wqw343{+>`~MN^EY> z6zM|}Wn^*2xiLRjCJ(B5xRH2BHF7JHZcddV?qkxGu&wfe+Aj%B2HX-E>-~Wzsdz-rh3jGTP{z^e;qrM5Vx(7ZmI;h#aGXD}ypSI~6L^%|#a(Q6M%OBgHZY zsEYw=%Rfzk<<@p$91BZc2*qto&THbQJ~P-Grm#3$eA{f^{^o?G2~%>6$%`{W801ke zO9_AOm9sltW^v4pUl}x$y%`pn+Le*385t;T< z9K6s=Y4g=7w>fQkqj{M<*Lwaj#>~Yc`EI&QN{$* zew$~<$?{EwsN+2=l9|;apUwv;GhnGMr1WZMsPWUAf07Vagsy%+2X}V>6L;Os;fEoE&`UIaD?W} zOr;awQP`jfKbLsSx`E|vIn%jJKmfOg+fbf5)S#eb8OJx5$2Jow|47kBf;7bAks*liK@>|as9VBjfgYPucNv*rC*s8D} z;ficaz;|w85&t;%7dfb4_Sw%mL?oIX=`XirVX;0a38NyeoOt+4RS}~P9#5|T%0ESD z{HFPtcm{PFbgC7@sb5=uB55n(D+BWz!sPNx(94*PfDxfDD(eJZ=Ghzl=l%ML8XdhW z2hl>C{g!FPPmJga!nx#<-MY$OsL|S4Z-x3o8T@rA`;^Vf^h9;x%Seb#+KPH-gnK5I8zkp$ zQs+CnR=lcjQ!?n$92qMa5Zi{#I_FM1q1R(ZSEYFZ^8=}adcWo({P}sCw+r(1u%Aj| zM#z^oTTt>i_qgbSTjDnYd5Dl+{DFVr87jF9pyt<8VqX6i_B zd*Vad&Nja0E4fzUYlVQUARe#S@KU_Rmr-L_gwM;~J=4ItSYd8g*GCgJP37b$ztO#G zXdHy36c*jq^(4JbHb{A0zQTSZK!h58jo9?SG~2lFHm@NCLv;UyeK+{oeL5*55?)J0 z3&7b-o8T7U_C>!+{FYI~xbt;_xG<+{FQm|+vgHF~T)fpp02VnN*j8@kf4JjUJ-562 zHnPLRB(Ws-%a#MRB|Gs8{N|9YM~}+`fVk5WD$h}%;aVj8c)0-6nn#qaG(RIaG_^SK zA{D}edQ%hM3ildAPRB?~ zE=7{&u4`{#t!jXZu~jAN=)r6d^t6mZuFu_fH7CbjgA7aJ9C9osNs0NaoKQa(&yb7t zt=o>Sgm)YT&ONX%j#X|G%&{F?C7HR~e z-{d=>YDUG0`q~X|jK=4b^k?1`NW$6jFov1d=w-q-KCD_3)4z}&>0+^!=?bW$1#H#5 zD4|FKG#IFYHdf9Mw@N@c^O;5I(8s(Me{S|Ce|SItP@3IwFsux0Ma(6Io^d1?5QM20`GS^t7jY^h36ScM9$7-7DGGs5N{a0Q=H>fH&*l+-_}6`!Z? zHzB?U&_1(C)lAYIoz$(c@*jIh^M%Xb(hEfV}9PT{( zoPtG6>e>ugO%jw)+6eE|8LA{|Ng!CkN*6HH<~{5xYyd@ zp-qh61uaavVss^&i=3w}2DvJP2bs3<4KAbnaJc2%s6QvDEzs42o#N?D;t~}@D;1VR zR_o9{e39W?5hF|2lvgL5iUPp!-qRt~J}8y*e9pgt?0EvXrWEqtqz|cgp^vmgJ}3^) z!e1z|bVrlqAtbYNcGad@^#iIf=__xR1n`w*CX#yV2y4g{lox5}Dqw=CzVp~QWL%gZ z5=L<(bYhyfa=iis^4;R8n5WIs=a!lt!vKq#=PJsDvEeRnfzM_Cwyb zjM1)LS8PLDbUNJzx?F)$ztf5zG4wQ5LKiMI;s>YJ1e|FQAhEVdKD7QJv$UE`WWbXx z#zFotxSDJ?n{>HN6dEs|xC7uoQmBFLA@~%z9>=^|_`>W4)!!PUhH35#=aeQ=0)S#W zWTQa;ZauxWN^$&5dR1om7P=weBN zh3$AagloRreO(jtRFmz7L6Ni>YwFOTW0z$dFBiGna2U&51$?<#@F~gd0c?n8!k&@s zRtZcNDWEoH5B^#TTZ%zvTe(eplL-@$VtTbs!)L3JOJ@9w=bY|etI*}OU$cJqTC>Z; zfnr$4CI=aHd;A4rqk#jZ)MH=>_c5_8cFP-yO(R}jS#TG_(#2Irm(V9zE((7IwnId{ zhCV8?jWVH&oaqT^VR`1Kg-T#b`OqL{)nv7*tO4ovHfj}etL>1bS-VwOO_~97_wJiD z+ezIU3jK0?wFzvxoQ&&i&W70*K30GcPEv&TMaU+3^c`J2OLxi;&yU-+*3URt;N+vug0isA83?Wl^p9 z+AS5`acz8U_Lwof(d$%12G`?&DNh?02%idTTyl*T02p}D4hz%l|GDL^%&K$yPA+52 z`BSYeh4XW6=-2ae#^D7|T~1p(A-{Oj)Fu;)h*Y3V8uJtyRj!f?F>L-nz6D`#@!GVt zv0RMqvjmW{cmElezp-xPk zT+!KFv?S|3A{Q_)PUmoG^O85^b=2>WQqYo{qZL&stZRvng%E}@x+nBl@;}|RJgN7A zk^iZz1}hiF^6~&s2Ot6UIOex-cXcP0=YHK^8CDq>uKf|){*u)F69b%uVakK~vjZ!} zB_~&+Duk1(cCR^N6@yK~d&tJMfb(N`F%aD5#wCWDL)om>uuQDjqUy&~wML72M2X-S7w z3MhT`nwt?ihxYgj-g_)}sJzSiv2SzsJ5dcGq1qF|zQ{AI@8S!BXZNiB`3XLl+gk{;E^ z;y&5of}!sG9Yg3$wvG~ETXd5!9r3<~h_atl>-aG9sH0cw0(rfr&}jB4RQHAIW~ZBP z{vMkwY>e$vaQ{fGKwgOvnti#68y7!1R22^aLArmrs@?#A{0t@7p1YBGrrjh7m6>tO z)wjIo&AUf&C8G%(0fVCIg^1c2>o7=4m;V+iYm^B-J8gTma4{@m?6T&TwrNBgWwNdJ zm&rRb{=wIs`r}FvNqM{D<1PH@)4hp_see9*|9zL8%Sqw9ZJ|}R0hNhYgpT{+L9XFh zgdL$*^+Po0oL7=7E9wJB&Ej=_NpCg}8B500?P$AD3$hCOO-(2!QdTmw1Q{}*`{?@- zqDwl)+|SO5NwoLR9w9Op5-ud)UC5jC^T$zLFDZqF@JG<99aIlHA0p=*@~_6i8w zP;Utck0aFAg?bsR=}xnXJ#DdKkzK{FcjhmGlEd-IutzD&ad0Aid+!!7lZr?Jq#!59N>l>=Z z$ja8rn?~GcGgQ^-Pq_x1}F9Um3pDvvL%n@-_;NDeex`-RLQBb4nv@u>v!T=HKUwc9Qr(pVww=PoJO+ zy8FJPqXs@XkA*x!bZ%K9ZFP_VV&@8jjEXSP;qdL+{ zI7;h%N1DJ2u{q)OnShnMoDTZj(a#P*_&6!fwsQ z0%Kh2bFN;i1rA1pNi@ILPeoo@nMUi~xe;xjT(ym<_E(}jZbC{V^^nK+i;Ki6a6rjp zHJr5hd+&4}PYgF4oQ7d?e!IVpu9YQf56YuUyL6)Bn-*e>t>Qb_e85~oLNv!AoMY$; zeie_eVwT|**l7zpdQ{h#{tvxv@cXrDUitPvKCc(9)M_J^n2xXQ{F^&3Ij}I&b3gX5 zWQpgMvYmp)S}fasLr^GFpI7dOIiddOM;oQ9UA%KjoljxD!7D zVOpB_-=p0LpH=HTLNA|2e$KN|ne7{bA z72U*hq4>Ihm8&ER(UR2)4X8W_Tm0}CH(n#Xaxhs#Xn6RrrTZYZO>j92Ga0jjiCfID z7=UWq(vczQg-e~Zzg@&v6uRayoO=CdfcZ;07I*C%6o{kEZ(pv3o&62*gk?VjbhAYi zUU2tZzJOjU28+a?0@*u<`NBULu6-IE8vzIrK0?z@7OtCCToI~dK^q0wCpSonl0hI; z)y;i6FU*ci=URO|KQbiEUWH7)&PJS4CyY=?-4-GnYVOEc!16mu8Yi=5%#)tlA(T>t zX&NH>bQQ+Rs;fQfGx+4DQQN!ou`_RI6=R4i?DlHGvP4*hB`AyVdqJ-x9#*pbCxNjA zEmQdZuA!Hb38a*EQT?9#Zr~+Xischy5YFR4iPQe@$jYF%nohN_RD+$;?YnI8jsq?u zbzqyj_BJJYB=aCti?X_`5NSi=1S+qLFWv7KK)Is*$--*nrl(Z7n8tH!&_znyV9Tf* z%wgV>ytvIg!ix=wa>`lZ5+PfAqm_EhN-Sq@4<}`p9!SQ1Hh$V9$E&#ChR(j%cY~J> zwV{b@K+!K>=yK+~9ri;MS**Xcoc|be!}QfiKCgN%_h;7({{NGGtTMdpk^*7F6b2@K-?!TH^L7D;eNeUcsXa^TCD3*;nJ*=J$m=Z;N)(? z=Y<{<0gfLS%~g##!oy?J+xVeo)z>2@9pZE>(&Q~)duSs4m=BktGc;WMhP?}?>zflua5OARLuk0K* zy7jzHP4@?_^X4kcl8aRmc{6JJGb67*^NQJ-zR=`E+jpK23QnYG++P>-SS$c#xxcHN zS!07Et6j@6?S#fz9DfdGpKnnosX^{Mefm~pm#(Jw2)fM~fwWxEESl2Afekf$BR&Jr z^9CuA2v-m7t+rOcRFkk%7p$wb#mw2r^PfnW4XRC?BU-Sz*fJ#m;YVM zMAng=+WyG!6*~UI9$mopSnZ5bf!|jBZTfN+Pu&S0l|!lLVus-!EvY@{fBpli%UUTs ze`!O0X5~%b6Fnt$i0_c_loe68QIECsD?>6cX`~cU2L*}g!q+P-eUBa9Fq-tM!H$kp z3`DLnsQwvF82+4Av;GtH`+sx+_*={VHER;r#(w6LbE0G#YRTD#)ja7B-Dsb7K&IpI z$v4Q{YnuBb7R6T9Xo9(Y_b0-|UGLZouH0b~#{k@ZK?@3|XV#<@FK6#k!ob+-n?KiW z;bueXMo_{*c4ED13eHeIluA)uRYTjkLcf~&=4CI4pBuZy{xtx)tuFkehpMDr!IaK@ zM(aY1LJ7}-w0rVEx3N%CQ0ew;ZM~Q9FBhnPYeLvq%BHa#QOaLN|67GaAj^+6nVRde zKi4dkOcJFLu1OYzmpqA+)u9Z?J(R^&;PUX`hF9Z5Tt$qa>(uvCaqA@Fl=JNa2|&6v z$L_K3rb<-CPnx3Q;5JI-h$JO7q%jWO9#YNIABFMft>U!==Yp(rjBVV=9px4mIh{D6 zk(mu$Lv?xYiuJKi{CMk&)$8a=O670(id-zq#tqnP4U)Jldm5l)E4Il(SqIO;cRx(X z-s%MlkMfu|pWiF4YZtpxuCf_4>Z6uPpF4IrNL-}T1&1sbTIyt8{^$0HEOL4D-`~N( z-M2x{O22?K=^AaCFQRj@t9r(;$TB(qeG0h?j?Ov00%w6fn_-WlW$e|h-oo`BxPN7k zJL+uKb-u-!3ktKnj8odf*?Xkri5oihK6DKk9Ao1RXeGkT;@A{w2VgLz!#`VH^2kBG zzhO~ianEepOJ_{K>g7J@dfM8QFMsYNxX#Mu@Xw=r`uTB>*62uMWIvx7EXsI#w~JLj z;6u~l!?hGXyX4r_^Aev=`%}&T-DR}^m}TXXD^R7qtZ$u7nhniY{xo%b)4MC~SkLaL z0+2>M{`|)c08VxOf5#rh-j|ok$fxcKM8Ejarp8`q@eS5W9Vba#f$5UA&u9M8G%JJN zQhaBOEMQbQXkWvghjY!jOt{gUlyf7b#YQFRLEk=<+1+KAujMmWge5X9B;`sr&->q_ z!I>4cEgiLN+yS>+cm6Io+hw;EC}u?O3su*bd|=~_m3UkI7_4HM`XIQFZa20U{fG6} znU(v86vbS(Gi?_;7FugFg)CM8CDYdEH!=#V9Bo+}7w?SUSR{$7hK>{kw}A}S2`t|a zDYjxNl|1C$?-ogm-sbsO!OMfuAh%5dnVjz1$k*S((?4;9JuiKjTAO<_aNRb<`^3wy z48jumomZ-jr+EKp$G5%z7*jYAxOu*&)))5xyb0QPD{}bpd&6k16KBEBMhp zGu%aQ!_7Z~PWBgjP->jmZ#vo1f1KI1=C0o`rmx?Ch!qP6uist5Uwd41bRSV;OYR!a zgnikla}k?Z47b0f)zi9IRb1@HY_24+Q-(eYt;^Q0;UW!XpM)=-}*8A#Qa~2Sl=3Dw@tQpv?sXW$3dP? zoPQ1-DOR1v=I;(x`DwZ^xTyKWsp);%$h85*T`e&iecajH+Tu%ujd5(;ScJ~I%fOj_lgN|=a`F-u=RuDi;3i`^R(bTeA*=D{8j9o(ag-Qpc zj-G=-$7rCI^(*L&5k+B{;gS6F2#0=1I;2R|-84l+BAEH($>XQ)DcN{97H;)=;kshr z;3A5ID=NdN9a?{<_{*_F{x%z5bL*~4b9$zg?e{B3^QLv<*Pl`j+R`cmJpT5rum5i= z7yi5M{x5C#ZZdGiGyp-Zv)~$}cJ%?XGbSte7ZyUcKl)`vx*H9;4{{CY48pxs@3^-e zP?dL}mRCfzzA_MNsxSCCp>w&vGO+3q=o(8N4bByU0}0nUlsG(o=~`SQ2ZZQ(dG8D^ zEeHEv&#g|qMebQzd$zs*CV_9>W9Gip2JTBiZ`IQhjspV;L3&~&Y@0a)MBhlGXSXUm z0WcnS4W2mUzMYwf)Ljz+2R3F}a&vPvgSnb>S_gChVQ!V%eX~2RFEgT+R-UzI+ufi< z*4(pr`eT1Ewy_Zyf#LYw?hY_SbSwNm2>&Nt^PNJ^EZ2rQUF}s?jBx(Y`<1la!5Hav zbwE*%vR8U}wAjtmb9l!0D??x4`u)1M7_8aR0Pt8Ti`W;fEc~IWcS4t7r-S`qWUW+H z$>tP>uRW6q^HaHq=a+bkcV=)>Gf>lmJ&}~;m~5ZIn-l8{Y=qhePy=c@baQLPbH(o3 zfRf1uH3C#2b;GZ$IH)fP4rd*~3evGiy%!YwFmxgY#hv?r;mqIu;rfM3>w2a3aY4nc zWDGq8$^Mlgisg>3UHWmPdQiF5s>E#f?pKB{*Y8jc+Tak)mx^9bU2PS1Rv2ZE3s4v6EtZ%c-3SqL*SR!UtE2+dN&ZX={{N)l zA8rO~!p?z5-OHXbOpRT;HV!cl&lUg$DTr06YouQUGO z<{NO5|Ek=@Sq-la6ARt>rRKpHdzDkbxO*a$DF{m)&AnBqmbeJurLvpxgh3?@==8)U zR})<)U4SvN5xfwY&m$3=8nfvUBZ1#3Ty;AT!E?{jGRg9*bM1nJRU(k1YGyq_6TUJi zFJ1#;wvA8`V?a3sF=&s~(AIm}FK*^Rz4eU4YovM_+iAWmXJr*MispWQrbhk|G-PA0 z;IFgt|E{sXhRYRbNvn15>qf^f1|))y`;+tPrXDUZ_Dy>XDf?+1E(k0Z__0dDV}$3( z&7acx>pD00pK(>EP^1oT9ED<^)a?nx1y!@>PL;zP`*$;1aDNKyK+!?Ffe7X#7a=tX zS7Y;iX%R46K>kHRI%`Pg%}x2;;&&;pM4hq5p}i0TvYbx2uC?NW#y+1jZboNIOsL|L zyg$6sJ=t4fEIc)ZURiczCrp*ImS_|v9+rLj_8s`GML^v1AgFf*FNew9-(!JEvqVfX zNoX9=V=^UZLt0m|usy&S?u|^P&<}*n$2TP$J+4|D*mHZ!-PYQ~jQm}T{*RuKl-jav zn{xh`vJZNoeA*9+#sMGS&@7kx*#65^21k;DUY>1>_d-kh*CA|7B*iS16rI%OqHBa` z?6U5%cBt$zgMY?S{*gkKrA`f3BK);jGnepAy%Ki0~x>SA; zT01g%KIqMYWWvQP?_#4$Ii6X`*2Oi;cO&>|6z{GgCcdPkO7N9m| zc>R<}k-eNAHzq|c$(1d-h+h{DsO_M>X1weeM)l)gJ~957yIHcd5&m@K7Ct;IFWvR}3s(gnw8V9lrvF$V70`IK&Mx zN{%Ss!Ra|QH$ze|B)6bKB598duQX{a)YH_N0 z@p6@T3r~L~O)kqVSYY+dTB#o#pWpN94s2Pz4Q zx{@YFdL8Qf`Yog7Zbo$i(`4>m?{OKp^NL|n8hm-At2)Z80O#~+ikUH;fi_lJssJ$8c7>;WI_oZZzk4$AT>TDy$kjuZ3{#i zt7Ij4`xggZiX7`c1oYiFhZdHb75ChepyiqX)GhV_l9Yty2rO*JA9y9#XrFSmBC8YddrCPo#&FmyvNCq!oCHE&EO0pu`R5FLa6gH0z zxph6i^2R*N@3aus#ED&JQky>Nft989^BaH;bhTtBFe6pJ=G1+?t;_zf`z&Y9hN;<$ z4w0`6AH99VkL$ssfwT)^w%T3X9s!3+0}uZ(5Zi5!5>AEowDu^Euzoq_FkGo~ZvK)^ zIikmxaL{I+)-4EGs%)Gcj&Sa;l`kj1(cH!b*Lukc094Z9Ee1j9kZ=9*A1Wl5|E`ei z@S8&N+m&Axk}n{;lXKEYDnie|AW2vj%zC0_x^F5 z(Xk5%ND-B)R4JjCQ3*|oln^>XXeJct9mWFE0tN&mw2@9ihyem7Gz+~NAasa8=)HxG zzs#B9oZs<0=id9A-|s%J=XLi#+3c{_UTf`@z1IGg_eW!bP85wMKT)G2xE>X9_1qrc z>_g2eYTE&%y_bzFL;Q&B0-sF?>@5Zc1|8O84SHl501+@dQNk%6g^9~MuPX9FW>KVy z*U&iJFCMp#rwgA|y7pIkX^;ff_r&>0aVb?{_a;OvvaX&@=-@XYba~=sK~{t!i)o`@ zYBz6Xp`><>r6j+5s8egQeDB&&j};*{lp{b9(=l1NEu6vKOr__A22u6I?fadi#U6J~ ztnMtilCeWk-shY7<`ArsB$Y9>K0?b;8@(ODD)-^>m}eAMG*f*Ds- z>56bzRGuG@&JzC|Q#etUo*WL+uIV)asR&YM{hyk?AuhEaM)22))CFCp&QS#i^ z_`kOFulMSI>iIwY`9I_He||^*^IUrOf8g^oRkJF8Zop$KnJ7#0AB*(?4sqBpT8~`b z&5d?m0F*!w=+f+^mU|gLAbr7X$89PvJu1T~Kl?71f#DAee9_B4S1qUX!j*4qK7aqh zKhhjw_0=x_b&>RM*gL0k&(IFnr-+0-6dmhDTa_RkzAy~i30KfSG7^e)_w559xEGVx zZFYABJ?e%vAvWwwHV=eZp|2XfH8SJ(_iuEZ!+>Ms{Q7ctJ^eVU6wU_2q>#0A1@Hyc z>cW5kQ1nblp}0jGiuO^8NIdE{?m$uxRQPGSTjs01k6(Zy%!ih(C zy&4r#*ANG{sBXeWanZAqS~jeY>F|(lj@^;$>jevKNSdMuRbdg+D7KV#?Wi(5#H1|o za@~_&*>}u=g(N-r$kzT}%*6kygSaB6QSyui0Yc)>7zE3CicP<7ssY(I>hk|Usf>_y z(OV08w~#qb>#?-%ddwliasonxkrCD%PZ;Emz^DmUKz0470j$_V~=pS zky09*UPz{O-`EDx(x-2ji1bUuHZsoS?9&W5((`lbCk3@>C1pgitgAD^A$6?R1?YKn z_d@GbTJ;7Yt%4Nvptz>x0@ZE}6?8uEbw$HOq1^*hkC*6PIM~NUB1hH+Vxm|9g7-&VtDZD`1}uV z#}rYjNQYbO($oRWHXq$Ss^|S#?U3j0?rB~l^bM`Vo&XN~u34~{_nCR^vE7)Rbhwf5 zxlpBio}`_yZ2WOS_cw7+@fCXfvPHhH^FhewbGG>99Q& z@pYesFAPV&;4_$|rj%~|N&fr2Z@ym^-pw!T1TE6@acU_JbV-VXs7qn#2F!z9(?qPk z)uKzAit@sa%K~TJehQhD) zwUw{0+H>=;{_=ZG|E(WD@BTRr^wHU@dLtVWTQ_W3^sw<`ex0_m&8qzo5ArCoHqpkz zeffCy&vc`<`<;^gm;*X7>Hq7hDv6Dt?^G4kIC6ZFtGjt*w8z=hRpX3ZPF<^Hu3)z})7Zi($JwqGA?}B{&U%H5?fp_0R`YiKCv6Us zvo+{G+*<7Spw}*diMSiD(f|lN2R-ut;?+5$iV(sP2lrxc%28qys6nl6L%gM5Gi%=f zdx0KtFu`rYI-@iVzK)<&TuLO2)86t9M=3u?M_)USgy0xC2@BhHlek`7QukR`?X7G2 zyN}dk-KlqPFuZJUpQLMP{a5ZWJ*I89Mkzuf$fG|myl7s1N(-W2-@=g#B z)p75vVmLni=I{JB1Aurwpx*;2V(-c>uY-~KJs}hl^wV4SJ z^ka$ST{cT0C-9q6zA$)Q5-sVQqbuj?&i)bn_pO2auLzyraO(Z1D4Ku0pQlg zTrSjhcRD0;Ys_mBc2y)G%TC!ZeP^htO}Im>q_r!e;kF~1H#oumCde4UV)O)NaA%5I z)WOMv3R3i?aR*zLctZp&YBsvipl=m&OEM5Gy-0mkZRF8`@cGWpOf+(A)5Thyzf#!% zt2+`uDl^JxAVaNLE75fitY)N2g2oe|rp1dD>{ja%2`%cq5^jCMNsL#@lH?GbZu`6y zU=P;}uZMjr!5j0xY^c-+uE?+9}bI{ew@Buq+K+M1n4i1~J4kyUFO6jk}I9g`zo;j_hZ{=WPeyVTSM$P+i zq;?rK9}P{4D-~wTORCnK-LWbo`wsgY6zDfvIqbnRr3Xt^-3hJ4KV@`3{h^V&S*+9X zHWea_g0`bDURP7y-~EvO^Ir$^H}`)mK_1@N3VWZp6Ajzr+0zYasCzr`k2B3X@B81B z+v8XG8YBhuzB#9nt8(^f{hhy%m%e$`e|}J6g;Eq(QbrZMZ9+#|1u(+(8>`{s$*sxq zwsTa^)|xovGr=T>|6_;OFK8;^1E@d8&lRSn#)pEh4LftzTh z48f}iVN91p^&G_3>mP`$V(oX?nb4}TPFlOB5fskY*D+6v8Vxaq;%}Y^;Mmr9*dKIO z>Y+R+t@5pY&BaSAYGqL-fTic`-)Zb5Ysrn&4jUBIhzds(*;WKaRk&7`c2pAUiw2$Iri*JL>R>-A4yjVCEdJ%rQuv1ivmEay=mJYJAGW(0Z%{>!-{lru^w z{>1q+*V-#sBko9#I~1}@$}ajNV=5;o5V>?xSVwAdgSgn|I$_hSP3n-N>mrZV$HVSe znHn7<%X;YQ=x2uS9{kzNW6C*-JCYlRRX1T-pOxuo_SIIVpr5vftgGwXkqzIyrxyozZi(ql_blyBd+)-TUw`>Qx-*kVo5qxgrb+8}js(x~{It zRf`@ERF2v$)vk*ah3SCw2F42_zDA6HV-ES((c*tvF1|7xzAw0w`7-eC=Vm1}QO%OC z_KctZtm{A7;qkU1%T(+bWX(;8#+gNb7;Bk7bP!d({i0EVzzTpA4aL~misJ!tRtyrFz91i{wDLnzUZzp~Xl zW$f4Q22(0>I6Cyo%E4|xT9a*7`sMc&zA(tB9(q7tS8nlk2T0|UOivX;W@{7o6Ji<3 z(X4}XTD(Mldz_j^2uo2VWG4~1hYB7pK#xM5j5|N`6k|ObxZaxO2AS3Ic_s81v_@6T zN2cvX4cP8}t4Sf95tQC|E$Se+Th4s9w;gDrMoiF>^1}($w{Soxq8R|OhPzYz<15VxWBaj!>lO*j6966w}adFO!rpi5yL(LF=k4cm^nm^#>_XaHI%?(wF81woRWbZ{Iaw-mjPB>SBLS8l0e!r5) zj?Rpj+vS1M?j^h#Fd9}bgHxgma+<3Ty9zcisD>{LDR5MucsVu^4jxu>cKLy%Vns7o)^ckz2;@+Xm-0UF=<8ymSrJ{N}#==Ew`1MZ+p1Ul>l&g){I!P;ze} z4B=tZ_Ql!q$}i)@ln?W~=qL$`^mXEsrqi^KaZ&hJbz{~yRe3*UGt9kNtk>A?Vns%z zd?39^=4oo+rzi9D4uCSE z6QzuEhjFDRzc55sxHoq_$QA^|Z#;YyAU!pb`s2{nQT_0Ts(sF8^3k07Z<@s)d$xZ5 z+uIgXz`2m{oR^jHzYaSTeb~+Xb=cjOdXl^Z_I;EsVe*}92j{s3%b5llm7g}$KL+;8 z|2hOA3Nq;4m4n3D((m1oGMs&cu4tFw$J6kLtrD+^w5!*g)O-Fm`0RhANV~{lys|D0 z>>mGGP$#^=sBT?9o7j$dQeCFn*+>rD*GxmYo@D-oboochO!qS`n`iV$CD2WqAFg`q_y=9>C$j%^JreJ8)EncI25 z-F!ynCT{(Nx2wW$Kd+zQUt6y9XHjQohkO+2gKbabF{Xz=G=I+89wD)=P?foJ6h#*% zkuNbJu+T%m2Mu%)FNN}*Q}YWyJfNqPN)M$OLN-SLxh*1J7&;y1?d&hAI4RQ!`3MZq zy530lYbVyXtK(-|O8VJ*d!#s%|7j(Lf9q+z1^wyOiBhdE46mE-Y>OARu-MW&br2NB zi2Yi7n2!Md<5c;P_EVS>$3B1>6}K+X6gUOV7EfOlYn94@CVN`+_A^WCaVsb(SzWx? z8>rc+lH_NRlNR?e2ijcUU~0|g+99hRSWx%%wr6k}rAHs=vH$OmhGvdY#k9Oa50_@h zRbDhVzEnE|Kr)M&w4Dd zVw_QBl%hY_TPJxzse3+VKtay5gvv2ziAlSL_;>+i9y8KMxISTm#-MlzEPlGXfaciN zo}uHqbFRv9Xjk6gq(SYI=18Z;c;ropH?$E==ABF}_B&2j%`{+(0%v?TaqI0!JE4XB zN>EP?#D~s8=gpG!YWP@+J-@shxTL1G1a<9btNXs=^6azwrsoqpD{t+(R1dVep+)CO zlXgB0ur#jn*SPXDwGxn8prWIUhTFER8>4f`Hj%B9;A_4^ROxxtqy5G(^RoFHVJ6`+9Eo^2@YP5YFUg!5Qw`?H zCKN_aS;gN7l<9sX0%N_7`Rx9kpp95-CsFGyi(G{lt5)U|bUB9TmIkPDQW*QFZ6}r} zMoQ3jtEaRNMUVFD;9)x3l2z`5PXzGS!|Cw84@DF-qrcw-Xk^T=Z;%sN#{bmu{AGd1 zJ(6`k)}~pi$7Nkm4e@(|Vl53E&C|=#(*?>E73E?XgA2}ud** zl9NFxta#h!JPGpM<^=vw=^)6sNl9x>H6oT8z0DWGEFY1RUf8;OnHt24;D@j2?AXI+ zqa&x4qvN29sI=??e&banlE|z_o@c5#DRJFi1j?W4>j#1mdBK8gq0|(=HANqgS0zY8 zp6ybH1jhpd6Yow8b8%zyj0sP3^B5LpRVl3@BrsR^+@8{V_tUQoJFc9(c(moo>f)WX zD}P95#D#S?kxPz`nFRaCJ$`*uFmb?t*i@9b{iwtUML7tQr2Kq_@YC0&)j!!|v;yoI z%zt5cD!6v3e-pTg+>Z(Kcr%CXjt3vGt48M6WsB$bk67&gJo^j72{DUL=-P=d3@kc1 zY@)Luibq)VFWP^3v5%fL>WK&?seTXhiB7~qb z{7AhxHqB|Wi@Qs6ReOflNV-rODqGfv*0bO%(s`0^vBL17_a3$qPZ%BvDHLDPYl-o}i`X!P#+RGTY>;_o?E zoXia9jvH_ss;{aHXCuyiGz2IRubhi2syXUfhbV@K=YHOn`NHtC@06?;>;n(LXgvOz zYeTME+(+f+gJ(=sDv%PxE47$^gaXWC+$YpzKi%bGl=&6jfR};M@gVvSFYX^}vua&f z(!0hW{SWu@f8&7OJa(FJMKwWB>s&9E=L>_KW3h8qu4&zMwTJi&EwMSvbU;tg&EvUG zN6jc@N7Lm4lbEI#O=QA%E9WB9q}cYw)aa5g7xCt zT|de+U(rlbV&ZXYIM7ow62B0Tsst2X3)6s}(4#!;0P3$vwk)06v0I&66{eW&^=c_b+hY0)X$@@jMAr}E6k?~-=tEL9tFhuYViygFDvS#Jq_*H0r|>2 z(=ArlizzjaQGMxJ1@iC}u74FA*dJtCE$)fOCRoeM!mAb6fs};h0)>X@CF|#^Mpu$* zuBgnt<1^HFm9Q{SMlqc>X|GAwg#t{;Ci$(IEYN^8bp=Gj*!!jpS*wUSl?;cD5!|K3 z9?ZED)MTD$LDzl`+yRJJAzZ=nFR#tu)6St5i9it%Z zs|JxZ$w?~ql0z7DtoY8ZrM_!8WO5c?&=rkacIN|#F=4$w4BztEo^Y~Yt{g{HRn`dvqDNQc~_6_l*Zjh4Z2U`@W*ieWpO&_~ByQkS`-jAmX` z^R#AzE~&$qTKMZ0nBKA*#0-m7^O&}QowH5Kr9%`^CKfQxWLEWRx6g6LgRQ+F-EKaR zHQpcp$`YS9JHJ&OYQA)E)SDvuLzSV7kYTOyJyCjW>6=AzqPN?jIiN&6|BzP09`ojM zzvrdGoW3RE7U@NcZJRXQ>8#E$e1W(Q^G_qv=+nu=rmLxepC5@g&-9hBTB+?VKqE}* zmzIrlq>|z)XcFDB#XxK6QI0gf;WF>O`G?anoE8!)_pYq)Ilu6`9 zwYb^@u8PcJL9Rsldu;BF#7I18t`dETytkJo9*<;qty$exWL?KaabQnB!uZpSbxE?i zI{_Ti&h-t?Nk?|07Jfn%;H@(Wm1T@=rS6IcC!uoOv76RiA57}H0w@=(Gwzp|QTl6t zI+h|SWqoMioE3icDAUNng0A^y<~M-y>6@b6U zoFxX{JC@kq9p+7)lR9H#K&faYkvvT&WB8>=tPV*=4nYA+9O9=}SBB8qcPuFwcu+q&9Ti=O z^4fH^Tb_P;6C+(AuvuP8OgW{!XyKEzNQstbC-USkc_EDG^2ZPFPw$nfrl?OiV4U7g zrZAcW2dC=1?41dzMDHLz-DU1>BQc5Hs8G}Gw_mB$DVSH~0aW0zQ(ao0-iG@m#ww5Kl7!DEPs>^hQPv=%rr4@L(`!Y(I(PlRGA>W<#PBJu zP;y}%#m2*ano);Lu3LzfkLP2G1dtsAt#(%v=9jHn92|?Av*)>{^cLyVoG~2lN@9$Y zyctnYU@}L-=P5^UxX?OLk#(VgH!#=BhS$8PPuYxn7QNL4goS`~6H}Xt9U13xdJN|k zr9Eg8yBb6&xB#B8s&6H{B2*!(Y!EldjnM;GTjbFEp5_t2_km&8p;K1CAkKV~daHh3 zgVx1(utO0W+i8F-gdRq%ha1g+ye(sGx2orAI+u{KH&Je_Ig}_aptoptHmF#>{Yi|W z+e~5+B|L4le{eRkWZ_Cj@a01`(Pn-UlYVlml`lj`WvQItx&i2sc(_U^oHB-H>+^`8 zAF)jGGahNQjk%C>&_JwM2DxD8+4$WZc~k7i{C3XwK2m0%t;u?Z3CrB5<*re9ZCO@_ z4UYK6GAiG)^Iv4U|6Aj0{^FRd_=`1Je!XOgoJbRMi@P;do{DmFn3D_~iqKAI(F-!L zjA-k=IoZjJ2ucNo6!gM!D0q%4q|;ahZ|TgZoL z=_7U=B!xHnm!W-dT%`?{*45MMQ5;gHjG|nis$nZCzFT_wgBZJl%uti?WIVKsjWxu$<()g1^;{e+pnbH`PKqlGJ)Aach zf4h?9JhWnpy(tT7SxlxiHi<3thm8Vo8Or+*>M>lF(Qwy9%j&p50@W3g3q=VtwpIxz zI*cj?a0>M;40(58?ASBTAQJf8H6F>E_h&1*HH>>%mG1m1LkLlM)Z2LqZgrNXAd6!? z-)L7Jhi1AhB9gRyd33nLU_Jr;)^B3eP+z$+4A)waheVbWG@Rc?e15^Qd3-^gqyu@c7c$Fr=W&xVFzmAsT{r4*Ga<0x_vDf|=CyB&@fdhCGVS$G%tJRG@kWq;%R2ng6O+1xMyo zPxl!V+2EDk<69?c5J2>;6J$+ZTvVf`@$j%;W45QS>5jE3{G&&4=1?TW{Il|uQ&Z$D z$JO~z@eej5fvKu~r>7J!Ul^J;M0XgfUjEAk;W3sTn>=ppj$|04ZkU>l7WQrBHs|?& z^g5o8W?=Ytx={Y8n0(1`;|HteWoGYF+YIxhQw5ZZGmY&CHC;?@X*;q&1%v$Fx0;^4 zR%}L0%_SNh!bYJDdY@|2UXoahEFsL?97=Y+dX04*7c>snC+f`H*Ho``i^W6Th>2`N zQLP`1Us=a5Emz50slF2NRP`58o0guB1;?%UJcojiMPv9#xclT}5J>fhJAFkhX!NP* zY}qD3jg7mcFATwNv3(W?8c6Q={i%k~Qp&`gxx?%3H>0CJ=7g8=5O1coRVT%n)YL_F z7&-jLuzQ?mU>BXAn(rOZ#P?Emp1M{0nh=j;L6%bNN=-BB`vr|SJZ)Srtz4>2d^$3G zbW*j^8FtGQmZ#3k=r_o6KI)9ZThlHa^qTfzGr`(hoiS(V7M+Os(;pr6Z}~i?{L9hP z$CiP#$zokC=3WSQ4V_rQfeT~5qidqfwDc{qWcWW`dK0!<%YzXt}q-hH6{k}F+AZ5cfATAMCc|-q93fbEo@+u3_9gcYz zT{O%kee|2EkQbL&!TZl!Ze>p;k_xn)sHU{i0E6i1Z6z(D`{&V1bB$?+32lVxh&sEot`^)?oGDZ`$GmSxALW4R(zZ?@bjn6OP2EZ{ey8wqfWcca9rv2uUq}E#*=yGIq_-;Srvj_0~4AE9}y>mMS$kTX0pOlNh6|AKc%9M5d2-KuXPo6h>%A{iMSw`k-SK{fbQODGZDhpWH`qZ z<=r!}ftbYDwi0o3ZaY4U7t^TbBtM3GXhej~>aQ352o`JtCpk`XDDoykU2t>ILc6xE1 zk3M^c2cB;zrCnfQ36KTzd6~v_aGvVmtUI1zq6T&)dStI+r5fp|7~)fLh~a39>iM=* z?SLB(Tnsg*-}6WJ+D7>&rES-=2`sBokV1k0m~RE~egUBTbsSn+o_nsaH*P|Ma+iNV zxOw@6CKleDDA2-dTD8>TYpmkxo%8)$1@PKVd#u>omo9y-&CEf7{Ic&2MVy;ZYj{Dm zLEn`mRJyKJf3!fkv;;s~E5Jyby92&t48Akv?FK80fcaqo( z@X@Uw0YTzuyXsN3d&h?wwJ4f%hGH&=INeNCVRfRnZ>uuD-AWrX3bI~$KX^-6bTcaI z%vDD@`{yB)rZVEra0|K=tDNXy}KX&m0EFZtyur8xIXV7t<3 zd?(z-T9(hk$9c}k2bw>kv?mb%QR`Ww`IFE*$1Gmo38E;?q{Gq7tadh?6b}_Ijj5Px z?=_!eX0c&;T#J{K)JQF086q`tvdp&dW0=jU6B{EY6V$YI4KHfs+r-VhNR0X@+JCY7 z9M;;5j17;*nmW2LOQ7P7C+y=PmZ-vBN+`b?NNtA95xy!tteEs0Zj8i2xMZ&h(xX3D->+UQTg0=>{rq}I9?Erq0pux5?Nz4wu zoo=%+_3#R2X69!?_=aIvbq+G$e{4lqMM>kQKNXjITlU|AZ<5`QRDTT!8~Np5 zPV)b~{`q4dMi$VomLmoZG&26=z0jrhN!ZeG-w;H#K}S{0|76(h7p_@>^}E{#jfEy6 zBN-ApdpER3l@GS>&y>PC;D}c{;C)6OG+A|<55cy2@gNc0tuDW2*rC~%KR?yb#UWT$ zHPkymU7QnWOmAp044=h{dIw{@ZnX&p&!Et`UT!Xz0a za_j5QO>@35oaqA#i3<&y?pItj5U>Lz6im7sFV$EBZges}pA*p4b-y55k7n)6UY0<8EgZ|Lv)^){-X&wmsN4>fW zeWx$#2YB~jji~bI(F?}-q`=tKV)`<0m#I_8HkhC+KSBwJMGag3|yzP#%S71LDq+7^lI0ACkrBI zM>!BgN!VfJ=7BAY!%fYVwD9^bt2p%D`MY`+i<+J{IaBr}fqX%sUa7mMnSyNmkk$?H z=d>PF))kR;T2$YoSaD;2e=@zYmv?VCmc`+JFxyAgBjgbs9~;O71A{9SbG2<i_H8&3=9)DqYKCja!8UU0^ODM^#PtS!083HV8 z=OeO56jF2^I5&U=pN9B56y1>tU=ey$p#=$N3!Pi#-KO~tC-0|e-XahHCsg?p+8_?D z>i0OBEVy>8c)6phK%E%}Z;?&DAMpbJ(95>tM3wmm43B>PW*2{RhVsaw zPHo9Q-HuVZ`<6>}S3X4V!Qn*LMLL}5Z`(KX6JCCGy%e#0O+2{&&8z<9;P+qsr9d2W z_E8bO@^4NS#;znkx8f|Em$yd*F$MS*nS4`=8fR|O?c##DlmL9s$!>S%ocj$DxE8}9 zOlM+}t;k>p{VO*~FE1Y|KSRH29;*zxYM$BVaN6%FE5jz<-+7w<4$X1439_NidF+0`>?rIkJd6CY{{oy{GjS@nVjO`4Bxs!ZNvRTG2e+ar=>+mKY_ z9X){X=a{C+j~vVk2(KYPx#i^?c2%znLKjIbd}XbJ34AUIn#I;)tm?gvBc~%{)hp{f zQ9>vo$kZlCsU)u;wJeM$4kPW$ZicmM=#!8E0!>6>^+Cl!=F35J#o8(7YE1exQ>}K8 zv}3gMj)71EuK}M+JdEt$?>)*`^bRu`2kVI%shCDmETR5I^Yb{f2FUOww&D0xgck4E zz;!ROnH1l+Sz>r|v6m^XWP!3Oqp=>F{9JuRc2AM1;tQ*ozR*4iz^>{dS>&-2zA z!&j38OjgF#D?@`&q=Y@N;H$dy&c5ch_z+9WwH^)dFAQXpBdXm%?VQJc*jl#ul)lT&PoOKsykVlDt<0@t z)E1AKYu6=4K^Qd4Iy>x9QtYRpB&Rf5{6^2SB5!%c({sG(!#=F;sK+ui;6aUQH;4O89)G?! zIIz>ChHCs#_v1o1l-GcfIf2Lj!Y8L;xba?>2=k~L3O55Ccjlo9&m^?faT?$X4nH=h z(;YavP*4ncnM0y!SE2LGYk-;S?brsL0Z}tx#pY;|EwoMXuy81PO5e%#Dbx)_7t(vR z*%T+DD)gppa~UiTBaiKm0}l*@FN(o?T!A6!y7#!0$o4HIEUzDrIOHeOCp01g*%V^e| z%FcY`Rb^NzUR2Tgg~8UK&aw)+?tV`ikmfm8MiZ=;>_G6=v5>b@cxUZ|R?+COJ9*SeT_r3o}45PnI zwF|<$Hiz!Cv9S$!Wu>m68->ivrT1mz z?Tv>N@tHWCjw*}B(eyNN7`S)vzPwO0?*yE&LRDg1HKeP76zJ|_`lcL42ql(3Jbh&1 z5*lEb-IeF&2opb4N?%qxTFAs4KJW6J7qL+QUvD?j-<7S1u-CUU5j?%G=TtGdd=3mu zl&rOuU!|p2-)QSlmuQ=pF$Tfg7I`aa$Kbn*V1QfdICgNCdO}@1&qp0p^x1{fpHw%M zQ@2c)k-UBsBOd*Rg3IEj5yGkmeZMf2zXs9)zka}D+?m+R@tV}kWsK2<%~!>`$%ijx zDV%ixl2F))QdTo?bL>?sUP=7%st%<&!6R(w{?FbocSzg^J!2MYv3qVxNq|*My7wY9 zEbQrXTB`Jx-ggT-LXNo7mVsi|WDmiL(e1mBAXcySHsr*5u@1Glq?{hwFA{ha=7l}` zKXc4}&a`4HK!9Kq%h;L10?mbrZH zp3PkF6rCFXL+h3GFARaQc;*dbx~hu4&0esI!f8v$N#x28r2?3TSp?ahPRw92HG zo#=~sJCOuAXg@9E7Q=Tx(JyxlMaBnJX-`9W+{(IOGwt_!Fm9fef)I{?rQw zW_rng+w@^|w}pdm#(iP1ICkgn{$NED3xZew%+dYhgg-vNxh9@eZE2hLI=RB?|NN0$ z*jG!@?&=k@e2SzTz`_W7U1T*f z-e`dtY_4x;V%-A$o*>hq!-cg7as{!@a2yp7b*bgq@#;XTf)C+3$b2FBYrG}s>0 zSsXVUqKdzddD5$!JTaJoz%Q!7aV_FZ8*1vj95e1S{sv&zc%9I!j}Qw^kDc@o^(M&y zyW3`n)mDs&aF0E83YI>)@9SCcY=T&&Yj2j)yXeA^ym_{M`Ub>u7h?t^wt7<`vZDsg zGsJG5s*sV!N*^y?^-p?>ZCSR>qb8#Y6$^eao4##&9FwXI`B4ZndOJJSG9MLCpH`eE}uY_*5(m%JOS%0c-_3LGf)wGfWiEBO}DAq zJzYKRRS~#l{wiH@0ccWl`a&wE=r}Kg2aJ#0t`Nv}B?1)sd5v&#{cb%SdtN^tz++ZE zLaYMYVQ2eH(5zafMWy)8VIOD#KalF>kGq#lD6q{ZlFA2@T$1^liH<7b(=tO_5Xz=H z51}2FP8VET(j>DOXOhLpTW`ufYP8*5CPmNRM_}-h?YQAL18<3VcV=S#ooXZbr65Z( z%(7~YC)UXr;2-?K_Uxr(xA@?K}?c2Akdn1<>o$IVHyfW?>PNa zv`4xQv0e6JFcGLM$l76O@T6Mg!o>y-KH=VmQlWP{BUC7W*QB{>iPtiEQ$g=pk!-@? zenMO7vP$h`k2Ra*kc2u9GRXQA*vIcGhj0dk7cpB+9?p;D<-`bSr#*HN+x<`MUL z*<`)mN^-fBqT$kCBq_=l=-JI0~&KaX57Z0YxHu%f#5ZFAQ8RzF*sC{*4U(?0VsyLm3S^j zKBK3?8QIr3gg>U!$%PszxLBL6yYtGtaKuug@F;r#$#1e*s}Ijc*4$MmAF%%7PU_Kj z!|JMH{T8--B{hgjHr@_Xz(I@nC`YJxVW}q^y+pW>S!YB!dXjfm?cNqGv%=w!lLe#S zWf&goLeBt!0^qs`j4tBh;Ylr^GBU(_J>GsL>ACq#YP*B@$}orS2r0-?;t`6Dy!I$- zu*JPfMti*4!!wQr*hXQ%K|)0x;9;qEFwp#btbn)6>LwkZ!fjG~+ps!u2q||BE|kaoKk}d z%%eXG=8|uj1-W4Z{0<2U+#{keI!H+90FS$=UOP%OLAF zB&ZHNqUD6(MXC;_9t0!HC6sHm^vEm2X;6R5!i=<~jP%yK&l_9Zd~1O~bq!|u+J{_K z0J#2X6iRUaG7-iGkeeYSc=5H38Yi?3cN7nI)^{yRu-R{c{d@^`gFG%ZX@Q4312pC) z!-~2C)lDYtzzQcGfg$~Vx{9M^{wW`3G^wM(La6*ILx@G>ELso_AOeQ7fI!~Xogg-m#m$^ee2!YhR{j}GAu$j>qf+GQUyK!~Z;%<(@ z*@BksI(xGRT_ZNrhu6y9rFcYV4!su&+r5(+`1I&pDmv3is7t-4S@0`yadB1JM`0n${~EGJ=z`$qOGni^;`}gAY<;xMDrs;-LAhF*{GZ ztleCVP!Rp%rnB7n&jlYND*0L-IJt7A5n7{1KjSN(m=rvJ7q7Rg{E`|x$H}a5E*&s; zg?|K+Ack9@=$`(<0OZ+2VSrHVphN?Mo>y_d1oM7G+PTcQr4)mzqG9UTze5xodSHF-1$a}_7B?Qk^- z%3w<~`)v!{OqMe}?-o+}C%1=`%FN;Fdr^u;iER51$FR?z<8;e-rqcoioy5$yYuN5- z=z{iqmtyZ$1-`0{G7E{z8(lD3l>-lQYft0S%j8NH!WCU7w!_3hpQ`HgAEMTyN;Cjm zWFRzuwrHR*G(zEF=DNh>0=A#Ejybi-VPG5L22?0}84F$9>F@Od*FyJCN4lJIv^gHz zrkr3^*kl_2(w7$$=S(LEsiWlUqIAO^IjyCy5q?}x>Y)dBBUbp-wm7Aj8zCu!CmdLO zoi5y*>H6WaU=G>mT994mZOA!E>}k<@weYsXR3xf_#t32?xN&)!E)OXrPY=G&UXFg8 z=R2Q+zwn8{nStS|WMd1&M7yyjW~g6awk~py!P$wl7iz|8TyOluVJW#xA&PCkeK73d z+LXg;;FZh{<6&IMn`EOe45?Tf`r8Or-^;jDadS=IPo@xacwU1oAZlQk#pX=^a1eLV z7lsGx5Lt`4C0V}0jFP6|ID37khYFRUYKG5F1e#`&B~(Uk=?6TjZ)m$#DbY4=LFNyS zI^1$UN%g2~q83uK=|XP87V(RplS&1rfRb?ayE@~Nl3SG$#<^MVWeuZvg7o!vRd4+I zHp6}Jw&HW)QUa&4-Bty3Y+z&@iAEOM;!ROucyV7Hy0i7&h?p z>|ADtHBr@i{vv%OCSYch)2n+|+q5+oajL9Kfk(CrHsA+&sc%{kahT_xnr?Vo@bnxnD)Adap9Fh)~q53_xVqgyE6eqmU@ac58?zTSvQrbN!Y5iKJ+Mo91&It< zq?7PeE+j)Lb6dUXf#cGd>TK;r{81JoOJ*z>H4S-#gJ0z|`rk!{gI}7fx`j=DVIbs? z6(o`Qs_d7rW}Y&Jf}V>}g;+!w07Y?~RlroxmWN9U^Zy^}-aD+RwA~wxj^m649Ymzd z2uh?6B_Q2GQL2;>I!Y)KnzVp~G8T}I^d1DHB?Jf%kgoKONJ0xmIs`&b==d$2nRniI zx9jY4uD!4CtUn--6Vqtf$(!Z=0Qa=#E6A1PREDHhBl?|x zTOW`gsQ>HpMqBzib>R&QA2&Ni|33MzHp}A5_y6DZjkGwiYROYEw{^@}V4M{(m;x4l zty-&%N-C&4m$+iETz!rCH%8}Fudah|)@_9=3S5JA$n~djL_}#ivWYwWE>Zuosw3EE zO+zgEJnzL-(WfU$fBkne^xyvCf3GMD83`X$`epc_zES)E>`A5-fQ|7}6|1T0qFyUp z_B;(=@+QA{*RaLsU{gLzXX}an3VLQyk9{bpg~^r3Q+CQ&%_wt?>(p%?T;4RC!d)sp zD-@|bZK=ydfDLQgW_N^F=p+BfJ;B;B%Z zKr(t=^eZUMIXn9$87`w}+0sZ_zeU65CPRX$lyeul%&a!VuDdXJ!;aI;`dJRNr@cxa zp57&A!&(%_7Rc^*V45(`VCsBcqNrzBbK8hACChT(73?$VV&jFGlN#ZmiN(zl-r%`> zR<=Ihr^XKJ*uXxZnT+H5-odycn_*^=P{v!C@b~cNEcgMX6fuQJXUmiPTM-{bk!sPs zMw&rdX){ol^N`AQcKB+t;$~1;4@{L@tS~Vy2(t*6_7p9_>Zrj%2k-jIO zGe6D5vy%XOO-5;`<%xYwyR;R$mdBBofWDQK=DP^XLJOzoETjO3I#vHmH(i{=_ck~D zAM1Kv(5)Kj_lvNh>ghBaBSe%9669 z_VR(NXZs9IIyy(iWa@A;lMx*&6_TiiYL1x!*yYw>QngaG%|g~dji7l?L!XVEaTatP zhIo3fvIM8CU|?SG^4%2!aCJIaD}c_{Q}*6>iNY*ylmgRYdaq)A`> zOGfUIIl+L@W2M7;K7xG>%&LWc+1m~cnP0Li(#uy3OR*G4nMBlaFV8CyrCK9;fXzp1 zGP31?mGgK$rbYQESM?Ibx`Zey?aTq0NtQYu&<*gmmvvH$>zknuP|D40Qc^;%Td+UD z1LO=!k-@ar4vXEv{q6O*;QUz?L{`?8%Ds72aiej-LJi-J18k$Rvglc{qj%P_DoU@NH`y%B3(6w&1h8Bmg>(?5_bsO!Mr%jw z8^3~{qwULXT`?~uZ`*mEFXL$Ja+UVyJ9-tdf>H>aNB^iY&(fDWAC^MjS|~=jFE6}nQJEHASe`ZLz|CYw4s+6is45SzyYvT~>VL-c# z_K(9Eck!L<375pwtV0cqIP1Gb#xo)SIY;$h&x%0RZ1vIi7hKaylLoCHX_IgD>gd>f zQt&z)Qt*2T5AL0DqtHK9a>lA1T^AXTY1?(Jv6J4&;@~w;Y=pZl_5rXZNnm|a6P4=V zE^W*0MI7AB=U5o#|sn($Hvf4MC}{vHpWB8@hR>#xj@ii=tI@tm+64%90}%S%s|@@X62nr2N;i zEx&SyIVqhvI6DE1#8cIHj&CS{#6HSXxdP$wM2C(DpRMUO&HauB49+SWwvm;AR9fv_#~Qynem$~E+sXhVS9+lvUkXg6LWkkm5tG?*W`(zQWHd=J zw(pX3sVZcn3K$3vcbJEPV#uDPKik!%n?tc|;zg80k0M<4K4wq=GC855=o?AATp!)j zf|LZ*C1MKGG*+%hKc!N!X6HM>Ww1iGw)HGPn4(I+w{+isz$Cp4K9MkUNSun@6w~Z> ze%CacM-j08)zpH0QxqnS0!9ctbGvz@h?i3=N?4xb5$M0W=>!z#qK$KKrpjyivVtAd zd%V_`!z4g%E(@6PHCbpDN*gjFw2W^UR|J1jCs@a`T$a!W>xF^rh84%&k^%WF-SH~W0++&h)TpBTX+-ACa`I^H~ zaXEnSVEk*0|0Q+(FF*WWp2r3n0996jnnyESQG+ejx>Z${4ZpXT7?d5j)gbNH=fb%iMvlM-@8atO7;6}rP6`J+MKECFL zG_8UpvkW`1x4Md!gyx9`G7*<(D9;EPfi65v(91s02oiz@nkO=R)Y@SRDUf<&odI7Pxvf=JN z{>8y0ZEWo^qrm`euX{nD5Xp44VJp{4b}Zy5X$aXytqBPz4YCF63})Ln56779se#WG z85_9wvk(fE=QsjNiOMuD3)@-g-mFPmvGlUtNdGs3kJpV3HQpr@3M}j8ejZKky8ii? zX}lVP;tKhqEcNIV1>*o{%~%6kA%Oo`1le$f=cvsuZxF1tgw+f@UgQ~G})0{dQp{Z zQD)HF_Mvuw&A2muU^sd#0ZOO4(0y-Q*DbwC=G1iHwc<7Trow|hb#L)Q_Z;Ri<@(Om z)uZ6o11OIF1PO4JPT4ip$f&^9zxyIdJ12IHQWg)Lhlr^CUem zY3~B?3#MPj^@DR6@VSFH2ue+ngN7F~8ui9FVWXbExlMwO)RH>uirk8&Wqbu{FuR&1 zCnY2dzDuV1_V8W<{H5uoQV_ER8Ki0!5|htf_aNS1JoZwdQwFci(vSCT7@ammZK(qjEd2sB+vv}fzk({xWB~u;t`0)vK-b>TFQOyoFh1Ai_z|9b zpmXM7?C1}*p9zTl&Ibifly`SwU@<(>M`?;hn&AzGea`9XHT1i9(ZP?mRTQ9=e^2Sx;j`F2_KDgh_wMq^A9B} zEo_V;+%1Ui%$y{xeqAq>d)sNBFL+*E9@wga?vk_@V4~8bZyQN@IavrDKG~@IVva2y z@L25+i)|xz>icQFI*+b7Fq&P@vjTRZc?bb_ofDa>;gLym&jx1K3r6gjB3l3^OMXbN zDtIK%7k$~nSpcLLmW)r8h1&^dj9EY(?>Uzv1$sC?sT19=N3_pZvETtCw~KmigO_@x zx)aNrvO_jyEEN@1M(YCCF-}JuLo3lzmPIO5%|kxt3K%W~7eiQ-da%@+Cf0x`&m_DDo_G&4&~*6!_-KIZ(|{9IC399SJLSllqtR&AZ5 znP19kt)IMb+_5!Y{gS2Y+Fc=n2apVj+ULwiV;X5A0o63m-%-9c2 zs7=WT3YVrWgm#}#DaUu68$i|r8a%T!UHx*&qHzQJq<$)88+7{bW&T7+OzXqWJH*)n z!%CK69VUyAy@y>Vl9F>>U#-P^6!e{mZ=XS~gxpvLq>OJ&Pw70y^bb)G+yeudi6M&h z*@NW`**;jRzpzNnAI}J&JS~ zj)X_|xH*T0RSR&(0NGX#H$1R)w1ae13!rX3;eO|em-%dEZg)|j=+J1-C)b5iXf^|- zkG}m1Qpe%fxPf`gR4bdxwP2|RIq7{h%+Rl{d>Wp(A$D;PG3G1k_$+v3Di=z2*jN{X z5g+IpLM$J1y_Y?khtKl@pk}}Lw$ksn)=NWHzUAjvLtp>B&HgW*cz?bHF1Pyx@7AT| zYI`WtE~z{iplbqI$%tbo+}1;+R1bnqUa7h@6ELf)ws&`MyWha?Xiqc$FEz;GZu3otpe}7W_wYO#f{qR;8=o%ZR*2#BsB^kzbP9 z9gaj*t)K6uYz;%F?ju}mDD`>gpUjQ%JCnS?XZe%I@=v)W91@5?Xt;P-yHr1Jvm+iW zMMKeG)T2)X+Qhw(8+9+5l@5nckW(>Zt7RZ@d0!<|N~I(&g~+$GxxG_S4RjR5p#B*ao!G-k}AurD$Pv(^TC zE@|)`7jx`*QP0~N=b7uvWpBwRMJ};uKj58iGcJoy&)D1`+$d|6-SZ#Vs7kkCS(^**m=IXt^%X*Nwc0j zoL@vw^q@0bg{hlGckm8yrK>(8cHDh4;__uUqP9UIz5%v3K7x6*b~wJmNWUOmQ! z_`xJ>;6v*vnI>*2wyv1pGSWDJyX{ zNY$hw6~>epBX@4WRW`85I+D(tjGCh#hd#G2nsbd{?q1u?rtJhrNvTDr(8E}&AXj+# z)=pZ!Ejb=eKWJdwT$!lKZcLQS5qjb05hwn0vyOc!AI13*aa~1D(9S{YbvbRy&I2PP z4(RUb*FkBFNUxHIKPh-&@@gwJk4gY``YF*ANr)M)dujY$r0U+1OW>uoOy?nOp%KIA*j^A9#mIYeJ%j^EZ{Q=cr8XYe^DGPrO0)EH(o|bZB?-bqL!}kX*_`F~q|l(KyGs)70mKRZl9+ z`$Y-D$JZyVm5&$gvhXn5d5)O`k>7v*G2s62kmzM2v*w@EqC@fBYc8H}CVB?{=hLb$ zAdu71okYtbPnT?beP^96PN%aWoJ+g9hKboZY3i27+ZXrPKC33QLpr;&f1NT%SFkRQ zl4#77H16{JJU7Ck9>VY%{w!S)oITnQaZ*~yj6lwX`zm}m@hj**KK@q>Ud>NfFuDjNPbG|U|NzE{* zO79G7?$#8UxJ;8>2{d^~{+X zW7IR0_@@DFD=BF~p;`3A%}fKTHSnw#S3Vrv^|GL8EmlG(#GW2ItG3=w%?p5cay zHna8(?Orfu6RuQV|Jk`V+~gLUlWEwsf*X-@!$XnmD=Mo9>`_oL+KWEkM^w$@eH_?C zY--|l;GL8#nn5=g%_MmF#g0!|4u^CwGDYJV=4W+TO=%lP0bU?>vsD`!Ul@0IV8zxI z_M%W`^JEUx6=SIUGSenzQ|D3oWi9tt3KCVha6^IhyUWRP96Jj4hwPM`hh+Q-AyaOf zIyO*7->1WBO-^plo~63~M#uUzYh@RasF8fd=`NW1XJmJaW*x^1%t_4&&vHC#|TO=I^b}|M} zC?u^B64LF4+YpxRgVMl|zCzbbIvmP+vqik0qYtXLXVhMi)35ece}%>#PFh;C4U@fh zZzvxV-R=*G&iV$t$pn{i-yW1j_E~9mNhXfKAf*jv(CzhAH9RNXyA|L_oCVE3fQdSB! zgtI$iv+5bH|M^N)S9Qn9-1UZ$H5AG6T+)|H=gD+=CHWt78YJ^J9y8R&tJ~uyiVzUBmmb^W66+1K>wL^q0mw(U7<>ig zVu9#xSkxE&qlMPlDXno60eU)F8Zm;`J8x!tH&-uJcxJ(xHaSce4U_|7J7zg%mK1Nz zx8cprQ{UZD*w3-+y*4{wt<(vwpiO&}b4F(mk$e$h977}SP_12t#VROQvbL9YR?88@ z@H`2KCsTEvfR*WRpYP!E-g%V?>|(#m#dp^uwHg+ln-)`_1;Gd%GrD8huWbrx}RNOoyXJ z9aCu$ht6)`eEHIjdv!$bF4kFXve;M9EgY2=p*4!`8YTX858~w>#jS0W|8Yi}gd!wc zrEM5JU#hVVS)^Af1Zu0JPUZgA|1SG-n%1Ah0}Xm?`C^#cBNI?NNP zaAeBt2My7M12*?0{e?o}`^lxp1*t_D<|lU`5e+|f7P=kCYtlo1yRt+{rk#CbL#vgoyJgTOKcFNLkZLzuc`xm>3o1RhvVY zaM9B{M%uEFhKVTVx}u*%ne>O@DZe+4o8&RT`6-1xIgyoob!wY}9In z7}bOOQ99P->C$p>(x9)?dneVfvIHK04d?b$}5_U zyxW@~79YrG9k*X|IlgfQFa%h1+uXh039JT$L+^3*4$c@>iep zc|&*Y;}KI52(scUXk>d7*|~h^bZeMGqK-UZc``BYCGTRnQfkLNKK=CppQzZUi5Sa+#FT zN30!~fJ$o}YVHuh*3+>#WI(D>_UXGm>cBant1CGl-L42RugShnCt86=ctlp+P-lbJ5_yd;}|LS7!PKGc1^EEaW)m{Fp9TFGXZRf34 zqdLgG|J`OtG-^ti&)2$5GBIbsgpVbt~SxX6)opUXs}x{ojMQOK=HrsL=8l0Z7G zUdIE5;^6R|x2@;7l|t`Os3I9#yt^4D)JtPWp8_Ootd*$-zwtj7vaGzKrdKUfsJbe< zoo&8MvOKwU9HT?Uxa||QQSrHj!@W^K3JV^`@Si8zLiRWhox(Uro(@ZDrHV_uXr|J5 z5qY1Ik8-p{bvZh88~_g@=%bcL_Trj>f$ncHLjta%LmGm6#b^E8hdiNkJCnkOyy0q9De!=*!|Xk1E5mENG?=WLv@0Xak;AEAST zdyQ~VF{>C%wycCZChB#g)Lx%b`Qxd*7mc|Jn`2edNSi{Q>-4noDlnWi!>D;(dIN*O z6ubw?V2gkZyPVvE@r#EGY<5Cx3h|`}PL_runqfeSG~BW^uc#6)Wa8G%oK{HiG*$lz z>|iMvo%Ue&=A74#R*T673CrNk9v*b%x+B7yJ){&odseNxSw5)I#U=th^zyj*g!7y!`yoj1-he)veqhqIpj&Ccg_B@Abv&d5>igyvAhh ztWRiYNQGp|YbHp@;|?pc_A+K&J!!dEupOcaOox4_!cl%I_|w$|;#asBK6F z|8v3@tfDNLEH4+jwa8y`^SuN{!(&N0?fLly)dKt_XP}w`x3o*z8dQr^vCEb?2F%)4 zzh*NEwjs*<>q$N<*H?8B0=vKZdYio}fw?(Sq&dbt&Cq#2422Y|K-$qC6@fq}a=*?P z0dsNG6P(04T-ab?c z)t)F)UbCcvebHAkHMJ?iY%lvZ>S=tXU36&KNt)YgT0gX7p~AwxrJCJKPX7s|vuN2< z^{OOwmb^|-qNbJ|h%8K<@2P>I3L23*)6c$CpMI%LS&{O?=bUqTFzdqP(4B4;ie^@} zlt*`Y=~z#`RzOlJWeBa8KtHHf^1o=FgR+1l^6Wc?mogpF(4R5R8NrD){r(vVUPf;# z@fGO+4h(YYrINsqYB&gjH5D zy=_;<3o;#O^c3t8O9~Km?HmdZrqL|VMtFQ=uvCGo&(8bFho3urHwX2w*wMXpsB%-_ zQi2cUgV0)8sK$F!XY#X+3iGp@>rc0wCt5#79YIj`J5kLWCMSiH#vMW|=Z(|+ovTH+ zjc;B#qg$V)0f-^4V08=z-9EVh0RAuHN$*s#8S<_>=E%IMmg>BnluymGBpoj?L#lu5 zs{_H0#ZB`Y&+>i7R8?~Z!HAE7mQB8IaK2gJ~D+h&r zc%9z$P_IB3>n_f|0kOOuWu7vahrq->C1pT0yNr!2PcufU4Q28;E(@f6eh~X%@*LdK zX^gJSuTs0%i&YNrRJuh)%#E^W>1Y=_MnJ8HVh;pI+w0KUUN5cZDTw&Dc_sq1Ymuxx z2(jo^qJv4uaB#@5&+jmIxv2=ovV&<5f_B>cJqAy66;2)GCP6Wzk%0#l2QFWLQfbjT zk3dlQ0HoJZo^aYi-6beeif^RbM1^wAZKn`{?BdCTb2L<7OTiF@r?X-*oBpf*|(QYw%KXGfow_KQ{^SRgPpPjfs~ z#FABu*~t4}L3JPgL_VaG^t;^Dch8E;B#36=LX2vJm}6td8=m)$vrgJ{Hkf4ARZCDl zF1-2*in4vztCY@u2;C_7;^tBw3n2gW1F`g*7_@J${PG=U#Ks*9skZZ4s$vlUJp>>k zFcF8h&yN)=dLY)1zk)o1_^b|%3bnfE(iH67rEe15#7S$qK^NE)wncvLE9fC~jGYeivzqWk^X#nu9gB+Lkn-3^J#`nGq_r6i}<6 zWOi9DK=*op9(M1B-m89x_m+wg-R~aMc4PM7I#m2E@`1_oFs`{NkB+1Bz{(ZVFFF7FS0+IZ9-MOr$mx-(ee={ClO5 z3g}Lxw=PR`)o&92Ie*}hiHM4Bs{2r@OdFl;OOow(GC=|Ne@G^X5tcBEM95%5fhwYY zBRkCb$-oq0AH?wOW&?rP1yfA9gcC>K#ll4uygXAbQqtyV7L$PO(i)*H%D6x*;B$+m zjIm-h7j{JXkVVvxM)yvpUVbFZf*~0u0qC*u+*XR2%>loDk*DeMSJ1nPmLQkrA*bf= z&x*06Dj`py9Gl|kf*7SC{1X4zN*d2!(__ zKF1+3Sz<~3l})5KpfkUJZ{HtZPG<||xmF3Du{FBF(Vi+bZdWM5oDm<(fS2GmV-Q?zVlaY=rkV`nQx(~tZ>TTMfQr(s_%oRVYt zQDt_UZd9aW{k@U$IZ#|QmLZ?n>q~s_?Bs`n2CIW>+A%3Lt~-$??_F$8y0kkM38H_v zUUoZUpEEXHP>RMTD#LNKDoOigyBPCpC=%K`lz7o;xv_W2z{ti@Hzv;qyCTwi+%C(O zE~zc=Cj&nV`WN%ge`?;}FC}F+!Cl$z=PtPjLC38mX_nmnlcPlGw)9|QtJ;$G)KXO} zC%Q4WlY@*Ee~-0pcoZMo#ECCjiO!!d#)PJ3(w~%H?@LvEYzUn&ghukS95`yT_zxD; z{n+U)n1Td>J^}yg5EUKno>l`Xs4gx!b^LOze6xeTT*-HMAYQW*$M-Uuj`dJI)2Edo zd~4n2&#%ux$Mx&IZ~uMb-);N$ z>VH#>=SKr&D0GCW5yZ5GsMb?o{H@=pdjzqLeL~>kU?F;73OM|7kjEc4#;U`>+jGOe z(T0w-E-&XA&~1F4=9P!j)2=KcA|Q*CU8e3a?Vno)P1yuJDYw(!&quSS?xz;N8UW1c zQ3*d?bX$g%w!B(3Qj%F}Em$E$-kS%~)&oMD>SMl!m8w#tc+XUE85C=a7ZVBgVet66 z(xrO1(xkcXurItu@b0#TUf$6IrhUodF1a--_>o?UaI>AaQ~K5ZTt6>@jNHgiqb6SN zmmYXI9fp0l8^*(PR0>;b%ow#O+;3evCvLQwoO+tSYjoGFVzo*^%{b9h$G)KJ!*ml{ zWL_919#6``ofJ6~t8^M_#8NQ3&}Rj4Y-t$#aI)*`9ou3vyB=)IBeA3cE{H5{H8HoZ zOfbPXV^>cG+OHfdRLt>0Ka<9*3KB(EdR*p^40=dDXl;$}z>0F^z%T*&y z=u8D$VQe0itWOIn6rvW&B&xflau%+y9e_nwl(p}t@;C;cwGZW0Y$$i%oZkF6#TFT3 zinR3{D_jgw=wPxjI5-U+6q9Graq==Jxr>jm?-qLOILnxx(i->H_mV*|;&jf%Lm8PG zF~K&mzvLxw-7l-DZ?UpAR7Rhng2757_xA`&XqLF)Ue|lv3jpVcnJ~zVr2g_7Qc*y2JvUjQEj23C)LcQdHq>g;Z zLbQT`R@Z=nkgayZ1+zM7{U17Wf}NqEJ;uh8mk8XP;pU_B7yvs#xte(QR%5Hb#`iAOUq?zqwvxN`a z)F|8nFS8P1kdG|jW}x@!(}JrMhm!=W;%OVW%lYUkZ(}#fub>3lx~R*!dV*h|fqv2W z9!5eieVB5vHN-*i9U?Jjr^lB))p}h)n?jfXe$jra>gh9exc-U8%cm$2`l8DJrrBwkQztEs~edS)J z^}fnmI}`6t&H5zsE0j=7qMF;Wjj>hZHn3v601vNUUN#`ZaWf_V8{O<%#Or+*O2$MI zm2RJS`>jVDlrp!E-JF*QccLu-a%<=0on#i$jEl?6*r$e{fGO)2)T@=4JJBveC{+)k zR_Pa79<>h)%d%cb5wD2@D6$c;dB^qb;i_d-lEp9PZwwfPNGHg;j6NAyNk3J4QJHSq z8ukTxQ!FKxDF#1AS{195hXB#KEXuWxak8YnYieST4ef`F+{;G_ehcY~yboA-4UpU!rJ|Wg2;Kpr*Ath()VicbudSgPwQ;L6CalQ% zG?*mXryKIl<+3B{ptLM@)MtYS#ehO89LD#|RN0gqk zKgPXQHfMwiR;rLWNpEH6`%Q+^E-#Hh2j{wCt)Ok0ffWDSvOZjPEG9x{Cd$+ z#!xxFc$Q5<*vM!dy?yk}3AcIQm0%JG#Mjy}Q5@dZ2SBHopRg9A5 z$iNV)l1x$ryxqv|6lA>b{g+9PsP&ML&$E+;OWB&*2-w_@teTSQG#k&F&@WQuq4g|k+tR?cumN1|^2szMXW1<6uueH%4^S{*%{*th zCXin32gtF7I`15UVZ`b*%$!l&0_~FR>S8+3=FocPFL&PzQsiA?c1;aNk1=)xuJa8J z@t8=!DY$wTam>4;ZGD*7NUAQRDcqXtCXnS)@+$mExH!!I7*0&ibCuGLb9Wi6u9G;rzW0zFvSnH6b(ILV!!bD^8e4^NMn=XF;SF4$caBowD)M^yM&l>j+ z>ddq0tv=K6R=Z!FII}A${am$Dx^jl#Viyd~JPnpvo{SyhQ$h5d0$q0r2)o4Gg|iYZ?+~!*p0#y!fd- zvtXkFC;qN4CUD11z0#TSfZhaT#WL!RoZvO%YGEl@riwYOl_C0&HSktysb9>? z%-+?7tBPrO-It9Kqg7`M%kFkdIW(l&1TNBRMh#|BuX6doXa3CD{ILLR;ZGSp@|CiR zG_pt&ja1DBP>{?l<=dc;kJ58Ky`uF4ED7&`dVFSSn6M3n$G(SM)%G@<-Q+Rxr9%gKsTDY4QHtR}j9dG9R}hZRDGyS*N|2%~O{@ z2OpltT5=2!q7YjSvBZZh$n|iF9qaM($kE3X(3wA4@}GSLm+O4WpG9~hW^ocOx?BRC z#KVzaGQlNEcS!6h4dfdyM!{2e0nSpmz{9{|`aE(<5&u2pIh_YHUKQp~A=Hm+@xMC^ zhe|cm>({nxX-A%t%u+O;k!1Gcwws2{aJQuN60((`*A>2a^9stZ)|M$moiUr=nUY&w z-+);Ex~zYptNhCk|95a#6!{Wv@%WbAZ=bdjOxr1HCu#$-FU>!!w6$9lMC2bBpZjgF zuunm#PZgrXo+1hswMC7K8DotD4i}s-Zw_3`Vsq#R-!|#i4+kLED!NA4Zgg5F_f$Bo ztl|Qe@N$5Ca&>S$CjTE>{kD!T$=#8#1azxhzD3u_DGxD}W0W)gD=30J?2GGuig_ZG zJAbt&(aYuGHieQ$IQL9OiNT`2L-oXfmcrQMwxNWJ!B&w!Ctnt_cEtlOYNEF7N7H`H{si_Sa!YCXjvzkfP4JJFzBrBS?=eH7| z@O%K5ng}Gm2uDS9CTp$r6FAQv_we7pN86y&*`oOZ@It9<4&mU;h> zYoX)$tfHFqBtq`Yk18vz`q8?f=y#=??q5Ma-ZK4S;Pu2X)kFfD#(RKK!q3wQ1(#5l z^an_Zg05jryraiw*NY3T*9f>AC1j_sfbBOfq!+g zYCkMJxHMn7@}rgqgmC@Bzq#D`YXt>PAS+~pf*eh zYkQRFS%H(0@+c-d_x+$N1F1iy;{Sa<8@Od7Br`3sRQoi z2J6|noHROnt}{3H1u%Vi)Z6u2A;b_%Mmbx8zfrXjF}4GJr;%dfCe zc26Wb`kn#i;B*|n`1jDXmUbRd@f3L`&;D5|=e=LUhq#ov|U}*(}8K2s*y@p>w18#e>`=qrR zW-^qZ+w%v3Rp-nuov`wacVLz(0EAPo2x>s#FZ9(a^n;O)_`4#@cN5r77SUmWy_R)R z6#ZKNq}o@|lbxfD$)bD^=NDj&IupL){9%?mUjSl=?dOOKELccNi}BDYwLMb zfd`}VGZRW?()`wNYj`rR$-IozH->Fq{=1p-+4n<2)fSV{OZCg@s)g}fR0+SC3XDSSE_c^w-xy&ESgB%Pdz2}^G89C5_ABAC`yHOA z^)l=L3xf!RPTG46ZyLS!ojnq=kTb&Vm}Z@QJ$H|Q7qwdJJksUTjbSPEZ1f|)BZCjb zsV$P5yCSB-B$+if)Wp#AqaYJWdBr`ToMd>wHw=a{DNh-IKt!N_PDsSHjI@}>isr$m zQR8jySHsGL!GYcDQkJ?XuHm(lxmzs$75dyij_O^HpLbz0ujpF&#@-NF{2tAA-dN3x zFZ?{qyY_VNjBX`sdi;Xh%1A8HAd>X5`l70%K5v>zNDGt(` ztMwPYf~<{5erj3Z=gjJo1_mm?G5?2VjL~0N>;GX-)E_hoHuXtCXN`K9yDZ&WOhcsa z)3pIH;$ghZfnZ~XSk9UBjxMEiMkdy{a)c_z#hhjul z=DxTe?jJa*Y-Kv=GDdhJqMofgt-l`@V;#09O&dyh0u`=mHG$QIDqj&dKxPe-`{aZG z2DsS=K|g$d+Mk;D@7|L;zCClpSKD282d7#i>?B=;0Flh3~i z=(O#n=gnd>sY#OTT`l6Sf(XgWU*?j zZ1uVrFC6s@jHzd)!5VY#pWshUZvC?a`kO@6t@Yhh78{3mz;#DU_o>s&lUff%+_J!> zxz8ZrLl?seC55Oa0fpmt31bs9rT1+v)b`19cM}Ri^VkWh$;W#XyQOgJq;8WNl~S64 zuW?~+()ca8KBpBhUmo2gX!y^f6QGsp4hv8q1U2PJR@#G;l@^=I!*=7Bm|*Lj;$F;$ zUqMDTYofOb#F7?a2d39cF(_Z%N^*GCIrCks6e+dZrKwkbzk`&)vib z0++ATCg=Cpm_^}Ey7(XJ5+NH34P}LZ&`$Y0se+fR_62n6t~64qG`C;Gy}3%)Yd!!9QUyKC z05mYg`^?ptFQ%2-IX@W@7*NJ6YSQl7yJqw6F3CCbVMGzvX!Cx-vG%qQGW8J@dzd`-XDyuh9dwwJ zc+usBDQxVK*3ng*Lp*c=0c0lI-+y=OWwtMu_h;Fyd8-I!SYWaSgBHmPI>J2#g@Okc zw_MC+6kH=cX1;>BM^_lH+6_mUFDOdkH`|iwyhG3WA_{%+z*#z3_^rN;Biu*EzyI*F z3@Zh%wB6CRE-vRNiT~h)^or4a-goEkLNjhaObrS>qmAl>aMNmPjZ`$Yf?PZ&oqaR6 zy6kZh-Z?+5GmkYS-Bgn5`NnESr1VI&kKJ*|TY9WhWcH6vezImC?iZ$02`g%y43IVf z6#Z8%sd?!EJN>On=J|L_%{v#IF#+AU@+-Ou2{PW?)a=w1$#*jTVV_Bm)3VgV__3x! zIbLU_%-Ot%{J~y2ff45hB$A(x*jiQdVau|9i!fSl>*a$unOk{Ykmi@b4&h1T23mq_^Q@8?2f&xktLmscH6v@Snqrv^LR124 zQFsapqVvw(_@rF-+QsGCh1Nkuqb<3n{k8A!v(FptE$ki-{u=rB@8o;ek865;o#1mX z#oPLn+UWRGUda>Oe-6RC*Xuv030s2VvtuPfFmLTYJ`g2Qt5md=!C|!bsQddc72fIe zv=A=}?OqDo2HeL+L}mH2Gp1rHRJtadSqC?NHWLaw|}U8wZT zq*K2P>ZiPa%*(P2T>pFya`Rc5JqAuaFnz(>eZcrvUn@5I{L$C4<5!)01i9tE&F?YJ z6tcr&$We6AdxeA{mvU5Y+(r#B_gKk-CDrACTNA_lsV4f^f z9YVOCde`P&%6HLemm)xacAiBSJ1wNSVmMq{G{STroDi-%UlXdWL|>) zR!WD`;icb&y)^aZ;IF#fP1DgRT7vPWfwW+$)FR}|2if9r%8@K1>J#`3t^$UdSC$oZ<(96 zylfv=FTgTAJUJ^O8fQf<{tt8S9oAI(tqtSo=-5SiS3r+{f3>Y9(3%yDS5PAu{gY@FN)fxSr@BGfWzVH36^ImWM;Mxk=*?VU_ zYprLkd);?iH6@wYA`&NbA5feh_Tk&*7?obs`0gp}Wu}Z(#})~K#cD>XeeySJ93QIw zbm%|BK&xl@%>fVSH=lD70X~14s#mFB@iL~;pgY(o+_lJ;ARxW3w-x6}yZ+1`{0>;g@3qdp|+|b7lbec4zi(6+~8{*aLBs$NnD$+?kerZ3Wd(Szc;Zz*I87 z>a@HN<@AfLGVK!ih5>CNX}yV;++i7)ywZxRcstbat4MCR*T!PU%hq~^Ji8=n)u&s( zT3i8&=k&%{Q20g7vEXq2Xf(nsv>bDEMHP|Buovgwu2-EN3303{u;(qFR^phb@!kyW9uro(+qg7Q(02YKufC(6WG_WWr zU)NZdtNsy8+Z~$oL*G-a^zFiOL-8IyfxTlP8$Vps%?={>ch~=F!Nce6Y@z?gK@jpF zc)n}^WmW?h-ptY+=8qazl{u}1xOXTJJ5JOACeUM2%+i$KG@$+_u%hMST_RWAMIB|R zNz8I?MC+GtD#fWr9xJ;Npqa(w_6QKi9}T);Z{}wFSqf{L?2>FyBmoqN$+8^ZROI!t z)Hfyhs#Ye2Id_U&4@X!yH?(_sm!IUJ*SKiedG8V5q?Hgiz=?(57py|NCsH90=|4p$ zFa;R5q%I)qKKaCW=*{xX$4P#mkbiz4wzQ;DsMJ)hBqTrbs5@nBNG>xJU)YaO1M0No zWwPI*tT;roN=G)O$#Sto=|MVn+q&@1Ukwf2gs3d5v>RQ*pCtJrLjj;zqs>Vd7?U33 zeB|vZRIBm4zTL;p7k3)8_!1X@@0vhU=}GJ3X_t(5b7(^)Oytu566q-81Ggg8b7ome zWw}=6!f)Tq%?iG)vu(k90^JXsKZY<4fKb%;bya-n;N=_h$$7OW`n2M7%(IqMKt9%t zot^QmF;P%5_CsZ-5m8rB@pxE5_GP7MH;ZXdbG44ilJS8QOuXCm9IVtXG)t-cP4}}x zFQ0nKoWi4{fC6{&wdux@Ru7TGSKXoW8KW_6*6&mxKU1ci@T^pRG3ZAGhy&6*r9S1v zD-588caMOUzqPFvu+(~TQy6RO{pZ#X@sFB3mE=pp+Z@6_JKO$C4EOz)7_R-VF}!6E zFRt#v=Sz{@uuG~Jki9?oJmn94`|3v+84969NAa5V{WZ~y$zK9LJWcQ8xl`9umPV4G zB*A)+t-XptlFM@N1{Xe;Xp{HfCT~tf4!p4{0GY=~AvYvV`CS3EcdH(w{%3RIzg7fk z-}4N=*GG!+a7W9m1h*q^^OZ~>0loxQj5~tOtgbq?ERR#!AlxAYVEMet%pf8%^-Q;$ z%S&z87T6ahu`ETZ(rPSvMoFB8FXBAho+ja(x~FX%EuvKe4L@XpSv;(j2f|X)(|@iX zmr{+C%qdxs)Wx}m28|_`-=cqbGQ`iQ53HWN&hM$!7_E2ETGiuGh;}h87mJLKDiUGI ziLcb0-LWjDcnx|UFYD z39IXNk{l~&=z57Dz_J}R=zJEI3U@1I6@-ag#Hob zyIy2sg9OI{Y&w54Q{1^+qrM}*#_u`PTE{Mo0sZR^LGh<=N*#8ImbIfqc))<`3gOm@UW2308h47fP^AcvcBTn5nYU^8XKHPA+C=&mgY>4d5aw1K`8~9xSD>SAW z1kul*{}lT1uHfgi(APR9I_vT}ucjPL`TEfMmV=vy5&#nq3AXrZYW4Lk-T96kXAJwJ z)D(kZwHmv(VIfo2@6czrSNSaGUp{gqMzQcUL`N%^(fw9!gW!*BjlubGh5>~vfU1q@ zbmE)?SO-|pfBAwEl8RnR3-?FuEt7lBw&5m_OjlDQn&Uj*I zkV~8&_Mf@no#Y)qX8|Solll`vgxT;p&^GhYnEZ9Rf0qSaPCMgkFn96Em9jG1Sxb{>{;bNc&yEjWBT_kmw>J-7ql z0n(*Fyi{+2eB*={Ed{QbbooanW;0!Z3>L;1_ywqE@{(J|RE<{jCsIOQQ$)iRlPro& z-_WSt+SNWS^WMP7W=Kfti(ZFZ1<625jr&-NCgnN6Qk_buUJxwh%~V)52%Y~*y))OK z!4t5rG!*!b?g|}~0X+m}qerY4dHSz-g~hlS5!X$UX}Q|&V7dNb#~)eWZml>vTH?(=pg#}*sH3U# z`Z-7A(`2K5LsMd?c%X42M3j zH{tVpFz!Rh-*yQMa!%rwR73% z{N79q5P+|w^=7n>HH>#B({M#X3`gN|vAT!Bj!YS&w{kG>@(DrMWL-=a5&)4KFPE$i zy@?{(Dr(uH8b2RsPw6{c8m43KGX^HCl&;W$PA^>?MM!9E`RI%mwE}b)wLnFPMG?et zM78UwNrP(yu96ff=9BBM=}s686wk`ZY<8Sr6Oe3K)Zv&I+(;j71ZYmWet9^@8T@o9 zH=;aaU&5(ohw*wv?p)h1l)2KoE72V^x)ZnZ!@|N+GI!{HaaY516Wo8>Tp=2H8n}+* zX%oQ#*~nEtw*qxNfCqTIoWK;TcW)Ru=_FCywn`4jb1NN;Kl3|jNt$V?dwXr0?%1Vo zMs>ojYA>@>`Hb@6&0M}eQWOg|c|2_;x}q6GJ?EuJ!J!co_$H`539L1$iK8Cq?(x_= zBoYGi-|Bye2AIKxQc}BaSWJ@t^3rneW~=s0vWoP}1XBO{^+hOCd`9`U!gMjRRS^Zk7J(oL)MDj8kM8c(?Uxkx z*pkcpNMoF%j*J3M5QEL*Qp~J=pZOSi@vLjN0L^h}l9Ngw;Zo1-sJtQn7 zq)+pxy~i@qgJvh3dGiGKseATr@(f%|g>7J|Q1rDEB@%t-#E~#hmRi#-E zq2pmf1yvlJB?8C>xCsU7!>knp!K*)QkpngfQNJ)6?NyJ1QDHLw3 zHxr7EtoBQJRe`mh>Gq@=c}i#Ky?@=TkM(~$*X+48G1jCN-dJ6~n4ld6)iq!}D&VBR zoR&&p=qkh(EWjh7phZE^Ud4{*@|}Zc^u4|OmYw0ecb2&h6kLhDlF4Y6h}ejim`&H5 zbChvZFAjJWQC!PeqEoKWOJ{A}ee{-7gUG{8ddb=Rv!e@k6qZ!-2h&*h58vZ7*0 z7hoKoR}f^`Y_q{&p|M@p8Mg(Xb0RISb$wRuIk0|OQ#P9XkJO0VO!nk=C;r=VSamM$ zK*;YVd|h7UU!Ap01XJ_&y#xSMQO5BS_+m>lYpl*tvM-rM+B zjW#B!(;{4=DVTBr0`t)cRn?gqe9*C|4mAd;hs{R?ut%#M{1*XIk+zA*HuRZ1M>N%I zI*haNW^Z+yhV`-dJSa|-S%dBTj9DqvXVR(2smeIEwx(?$5=t=JB3JgsKE!{aGv&;+ za}LnMoh3pFmQcvA)$Sh4>pU%~dlnzZF7>F(I`Y>vzUue@M>GwKDmN7_BP#l+E z=bC0b>S5XU@X>2rQRi%H;GIH`F44fGywpaiz!LlRCe}@p2|$CCFXn1owQnN^GrSFf z$R=??@ph|RRe zB7W_Y2K2Wq!q$y+tlAJZxzSYOxoHvssLTZno&+)9O}=4=9L zq`^ydR;D)+tE1#Jrv(NVQ$&m0RfoOFTLJ@i57LyHsq%AbEhp70=Jgs(;u~L7v4q{| zwEQf9Uua4d8ehG_;I+9)s+C>5CuX(StjuO6h{z);+S;HL+mnBb=bl2TVj^4yL2W2Z z?tVaB!KN&<{+D#&Dq&_qcMaU0Hm65H_9e5vn*M-C4D@YQT8K}FOcS2iL#?{KD+pz~ zf5j9Hy7MP!+Q+i25i7;~EE;%;Ln0q*DQd=4CJ6l{0A4->mDRp%kRPKIak=-A!Lk*z z_Lh?Fw$-l1Y(Hjd7_BzbhQ44+C|d5AJ&Jah2)!Dpwq|Y;gH{)fw>o09zA(6G=HWbR zJo+@FGI7qD2S)$A(|hRan)ZsVq+b&$%bI9#HP4 zFNC)4?Bpi$p>GsZVwRtH#@sh|foKTh8;K~08npt|*zKEPI*pv8!5ns+W*#oY2M@PN zCs{u!m~f24sRglEwUt0uH#P>{3*S8`RQg3bs;)we)6Rmmbw?UQB6x1oS zKLtgV9kh{UT~dyy-(?wsl-KaiRqzq;nd}X?B)l#@hx3~XGK(Xx5*ul%D{vYh0c4ac!Q!_ej%#%&Ji?J)k<6x< zZ@zq^!g0lq|501RN4P9+VU!*VuLy*`pfU`vTef2uD<1VGvQ^EY6Wp_az#x!4TKwt_ zTxe~Y21a=nXGJXd@Y#4o1~LpwfCj03YSHEEo)tnKn)k&F8D0w}6cOn$%gn;7>QN|x zWk+vVpmtJw7Cn8J)PSW{P9ks2HA?;6;%v?Q_Tn&ZaYhJaFkovsPwR)YdB$hrrsJR6 z@fqBFe?15)*r_=kub_1NK|eI*I@X!R`ke`x zv)nbb3seQj-WWb3eMCm88vA2dD2_Z7$si6mG8i|TSuo7Ka|9sJL%!Cjg9?&s&KP{5 zyZ6B!COg&sq6l(7s{nQGIlZ2yX;{lPqbJS3x6|sg>7<588Cys2K~kFny+b){FA2Mv z!?StrI$r}NS_r}0SW*FJ#kL4u2HHJyoV9}iakdG14^jv$O0|RG!q_vf`xNUq<`2N_ zMHFfqR~}ZWZRqaqnH#xgt)2~`7}>}5$Y+F`)?Cz! z%pG6UfaZ7vFDGcopXsVvrq0!Uh||ok&lD*^@@8&WPUm!%iD~azCgtw-nkXb2+lIom z;M4hiS)3s>HTQVA(O|%j8j1I&)eR6{KK9MuS$CJM%brAu&>Z;?R$<{4kjvM%pi4z0 zmeQn_G`(8-$i765Tt^fCH#)xUTK&^a)(p%mS@<3xS!Oxv5WJ_y}amR_AhL68K`zX3# zyS{DHa=#11=i6Ro-MjWMQ!Y?!$HxoBFn5l>zufz1D&e{iHsKVkSX8PWKRu;oLJM4m z3=ePnSN6H3-9^&JlhPIgc_V(;F17X&e1Avh6V^^gw=BL_sFMpIowIp>2}`v!jvBR{ zN>VYJcZ6Zw#JS~t&Xwp~G)Jz>Yo?v@6m?gg4T;j9ZjORKT&bR=Eo!s94Q49M-A^Lk zRyi%2aJ4XIO(e&iv%Vq{7HHv$S`NdbNa(2!#D$D{m7xHL3pb4{dxs|z>@AprTi_Y& z2&}f!X}Uq?bxIMycwI1T^GxkNWOZ1Kj7Sh4F8SkXlP)L8Nf+L`I6)n{V1=zxRZE(u zxtApd=cjN4cw(j63h=*wl0UOCvAQjRwzvpwqLlw?azoZ@DF#0=fqoK<2}y%L?4r(2 z>X_CyM5pjb7ZeqB&&Mv#Mm<3bt1o4Yf-u_;Ggsc%_?0x;k9M(&tPR?hE5gln&ZiA~ zgv?#`;=6_Ztq7-;jTE5`7OJVD(9wfv>2@+2q6RTy>)DCCw&dWY=pZYero+&OMV&Fy;1+Mi zER$jsZI=`BARH#KnON%%JIr#*>*z3w{IjY4L5UaxXw}Qc2_ftsF)Lx(%S1|xU?)8% zMSDK1cHDBy80F>^pD5ESJZ;4ppS%)~pH4N9-@Od-^IsUgtnjE^H_jf6DJXKPe9<=- z$rSZ|i0D^M40QBb^2Gaf;udE7!`~vOkYM)D@G5$y#u0zAfMnjWi&-Ejur_k8Q4v)! zamOF~yEhiCmYc`5Frsq#VRL33Vy5|FK#TnP#rWsCErdp_li$B(T zZ9XLNHdabWiQic7#5jx~gK|m9%sJ1+_9*L)nddB7M8{0t#c?KPUxkC_?~EijdC1*ND(h@C#*Y)|M7t%N;-G{cp7MoDbt?lNjf_VXIazRqk zJ9jbL_|jM116J)?FJu=@u`j3R=?&$SekGnE=VLG-%Y<-Sz@?X30e!+O*E_if{D-s* z?f$*8=5m)alAZ?25{l2|LMt7`;Gs0G*H_^Xig(r>D-grJ3V2uMqSaG z{%og0g7c5_@XZDgQ0N_@7YJIwMbfe!0GT}3jpyvh8k8mt^Yl7(U2~8bCi7eddvk6z zX|Ye~)fsD4(ff1i%oikfJu9lp;U&T&Bka$cxs=Vv_NLcvWI+b=K2a_+FOC>0gvyP2 zs3Hq?vt-)k6kf|jrVJ0XfZPf=4ZCX;HM02CMFy}81DG%((aZ8+p2I&{W5E5IKDh{l zHw*p4tV@*2A>rRClDf>sUF4=2LO_*1|PyU^pEJq=lZ3eF@1umE0D^Y7OqsLw)w-ic6mM2R}VvDy|{(k%UGs_%d323 zaeTf{sk3t|g~)9c%c6&vhZvWNHKrpd(MnfAYzTmUn>dq#ECnxG^mF~9{3QH&V8JpH zKh*s^fPx$B=E_@pHOjjmRtlq8$|2?h=vyeas;m~LD*rW_) zxI064PVTm(e~7;9IUd|L5}ZV`22 znt0@2HpJnRs~#|;59mfj*TeciAfkC#-b|?`K=fV1__z9* zi!<%2l7r}%GwDvK{Ff$imzsWFqVw*LIDpRwzVE}zLM!_f)2dGu_SRYd% zNGJZ@+2f+LEL#}IAAT@jxJC0NG1%DrjsZ7yq?E4spe%PCJ-mK-7L=uUja#cED7i1J zRs!c@)}vrCv8V}Z}j7YS#DJF_7i|Dl(+>5leu78XROHb4 z5s($rpr=YB#-Y7yzS(bnyMvL*5|Ywr9W8b(gn`SCC%3TSc7X^pi+On=Dr->KrNV7x zBvVnogv`WF3t;9jo>{b$Y_Dv!j)84}&#AiAafV7Oq&Z>vVImZ4ITVWZ_JeSSZx+;q ztNp>Nts51dJm5Ls6I=kdjFs;yF`+jKw-@2=F^0KR4y7#4@Xn~@t-aXhftWuhi|f94 z4y3TBrx$!1wl+oyiLvW?;+iP}O_-$B+f92i zm1q;QY^D2EX>uo0APy(fgphj?**VgmF=EUh57|WXqVe;qzYA?jcUU|}|c}I35 z&yvIa>O5F(kI{O>9nzcuZ%gc8eC_jvPA}pna(usUmhP8h3ii9xm3fyp?Bv52g@asR z4<&uQ_!k6gO#Jciws&lrV zRtv|OWt}=fjpPyZnjT-*-gc+jI@Oi&`8&V9KO0i79qAgtz~YrDj1fP?R!L~5C+sDT zT;9RhH$-E-&fVOCPbP%rge^}PkHx_Kk(G%VK78G_!{C*HkUVbKjr-f4LD4+x>6aco z7fF3Ty-@)5cKT!9p19MVJ2{=+aAMUkyfUU^#oJPXeT^@Eer7ozTRu~4YUNV%`nhL> zZ8BP1Umt@r^9=BeVzW{647S3xTNM~|W&*7V(vWbD(?AfLoR=r5tO8F1pRNv}O{Q~W zu|ck4d0w(2d1LSkC@tf-v*J7w&6EuOj}cgV0$ zrchJb-37IFkm8(_@9`|14S??7iJ|Jo$YFfX(9}x$4A{@lVhVs}6Quw8{P)f z#t_>1z1s6*XNdl}GyIo`Bb&@z)Bm;bSlPWGkFUrs24x;4Xrr#16g*f0$9U`jO+Sj#zhAM9X)6~AkMw*q7Ww|zHgmp`G7#5@n8lL-u`0~*Ut*3dpj`lRI zt59l^t?l!N0v*ueJ!S%;WIAi_w`Xh77Y-~mqe3lG7K4`*g`O8c7wKW~OJz9IQBaay%#f111NW4> zH!Q`=c-+c?xT&H8zb=&wD?AcTNb>^or)%+>4s&F>k90UIu)7501ObK8xP*`^U~dtcX_^-5x$zZ&DouOH^2g#+wGCB z)I&D7T_aEI#_k zp52 zYaGUfL{DPU8?=oych|!sYT)%!tl2mPq~v`^Z|)|hDnoL6RPTW}#Iirb%of(m{#chj z57mnwLt3>!oNM8R#rM6T0$|oggm2ZsP(_W$xEk^y8HQSV#fgxVAr=;f>cwRSc)3-0 z$;G1pc}QumbQ3S?NuHtguV6eTqkt`dkvS|Xvg%CA zYTS10p%~?Hyci!e`|h*1EWY_!aHn2L5=~WA-+=y7{_NnVf|}FHKBKYQj<#Iket8kt zcc)b1r(7yw!n$THmo)_tSux@L(?Gtx%h)}Oz1;M~+1wR2)X+FD4feAl;@f|RjAB*SNAm~vxVI~Qc!xy z5`vDW4I=Ilf4E2JJQ3^-$V^!-3a446E8#>~@^CCCN^^CXxoWWuyy}geJ_PY~Spgu2 zA0SP=26;lfDGEc4>yVdQRge9MH1z zb)~BP{6%RtG3rzPVK{tfv9}ilCcM-nVx%>0q@Z+PXz4{dv_mw_amU8bq*t=tp5@Fc zDfDAG8e5**jKMAlq}DY>1S;pp$}bbeswUDkX*NZgyWCqqyJY|~$1?)~gAKqaww^_L zmd$CGbH?J)9E?63n-;D9ve=eWrVb@3)@b5wTBgNIZUlQ4wIF= zG0->=i7=r5Ml1C$@Xxo`3qgWlHz1 zgO>FC<3Qz>XgGsk$)-oIt^RJDBBTRNss*t7A)#Zkf1V^kKopQZ zz@&1=t90Yg-NmJ!=xGi~Ul7iY4U|FLKbX4C?*|745^0X?VL+M$aDqJWkmg)G>)K3l zqJnt>W~=gJ#TSwLLOjQV%9%@7J0aGt);;=|Z<1)Im!rwEg(^qXUvzex@rToUK9{fC z#P|V(d^8oEzYr#G#na$hrCgRQgYyH-QS<1A)2_FUG0PfexlTHF$F-XTuPF?;LzI0U zW#P)V;y#+j?U_2%&SdUzy-U^FMa!ModbYk*D8qE*-l zMLnQoA*_Xjx)CZ2{))nFaP$60-zC%SmV`q_Wm)+jM`-RT!d6I)s{iHqvEn{v7onVyCDh*H3Pf{wOm{rR~FDWtN7xcdkz$@B#P}_4|Hm<@PaNw z&nDfCTzuN8KAW|WT&tcH&*Z;gw0LhtvBi3cJ`m1R04*1vI{{oEJPdJHg(2SZ)vM0D zW-!R?&Z*uHYMi0PrI0Ul$2|f;^aaHR^ombDQ`^7SSU5`+bJq6)PgUs8TNGZ>hdW+) z#CA5hL2<~jWO0<#GLUDeWL2*y>t{yWGJ1%spbXXvt*wVnjHh*D19ywQ-Mz>BXtmSV z8!ImTkGFHi6Ps>b55DpI$6pYK&5#7vC<~Eew?>W)b!A* z6;S6w-c3QG@4%vrqqq$pg1o#Isd5uQvnAOV6Quh02kMMT8lyZxoGik1Vt#CFz&yAY zEu?qd`c&GI-n*()Ordb{gn;rS2O8Y)@2+KT!1J&Jd6(HTrpdSB#@L%_!HqIGD$kDd zF#G3CFRO;DDt~{i+7;UmQUxzga;B=3d%BLwnt#4`(7&8!zTNiCZoH2EgS9*&n31Or z5OGf|@=}`ma}P?)uLi{1m?EN}>X8~Ekc#a>wMA4K;ua+qFQpnU3lkRl`*W_&_mV;Z z1$q7ZvZpO7AVboXN<%z<(E+V5?S=D_0%lA8xSOOQ=XuCfm>g7H;<7?8ge4R^4rjXU zliSh{hYPBfmZGqp_C~mmf|lmz@CcGD#LKEDjOT^V<`27C)-n6lvX?bJAmQrn_uIQl z&`@tQ|KBm!C*lesXpvuAbJe%*Jjn7e*ldII88nAgdlqb6_p-cteBnNClqz))=*&MN zX_Gq9nt-t@vWN6g^Fz|#zg1Na(ViN>w}X^#oizFnHN$`T#{>CW$O;wv_=1Yb98sLU zEesknnO83hZx^tq#(-W(GD@~=pnyu?q>_s9gwz=7%;lyNnCT-olei8L1CO^n*&je(v z&+~UuU*{X*J$=O&q+iwaAyF~R`bRQ8cbLK`1ua?(7WsXm_go5U$Z4q?{+FuI{s!a#2vVr9 zTi0ydS1LSVt}PEboBsQFnpffeR7+qOPYTzMBZcVij_3*5@i0@ORR!=ES4+*wQ*)fD z3V2F}KiRcYWdrf!$lmQAM}+?FXaN6pyLZ{gS3~f^0?B?<{F?#)IHC^u{q2bUUYk*o zFFY&Ktzw!!mj7^x|D|($l9gq{ODM-~M|o&CXI! z{U5mU_s*SdHcs7vFtHbv16`uT1`$5MePV|9do#Dddc}Vsn_z6b+9@LOjIaNBR-2Ay zwN#vX-kTH-Rn-Si@mBa{2H5k#C!gtTfBzSY1P=d=2K@!;pJnXh&%e+KN))v6RGLn3 zz5D*w|4)d+ophPx)4V7Q-vADxZ+r30sVhJycsj8_FM-9_wjzu*CIa4YW)&#As*P=4 z>i(CtO^5<3XCo|kw8%4mukAby^#N5zk|u&9{CjD3=rR)0SDiv zafCZhffS~XH!}}*QRa}Xa(49mwX-sCxN-r$m&kO832jNDRD8D{CF(hY-Nyb=hx}*o zS9!)V5e z5t?L3yBle3GsPukN6$K+n4EIaF+UGe)CEJBMZ(lh9)tRdv&hn+IYY(e`c#;3opInUsoYm-edp+wC<;Z83vQBmip6-pYjRKpp zgE(=}l@SsPvDq{2I8?i=>9R4^B0uNicX#?6Yt}2!h6E`-?H}OfQ@w`TL_bXa7Icpb z<-JY(IN4;5-I`4==yXGJSQnM?JSqRdwrpCa=sLm^j7D ztzeH%>XqJuo@G;M?>bt%)Ma^@quRzefsy)kuyVOU900OTaa@R4bRP0IBq@^^qa731 zb$DpENL4Zv{RE}B7A9ayko~-QZuh-X?rEABV$mSYNd;sBCv&} zw1m#L=b49C+TpPGJMnqVWO^S7$i+s(xMn&?ZeUDh|K*AkdKHMRp zNgE&j@f82d_<6gtv*^P2bY2YL`;Sa^ZJsJ(NikDPxG`n(pa(@Vukr1%Y7px6IBzOE z$**N(i^_cYx0~d~Ihv$^@_V)z5D!8kFU7Y|hCd)z_a6rSc`lcsym*&1bW#oM$ufAn zk7CnEblzQ#45C-nU)Zr0k7y}p9C>iXTrv-{6VLCu1pl=V9m6o0)pzGlo=e(I<54Dk z-T)^Ob{dw1ORRQIi%uJDo~OlAZzz z1U`X={ksU(T56)|Aeic0Hg|Uz5Ll2E@1kUm&5&HN9rQ|*>B*Zo4Ee49Mi&nloYGU9QV{J zh{4mk@mYo{EP+c7YAyyfE5lbPz(|Dn7T(hRN(-g#d+UAH8nw40^oDZs3oyP!%$jya zrc>}Gvp|lop{D~Nc>D8Pa2NE%rrE_?$mkiziAh0yNj@cvY91|%=ty_;rbX~s_FhRG z!T^VK0wx1^8Qv;S$oKI%`+STDehc5?5A4#eN$C-sFpLmGkLM;U9n}#DrSyrXJkfV@^_HL z#z8y7rPTi2giU}cJnxrGlCt(}&1FD?2|Hd&U#dT${4H($dfDq_J9bY&lIvuZV9E+JYUb( z6S5zwNf_m=qYi^jEq7Tlfewx3X^P=Mo33`Wu~y}xRTJfbvl_2gDc60Y!TD4d$A+H1 zFquV!K~2mr-I+Z;9lu4n0@yLZH$1m`_L2#YHg3By^k~$6rT7v*%sG8?W%}?+eN`x$ zmA2J;+Q@bD?EanJw{-?3H}2|>f2(Vpn9e=ApZLMHJB}}<%t_)@){gA=-!I%vbs(>E(qCaHZ(dNfTe$S2#awnyC)4^`q2^*Ze&bcjul#T(I#h&*=-Jrd|k}+&U zZR_RSn-h2 z1jxB)a}&^g2^hi27~CySzjXSjrJIabYG22_jNj@)@M8Vj>-c~CCw!{vOvSRqnsKuvY9!cln`H-citVRv?xT-i=;9K4rZ0|&u3Z@W z`@R2WJ9SzwSn>Mj=kH&5hnU4!{v6Eu`DwrSnI1BWD(YKIiJ&%pOFc)A=$4V}YV_3ss|R%dau3IOu6dpFQfeD?9V1xD>F`ylljN*d zLB4lhZW8rK0jX@9Ps3fhBpf+ux=DxiS*C~GJcdDa(yXlAu% zN6)oypgXSkSH-XbB_MaIkzP^NHpwi5c;*uBkOet<^A?@v*E0dH|3T4{V+!uO)8!5C z2LW2kgw*uxSP2;Wk)z!~4!vS7pkX#c;yUUv7tLeeD-4qv{X!S3b?^0At4>M1#wdTA zud#%V?s$7^XD>l?gUrTw7ghz#)#+07@Az3_+8(Wgv7@w^sHmoK#88?&Et225mSYf@ z+s<=bQF+hrizJ1ghf*u?RZu!Y}KG~bU9`0>)>AsuNNLP#)P}%CkZ0En`XgMwHk6inNdAO z!!Y4l@@uB-fkA3t|F#2@wcug98~KdYtK?}u;|HHV(f#uE`sq#*jBTvL-dU8MHP|w1 z|BbcAS~{MC17M2nIk-=fX#*5SCf;?|tZ^PX zUX*RC*L=>}WAyVo6ES(Ts|ugUuZyVber+lH ztWY#K<8hCw{;JdyN0ORnYdzuo2*C48N0&Z#Ha)CWdMSRGWd>bS3CIVmC`yYcQQ>c` z)8Mj4>rcgCo_f3Ezye_yh@NFTly-eTYzXn)i;QK#1PyaAtN|h-6?@#jmUNe-mG?pd z)JyCDAlc%?S(6oB+1brcz);@Ths99tx|`sx7-n@>D<$v*kQT|#uN*?e zascB!Yi}L~12Eq2-Y<IbtHuaRr5=-U`?zuIqFXu47{XoT;8?cc3_dIE^fC^ zNWy|&^hL&~){Z-}0tz?jnY>;n`^~ey(7oN$0B`B<@}xDpH`}m9;%oLSkjtC;2Hj-2 zgL+axysSxtfZV0%b){@KEy2&R_~lr&O{;B}8HplHZf(yzXZa-j89VV>YFeJCr=x2r zN2NGwhqY&V#+!ixQ8i%db05o7b&90lo{>0zJMK*aU+w*PY{Hw7YkqN|B>1Rp{MdJId0GdH>DDemFnq1uc$l$m)?D_ z#o7rKZkF{=gAvJW49_%e^m-Mmf7KssGV(AsY7ogInrg-Ry`&E7>ZaITGs$%&@j*B< zLht&I@OqXdIq@Z3FpX5NB3NdX0DbO6fzjyTL!32)$pE!#>MgaIzB91nbY~e~=V0V; zC8(dQj06bcsRj^6NlAdJu>kon+S{=*vVD>~vEEvBCTMQmX*eJ|DI_d?FnN>P>~f-C zzGUy3pI3W9A8c!{*Y!hsOJ@%2IS(StB^CW3-Kv8<0Xu|mn(JT+;Z7;hOpkVq>o=z5 z5i?73++zC!FwTh_o(mO)_ks*(Brr6+%`bGL8r%x=7S>2;J5--IKzga~xF-kD5OZ;X zyo5J9SFlfHkCNZhcpA|3(dl|UehWm4^zM@3bNa%@@R>U!(6F7$XVo>lF&s#e;Arxk> zyzSQj+gVWsoA;s4)5aExVRKhP&^aMt{?H|&AMN0QbHv?evQgUNSUzo1+0h5@6y89! zTlQvYZj$9e3~dRgSA<9n1f<BLSZ35xuOc(tA|p-ZbtnI+-6=_TL=*+a33$a#PE^ z`>7RX@8=J11pS0{|9u`-vg;lEe)s`ID&n90`XiyA8*@XE*ZSIuS66Mgd71zE`O*58 zE1O4GtAAVT}%*kN%4=jtu*roU;1VD7%}^iLGObK&$tbrqp=eGk?!gn z-*W$d-t{#}3|~P`Ay%b@T#x1;qq~g!TTx%=HYR+Nw1C9YdIVs+-j4m+E&KlZpOZHD zE>U+Zr?(_SN7JrQ?NCIhg|aUJ#ekHB|8iCXZvsio>ZjibT`zIMz}88prRLCqOE|FM z^&P|{rYK4Yr+Gl5mlfF8RaFJL+*f3QYO%YqcjI@#s1tzb$#iLL?^0Bx55A_~uOv)) z-%^ftJ#<*%VBsDTK#Ay8%S#e4jY$Ce@Vb_8;1v>%9%9ZH72O>2HR7Khc0HH~255dQ z;`^~=MUzh7CWf^Jj&1-9y!eH#1GHpPVH%maJCvR^9dw*!10Jtj$xO^FTuS!w8v`)t zx4u2RU(jHHd(!y6TNUwkLrmIDt{ES8iIVL#LGnx0`23UD;`SvoK_NAxF?juVhX0GV_YP|+ z{n|#E8OL4*DM}w{8AFpUeN?J6DWL~OLXprUKtg9MNCyJ~(v?mE!~h|Ns`QSO&_a=3 zLr>_;*-mr5@0;KIz1O+Ud-flK7uU{y^6a(Nv+8|^rGE%k8t`3>+lKKwD6^b&YL@ur zpUlR>Prm)WXtB8l-J-F+`sZSpMrUf9`T*&D6>MJs5VC~>LB-|$#~#NShCGJ`-CvLm zE|_MGi`Q+o0v+_G7$;F}ow-8UAR!ik@G9imJQzg%o!C0B0Hb)_OrbEY9=0xPuML?= zmO1G+2=-0Ue{^|UdkDL7(;=5wfWE)iPnSOb!zfK$x4kg-9MDh8!0?Dx<16gs-(55z z1W8H!tZ$;376$-_$qKQyR`rHj0VQSRgRYw`Ejn-%>gt&&z(n3OA)SRT-9mu_Bgyxs#22%zw>en zJFj>K#o!tl@;i4AB(RV{eCwL?OhFf7wfIH3h-uB*Dj?~*8>jJ1lFt<-ea&v|a5>Z~ zEthCczmOW=)~rrx28FcOH6c|Yx60{YAN$msNhVsa%Lg*_^@ViYkCW7fok~fV} z@s?MS9ge8*I=olAzBt?9m;kdLl2aa?r5-Y`8?7WfsweAMMzwqIZ7q~DoMIZP4Z%HL zKNu;n3=d4u_%MIc4KTM4WZvyr@;$nM)a0yfz_!;)vOfqZp+6emf7$2wxUa`PSy8p9 z_;m;{QH=H@jZnz2l-Xo{7VMnV(p}nQJJliVBjZD{3I=u)18WIoG8?bgN&Gg~yKsZUU-mplPrwF9P zLdg*|G4Ny0YxW~;lvObJ#{GhbY~^Tc@iM>>GFqr$IAykfURpvLYI(x~2)q}vlf&q^ zX(O#UzX^rfev&y>Tmfu3(G~0@Yb_J(O#uzR`sJqDXh9UOm&?YEp090L%(^$XC_GA! z;tg>zrIQU9SLtH|sx;$?KB5K9!7SI7gJmMM)a`B4I_eh@>2Qj&(h>j&v&?6A6lJ8qQXnp8&I-QvIT5+P z$TB8D+{lKeWkz3m`z)amR@zHQmX|IjR8xl3V@v=px|+z{Ccep!QS`w`Nvx`8mxN94?=ksUw}DZX;EZk^sXH`UyMi%0+9lL^)fKEEy#3} zR~q=aALwWiq`ks)K-GYHQ{O1;O>$tK5+g+E)%c}WJq$SOG3FM-HwAwlTz~)2f7G*x zSX#Ch-kSsH%T?ZV;IOaCWIpOJ`#i|yvA>3^V~ z=S7`6+J-FP#ANP}VOch3d?xVAnG*@@b-%KfWy==>26pauBmMWY{)=D!b*#-Jb9Rm< z_iQ&(@!oq*m3_HDy#tx=8 zSeNUiX!u3L!MN3X(Ck88{coUdvM*=}-c?%5+Pv7Yj6NV-X?P%_(Vzx7CLKOHB>wz+ zvh7=c;{&1GAZDALit|_fAzO8M&}Dlj`bUW%AiDR&tFL$d`ZX!1|ETV*NqZkH?|ui8 z#<;$MR^cyr5I-FJ#+gga5-(`)T)2u&Sxh>5e*DDQ?@@`Yel1VJ@8F|hQD{~e=ey7@*e8FMZ+8{A8SICOlYg7!J{!hg;Vu+th$qM zpRJzdqRQL1!NFt2Uy>V0r=7k(lN$^SJWTDaKgKy(MaRfs$L2P81();U@2c+Y_<<2MH4;+NzkQ>Ep8x6y-H(-dtKDcffCZli7flKf=5dr@aQc`n0#Dn?Lf ztTv0+EidWr&wE}mA`W_N3z3z%`i5E%yWr!V2LyHzvcluoo@tKHe{SVB&(d2ZnL_Gb zqHm{~oat(yTm6Iy%V?)_%iC}tnPjx|CHUk=u;z3h-n^DNzBh)ci~2Yi+|AcG!<31# z2`|xK)u`^795#*&J#6|?kTc+LX949}Bt*ryiakCVxo{iKtvEh%SrG z3;Q$m4M;L-Bv6QF#BK~r6|lT;@)H2mgwTa`Pm~gD9`x?tNbW*33|hGg{Khai z5$)Fk!g6vZC=sc|;llXn{)EpJ9s6v#ZL^dGmyr>_I$If#KfAwH~o>!e)kP9`!*PweSW@u8>4T1Mv<$H zaxKfcKVy?2uQY(O$|%SCqYWwcc8 z=}b*8Nvp<{-GW}3&z}ic19%n2vHMHLo;`}rCLweQ6OR%!sW|R&DxM4t8dOpyMV7iv zHm8Dl^TtjOm`dqMmG5!3PX?6Z?j}gk(5!y#)LsLB{%D{M_SvSf3Jm6W2FYm9cx7j( zA%vNA23Hc^_oGzjsJgWz>~OL5{fzGR3^U=*#Qb=!gm8lA53&)ODOIH=NN+rNe_m`3 zzGd@mA>iiBD92X296#QqD7^WiUed_{mlcHR+HRMM)l=0RK*F9HdlIsaAVO`&l*}(O zd4*XXd5>RBUVhu)+ajx^rA!#RMS=TYXa}0*&s5|!T*-Kw5U1(fK5rQ_^S)FKlIGj*+cSuWXc~h2@!hE*(~Nr0 z@Rjs8nOn0aEw16K3i15(q>$ipjLXJ;C7T!eW@k-+RUS^rL@vw5U=`V|-&VROdl3S+ zmCV+0ja_@u%5e3I@WSjocDB3|Yt?gD-&hYXL~~EJ<|Va{4fs=45{YU|rPa$7*h4EZ zYr*_?Erj#8nDeM!>WuO-K7Js@OK zi^vFe7+?zQD)3Oz8jX~OsLYNTzo-Y{g^WTb`cop8-?z0a!)07c6LM0y&?tND;^m3o z7(PJBrNJIn*Ha~5NG-*RT2S8oT_*WmMFBc0dA4hTiH7T|=}U(ZSN-pLe$f1lp~9vH zv|y1C>|>F!T)eptsJ57bq=rRxS?8>sfw=Xq*b_!sh*Tvz8(%;3{5!I1YMQBo8daln z4s8%vB2ve=SweRBC@39K?W;AD-LcADr+S3WiQJ1|2IjSaYc}kOTUYUR!^!bK+=1WM z^B@2DyQpXXcV_3isDE}lPW{I4H6irp$NWo8@KpZYj8}g5KDR2WifER6t@Zu-_mjU- zdbuvWcIo8Ir>bi+GextT#z1-C%qN;mV(MyR5s%!nXOja~8s;oqOkQ9)n;aVwTrsO^R{~H+pM-RN2wms9A__> zQFUCyr@DUcF!<}MpW4;5+R?MGbA)ytt=W93itK)=ico;6NG4Df+4#4l&UXzr9)cf~ z*-s#^r}LihLykYbj&eNfZBjRTz7jM19SP6;pLxe_*N*d?!J=EhTREo%1Kylyp4zZnhclpfx+@`49`HD%tJeB zJ1K{e!H>C^|Fs+TzbN18+nt1$+!FU;Gn@qg+gMKr??pU_?^!>%6L}IN0tC11lc^WX zha~3|Z~c9eodXgs+r_&1KhX(sx`9i}6*7-O$J^q;K*87K!~=(`Bb0A`Y9^ly#Az;o zW@CUu7^P~Y*E*BG^(BjS?l@q<*P!)7lW|~0MLa~opkE0uI2k>E9OZm{P@M5gUrxp; z5Y47{eQ6Y0D5J*j7wquUB(KvTdZA=}V#rJmG3zwCh7>jM% zE{5+70G{J+FO55oK$qbyAk!>bfk_Z{)BNc#%pW>NrF@h6Y+q#b)M{`KVHQV?yr#vc zZ&aK-rg!wHb!0EYfT@yWzge^!5l!%VhG8qKY!~zhN=1GkL38dB68u@{+Z8s!&*T+ zBjOq#H1Rap4J{rtJiBr1Y#Ky%+h-32JuGVqZxAvSv9Gpr(-R~|1|~Y@uQ~^jChFyk zR4zo~!dgmmjS&PEt9|Zj{e&d`E5%QlN8^YY$Y z^tc@>uQl6`Xa#P7P;Av00?<7f-?}y8&p585?#srl%U<%r0d&#ydOFUrVD?}hnGbhM zt0x#;!L zQr%MBSCiK|o6jT~%Ff||R-d9`p6#&ylN{ac-xxyJ-H&6>)wEb+;|jSjth{B=6QpKZ z41n_<{7ajZ9G7AwLMMi`1x=FOMpNCHO_ai6voS~fBW<6dr0+coNTa<90m_>ly|t%9 zxe8cBHDbDlwiNhjqe|mVmlA$s$OVZE9fHGVX)^QfPrZ8~Owa$M_Y*H=2HRn3EAEy9 z^qM^yl8jWF#yri7jh%Y8Qnxrj;p^ozTH-0dlm*>ci&Lsm*X~+93UFHHWizW$vnH3n zMFNewz>XC<+L>k{i`?|+sz)s2ia)(rY;2!#nuE(%s8@kPAYAopgCqq`GF46g+r0KC z)^S4XeCsoZGxHs%D(i%R_J=%6wkV0qmFs6&}e^`v1f88A|PFVXRXZ~gLPwi@q?YM#UiK=BM{=nDW=WuDtm~ONN7%x?? zBn5wjA z%w}x5Tz+GCl?C#O-6n0z+0Q45D&I~zd8Kk!wHsI{v$aqwN~Je>YoclffH z|9t)1JO!uY*Zj$uD_@(Ae*NQP{tbypK>jPxv)VrphQ2=d9My40=Ap}R_D!42!a*?5 zzcl@de^>LT!t7F`d{+~hY1iKv)Tlr%`P&c{7DfY<+671+S#m+V;q_mQIcK6N;)eN3 z*vp?^oE;Y$UzRTXLJ~0i2T1^4t7}BtU;yEV-wr4|5Y)_!k|pQ`dgv_sKf?44^?UO; zRm)I4tlmYA#@(Mox9ug2Dfiu|W)O#(({zod|1hk8!@#wMt`i%TCjlX-dfjgfSDyo@ z7%QHdjzS=paz|T#XO5S{Fc*PNZ_Arqg5hyN#%jk?PHWi#8!vwTqxp!lMaQsv8Jr}h zg+&m8Ge<+-HE?nYI}3VRgjccnGb)1gc;!V8(uo_n>$EF!TPgDq;<+R7d_ked6K^={!DkRMD`RZ=bnSh+r*r@XBGy{TxBprLD?_T#J#)cTm-H z>Zps3taPcaScTk+5VOi;DjNDSH1}P5iQ_s&?f}4NknyqVH5bB5C|GpJ^0Dy=!iBy2 z9r3O6xSgQyRgKIYb4X5YsS#_U@h&r)tff@kX@mH-hBH@~jj}Dv^&$Sq5$g>9lvTIS zWYa<6a+AkJp&<3^t};X<@yVyog>3G9&af!s<=JW7bmI9{+_-G#SQR(FJ&M;O3Ye7H z{>L&DG4nykWtrKyZHK&A%|!RXlJ@HuQ;Dk%&=)3yZ8-_(CCH#(b0>PYYf4p3kJ;E- z^nPLK$@r4!d7mh+A>L-#7HbZX=}qe_#e%i6Xk4eurM*c*jCJg0eVSI657J0UfSPZC z>)2}%9QyaCVnzClgrFZKUMQb~&n-3~tA|7@vU&!^{4Xl%n$$vpS?&dKh52phzWtoM zY730^^q1LG&RExin_8SnqaA@RtxdKqP|K>39TT@TeoF0ZHCSGoqDQbv+Kkb`fk~Nl zE(?n*MJ6&4-!yKLT>}7r zi{mFT*z$hy>pCrmFt_Yw#`HQJ`^5kD z1HUNcH*bb|JiV;#qo6q{Wh?k#0`Fs4I_c8BQqf7|X~CoygL+j+nxU+B$06?nLd;h3 z_5=0i77jCDui-F6l@VYGHoGy~_tQQRtHS z0r#=M8S2%0eSmkv!%*}Ew+ml+)a8bPua}5&fv$y(8Un7m20kO)T-n)YUk9|!L)dJPp1;WprdsD z>jUd1l@s97obXlNWP!9_fqg$mmD|z1gK@C=e)x^P6X7jtucqmoQqD>GK;)EFHu3nP z*2&qBvw+jM^G_q3t$Ri38U{eByiWZ@3o z{nQxUhy}*u*N<%*=nHUj{4_CZY%S|!5k4{{lXuLb$0))l&{Aflk9(0G6LE#T;w_Pf z%a@T#dq4-zeUVlDN3mHj+_3e?7K)3S?HJ&6cs=Bt%A0sskk+J&xxmp9=laBh?@MFo z#arL%TiYWBKp*-)c9~pYYg75(pwtaeorD!L7lt*qbJh(8h6XQ?9ixtnZ(4G<(ah?{KNI+5dc@ ziPyX4Jn6-VS!cBDftZw@$Z`2SJ-juxp zSCqX$OK{z1K(OfVV}F_oyCg_#*AMAqi%OTW9Vs-?%GSuEPOFZ~>Oc52ge%E=Drcnd zOiw1eVoUmnsP8RRGAD)1O+`vB^`vC+nWP0X3cdWNYAAe_F%Y0b?&R!cjXJ>v=+B4j z3KGLczNsc!yhk!1reOFDB340|{K6;6XU4|!5&E}e z$IJ}bpxywGZKFEYwk(_$0*p)+^FdOWo1OP{jHD-^-~<(K&J8xT%{1ZVo}1R%_R9~IqH zvgA@-0NY^xyAH<< z{HF~l|3k-vQ@ig)$ANp*1Ul0evEScD&iDn!VYXmQ^>cI7lGgXH9vfK@Sv3r`xvJ1O zPU+-2PqGc9pca61qo7m_IEHm?r6%4r(bk_Syol=x_2_YM@f;V%ex62I4riRwMJt|t z(ek&>_W}Z7;cB4z&~4VeKlT#i@s`C?h3w-8M-?}gUgMz%4~vZI@QZFR)2ABJEQ}E3 zIODZ)yjXD)VvJJqDE%?eAHV1rCwJ4Cq?+^i?IOjSq&oj-Y_<(Mpxn8M@wlqHXA}7I-;Pk2orU z>~}Zd5z5sc;bpJ=TcLF1Z!0<7_wQ@SZ1AwktmM~#Sr^27hRFq9i*sqTaW!rM6pkQs zGeR(##LeOBTY2{1w(Dx3yCB&gkItoydcOy<#lxNuMFc1A3LWp^EXAD zqmiw%0SNUqHeNrZQVi8Oo_yTwaVfD4uAMTm#&ZV6rB`F|c-Yh&vy`@=)T93$g_!m` zhh;*MC8iRe_qah%q!}ax&z*lr`!01nW|HJes1_fC`*TI3nFyKD)kM{|a&*h@iX;YX z4C&5i_(hG4DO`M3L%eG-&T-JuS?foIUCgbx*rCTCIo$@#oFLKaMX}9w;S>;@3Km?U zUIotGN+G-(EM2wdlspzCceiRRY} z1ZaIKwa&7&)1GxfUARBavD1j9S+XuZ=R2FQ4oI6x$cD}c_dH($Ba0lhr+kcD;`KinX&Br> zVG1iwxb|I3znbqMK;im|Qlf%5(4mw6+3*o?|EJ~uhn1CYs`=|^h*<>s%2Y(c{2YW$ zth`$;{U`a)Qi@n5WLc|n%g(nC5_tU&8QbW}h0$N%r2JYh zK!08(Vu4AqtzHbvJlCRM8hIueml$IVv%|T4uRdHT;VLXj>Wvp9j=zlu{|JR); zmM;&~-2D%>^NTtE>+dLygSY!G_xi3T5XkT8}PEiDFb9Ls}uhlNpMrv-xJ3MhLk#*X@BFmMSln?$4yHy;@_7dqGsP%v${3T$!&5qtp0vMK z{UjYfb5j_*7OxP3rDog4Z+CqSPV%^PxXZCf+WYNcNXpFUKFjb>$(XQu7O2-3ByvnJ zvi{<#ulDOn_Nm|Y-5QB}^ZzD#x!J58>+n9)=8^&zGq<$sJvU|fEk4Tf+f_(AgRdpJ z*EmJpwXs>Qtqv1*Hp=?V{DH$Dse5S^2}uU%B1zvlXby4i3i-qb5?6dvmH*yh&29rX zDccn+e^+vza}+FCAT7!TO^VeWoi#S5J?MROhBPX4cBo`a&Ez(B-KgzjF)BPII){GD+Q0tpj$*-VoO+gQr1uK{Y>Ba+ ztV=j4ayE!`So3_300jJsu|q1TcbTkp3wmdx6!o5F0>MCv^EfLx^t;63usRQVUj0}@ ze+*^#<=wW?apLD_&MJ8s)Jo%=?yf0<;&*&W-NpKDZpR1*!fM%IFwdV$h~vWElr1U^ zJXqzup0Xw~6dCEQc=Y#EG|&eNYjmdRp`)cVhv2c6JNg5$LHar}FWyFGuu)Jq9DKH% z6HL45ZcB+-WMgAzM#i)Yb?13qs$5G^`Pdy-he6m+vj`~{34c$Sag@ejmU+5EqSQ1j zwH{|oNxI5s*%L_isQ#D7E%ui$-aJ6Bw^0kFAOLorAwIG5o|fwCOi&M!mx(3mzs`$!h&R)8zpgi!39QLPx{9i;|9^cM__UrR39 zQn5Oos1E?r5$W6-E16Zp`jIx3fGZE|_E)3w&w0wCgFcR_3IWuf!wM=mQk z2mDp?eS|Q+Db}BJexqbD#{8N+9cd&5bX(>Iq;!ePW4|$Y4Cq07 zgR?|-RmQxThI|RmFBz_X(=&o5CkLu!;=)^}3;SCvT#+(jQsR4=>h4v1kd-< zpW#*Rd^SCHyGBa36NBj%AYfKfX@3CYA(e_c|al~qzgF0DN1LLVWx%a9m zjn*p#k?MZW@TJf4T*=F=p?9O+!nWz(xoN>`kn#>f!xN<@cmR%7c6*`__jSqXD5q?K zXoN(-vgCY0So-@txA4*bBJOef!->>d&EHOUeu^6%{bXLb{*WRecw(HW-$A1LX|5t}1 z|3$`t`TZ0kUkLfyq7L5VMWcjC(IU~5v{+D3f^s|`WaQ^=U^S(Kmy>OfHZs=Z*cSt) zfGB*7tI*M!h(Kn~KaOhN|0!IHGh%(_a+?;2YP^K3X{v!)vAuN!W>CvPUD~pA%NpOC zue1+7bQ-t}%iCD%+3`+pZgLvPPv!G|Sl+xTe6^x~tc_7tmt5j(>e~NqzWrTS6tc1y z#j>8iwHFGV6L|KZiUgOYdIp3*oD+nl>0IWRlf%qj_90Xis#LO}b7ZL)LEK{OZJjBu z-`_%Q($*xT?)NEIm+_fb*4Q-S@0LKOrXU);U@<>?n_d=B(*0uptEQpf7CXaKCvoA$ z?ibyl`>yw*Gi=qUY4KW$QV*olABY>>m6&4EZ|_u?Av?f#mT5_y5N{&6^UYbrVa zl!dNBA1AR$&J9+CI`i`V*mIdwPLEyHiZnVQteez60phb5#B6!mG*aJlt_Hz}?~#42PqwQ?ialH)zJenB=B2!OIMF0&H6i+xg!_o4}Y7mO({TBc`X-~qY- zmbfrlvj9hV0_mQPMvcqp@sFSeR+QwplNY<;Xd*W`>81sW$aCk_TQzf-ZYl?ALt2j1 zjX0=s39n%zZN3=#9p#m|=6X%{+H=nY1CEZZq?{}2Tou7*cHaj0#oPi!;}kt<9Wk1x zf^Q?VQRRy+oPcxBse~P{;sTt#cyUSO(K=ts;q}97?rr{j zr@TE@-LDy$47@CgY~In+)!bdEB#p&qG;Q!fQ-9;=tpdhO$bQ>daY^@V*G@LT!uKhnPg`q#-trQTZ6Xlgt`N z0mZ?Y#1aW9Pg_k;fOA!jzeQx3QQ{#9HKnIb>CxHS_)G0{D*BG|*iDtv(L8#L@ z(E343vm_Zr!-b3-rH}516`4xZa4XZ5YgF4B-<8fCN~qc9TV4!@H{>nwu=Ca`3piV? z@z2khY>y}ld3lStxLTm?DdpFrkV@PHlyzkkR#-AWc)=%aP0({Pv0FC@^})%0R+@m> zx8i^B3nISsn4^M6>qlqTQceCR1?k(Pjc$FKRci&*BMox zcwxv3TrIld*X{ZwdTP0P+rS6NNz8}kJuvolDOp)B=HloRw~>-wmF8Qf>R(l|xu9?& zDz!YTx6e-g3{66F^>JsvEtKL4$3tBbvZ~Zr9c4pGJab?P;XOfuSp?2h1cX9hVe-_@ z9u^YDlSc+rL%NYepHV5P8iLdM(R;U*KY);NVPJF+U_O8TCyX9@g8i=mg}M-njT)QJE1;yx~{1utF8@iMej8*}G;UZGp4C2~*V* zq+`}Q>|6i7ML#O>YV%!Ar6cJ4gLcDkOXj{iL+XnYgPYBC4`~Rd*mescO4SQ2sP?ty zxvUHij^$W*e#_G@N&LAEpXfA2aaSTXYi}8~_O1~tRUDwXz$*^fB(QK-N#72{YxRyd2%Ry(#}CCoUwy=24(cy}!2H5tS!up3EUSC=i|`HWDYqB0p@WZNepc zd#{&eb5qD-!2=`4*Iq{1^q5{PGx%Va1dKi3(o(O#J93pnvO=cq7%W@6K00ye6*Q(9 z7GvDe@kl;dL@nqjF~?qLugYwNd9-l^s$v|QP%;^ZeFz7;maay&p(fi0BU_=^Aj^>g zfljl)YZ^}F33&CoVtma8di6BvT15vQ}p5-Ubd8tgH1*eP4 zNklr~8A>=#nz5a1OJBv-Qrrg2T?6BANj*!#xo1dZQQP^l?-E!rMSk`3B@>tLhYViP z^1b%D(7(!WBD+m*8#6V%Mu{q;G*&%+{P;Hp=fHg==e7x8Nl96^#)G|lxk3W)P5sHDDj8hX=Q z6!Wz1f&hBVUDcY6rL7G$KcEVswjtj)?ZUES6by}G*|=>jsm^|3D@p<;BnY&rk|sI} zaL8wL4@115V?jdaJCUwMov@WIYi&B1RtUp+@<@`?oXXPZ(yi6nrSz-}TDib=u-#AI zeF_}zXDq)Tpq8aF-&F8(dw2Bq$pUN6NO`VaW)mHIo`{J z0)so)OIl-1)-X;NF%});H3gG`cWLm)8cOhS4MW0gqI$`gb7PFT!aQcRW(%ocx0$JG zLp*KRG}dJ5;MS#XjKB1K%xM&Vo0MhKAh-(U7GteMW?_^WxrBe?O2JI)-m_s*77~J1 zGIvUhTAXjzQ3Q z>4H>oMgvnv!H(~9_!~-IE+a0XZ2YTj&)DHNnMZcrQh*cJus`t#ws!R&2`JW z22bG5&qR+fw?FfWyRFoXq_`m|vkOXCbrp{f>OMRV@@k4qCd~*5j=< zV!-4M`#!ZDmRN!ki%xwyr{E!ys{GV8VF;o<#gz?c&14NV_*mDJpiwKNH2 z%XnX%jbNPElJkghfqq&#C{JLIY$0R3@5fHYy762-3gd#NB^fM@i^pY%=5}{agcN-? z0ZV{J!qYS{n3yRTijG=c6%$=LXGaR6DMtQSCkjcn=+m+(vJ<->g(>p%L0d;O*WoP} zj-v-bmQ(!w!(3u_og@7qos`o3L8)k~GLi5kWEKXoB11<`+O5i#rDk52mvGyrnx3=q zdc3Q`B6bzCI(t0lbfcH})+p#|&{p-%*uz-#j`9#m;fT3ad`mfWbQcu-^o7&VW&dnM z*~|_~o%YtwEtbCsD^bG&DZ203RfV+HZn|KUag-2PJ_%1ZIGtX;V5!Ap!Ku5NgKs)7 zw`T7h8gxylml2tOglDbSWw>ANPU|&z!s?=uV|kqSd3h+ zi3hJYjfS^&cRd=*dxLc)Rd<2RQ<+{iR^0d5t#2;vyHiFkNnXZ~Lww!Rth7cdR%W~1 zkVz(xNz+=N3Ks8TIinvbw~rEpm?_XD>rNNv1=mpQ4HFld-Z9k^K)W$EUPoW#x>qcK zdum_#Qc&Ju;=ZX(Tx5}(!lE;XvpD=vjzzv)?;3T-q~tiyA-gxBY;gPPc;d|)t&m)s zg2YpCQr=E;$(S9;2-P!J)dVq1UYJC*G%j{rkGcT2b?zlfTRYO+{r1u{DVl+4+tD@69njrDX9&m_AoL2bCYP0~VJr2($#$<{tp<0W? z-Bf_UG+aPS-=>?DO4y0BrRWsK;1e9Zer^_deS=bDA{*<4@Q|!QU$5ChC_61;StjrI zmp-l%;I{W<<#*LPo9l_Kta{zrdx&S1ML;~0B5SQh$mjO_1pNaN%*zb4L{>#Q<$J~y zbapbaqfXYP;MSeb(Eb{=>DlOo+R0NZQgzZV3ab*ER$O$3wacA`K9r7mnwg=y&AAkO zv+WRBVD+?{^$}@TrYT7G)L#Gb@lJ=81~NT}k1wZF@#VBP(kU@@VDzJaoKTU~UX~XQ z)_Y_X@01ZS!7^C`?YCEJUaae7JU8Fl}!RzbB9QN zQPK2APOVf`0G=meude~k8CFo`7GB#PsxMdK$vAt08yt44BORgpHwIST-#(}gs&)&&HXdxm<7528Qsi6gt3q2?)J8))f8fly?qfXXPM<|a= zGTBO;W+i{ z2wHTOne-cGfHiqqzJHykYAWB*Z?8$NNqdhD;1DZT5*V9M4OW`oQjtW79kY%*dZA1| z9qo#8FK>_SeqPnx_pQ6kZupCX_Y7a(e&-AMoZcQwCfLo`zzV{{Do&40{^-wsRnJfw zl?qQNN^+j!;(iln;dAShL3W!5CM~e}8WA1Nvy`)~y__Wra8+Z9*NA}}sb1@z5F6oZyzrot{o^D;0BQM2;H;CdiUFPiJ-gBIy$~;m#!B z5~J+r>aA$}vKG|Z1XqF#a>oFse%Ed?Nos?-apgUsNgz_NVsl^KsL$S4A)`@83*@q9 zau=U%RXABw0_RJ>M5J%sP{&7(L|KX9WAT`AStuQvc4 zsKPjK`D@m95J4{anc-pg<~2|YWr>}7A4hViA*6sixBKM?e8#r^;6mbzRQJ*a(B-57 zIr)lPDNlx1U5F}Eg#*Rr7UAWdYW$cvxAu~0Jr?8W#pr31to5Bal!wpR$a3zgXMy`#!`5f;jt1OA> zstcup%f3kt8F3y+duSa&@y5C`5#9km4MVU9oBE+_>3~FE8<#!IfEJgxs*WWi5x|rH?h4P)og`0R#-rWH)}yYmx*bdJ z^xkosd)s60{joislh5$7b7G-q6uz(d@uO=6U-QGQ_+g|(w_z-&s|zYS+$@}oku$9` z=ctbetMW9~rPPLu->{qNI|v1tG&4O=;EGOMIFgo6zzP}2#5~GLuqqybjA_+l&^3(J z_Xli>LAjpVuU$<0PE^jtHVilPnhFD8fU^OLqOhz)-Lb*?@aF0Z3rIK^Tr&UP+f~<% zpGPbQFXg)B$UgQ>+2|7S+cFO@pgqu)Ah2;H@Iw%rO2ww?v9@x^X{xlR^HP4-6vlSL zoDFW#Io#L-*UK$Z3#njS?wZpO?S2*+#Py!BHT|Ru@LsqqIvtnh#O8&xgk=h?po>Cj zEgu%g=I>&8X$Cbg$OxlV1Z_PnHH$jkclFL?fgf9?1>U9-k~Ea-t}2z)w%3ZhkGEGh z_cWl;3D-hbbOIQ^OMjF^O7;%`7uMb%1i}U1iI_9lO4rIZ5^&oSsD{COW1&P8ZT%&K zeP`4^f{K2~U@{xc<@Fr?MU47{xBHD;4K?piIcZ9thDeJ;`B!><*n8yKSWMBRf84ZH zm4h2^t*4lmr(R;A&n8=2v>#qXmwFd8cjM;RRaSgt)px5_AKTw{TpC^>{hrPV%_Z!N zXgL|zJ#8JTL(Jd(X}CMrq7?&xclwhBjCCuUv#7Oeuss6<^QO6LTCb)W1_&^oR}~re zAYGPti!wG&>3NM~#x8S+kz4U{k(yr?Qiu-G&HGMME22l^Wze0nrVFLo%r|YG7!ZY< z9vXB{L&>=4rP{ViB{|ULwIP$m^}@c9i?VTP(4jo6(?k`C{(0G4L4J)})Sq^^vEC8- zg#vuzMlPY#8E#fhd|Vr&-eBoQU~~D%!TOV9dZ&vE0*gkCs>?wb4H%6wmczW;q#kf zOe$Zl4q)JcXg ztSj_>*m2CF2VEtc_;>I5?JS2Nx=(7h7%r0HD}vKkMh!qRu*Eio{(%6Tx_B_ZXAppV z)K}NN#Wt3;?Lr?c*9J&jPXVKeohzoBukJXH3f>&yA?+rg8&lb)LQ|@%X9|Wld&Nq_ z2LYVTqA2*Gcxu&PRgU)2$oWUT=GB-coVi2BkEH_)tm99??2` zbbn6Y=?CTjnPse7Y|qSi)nC|7|MxD8e;YXY|C0LpuN7S1=ebAqkFWcv=il3H;^UFR z^TVJzq4*bv@?EePyD|vkY;Y~G!Z`hKYXjt{bik_d>Ck$1eZweuiIdxK{&lZhfS_K2 zkkrOHW_~Q|P#7KWeHo(ag2#Y`&rR7V=8HmJFh*ixk83Pvo@2bNv5~r^<}TBv6&TYe zE~5ks)*{HX8gy*VGqtId7eh$X1F%%(@(zlSr9?-_Sd&Fdhu%+R8EPN-hFfx|YiG=< zE>(E{2~h#~ZVAlCpq=JWW$ERK9+a|SwUJYENQ}p57B`c6)#p6Pr41Z;)@N4dvlIRw z_TD?H$!zN%XU48r0O??%DhNmk5D*xZ(2JB1I+{>J5512Cr6V99edr-TFhD>EMWvU3 zl+Z$v-g~cpA7`%RzIX0@=e_GK>$lb~e-KvkoIK~*=bXLw*?XVQ2ijb5=0lz_aXR|U z9Xx?=;;C0klg^}OwbORv(I*!%vG8D=hVI0&2d`n`PSlIw(E!L~w#41~sj&iK^u#JD zZ#*fw00e-Jw*UckJ2m<;4TBzGUk=rs2rcI+56dLQm)#7M*-_D{IT8M$Q8|IMRM%tZ znwYS26&);jCZ}jvOW8jdhjkj#9iux)+Y}!Z8s*Y{I{P|tt`fexv>q6pI8?USW8eP5 ztY4?2FYm;B>BgaiZuxqLHyu(tuP;tGzCxq1LXv9{5+OQs7Z-3 zMPVSzzuqO<_EGL#Ug@SV=S7q+L`(AAudO|mN-8C3K6AyoQ|~FEP8pSIDzeaq&}=0r^PF(N*bwQj|4qIe*Az%E(A52Py=TNK5nTEwHq9=ZW~K%nsACs zW+fxD>7ABqCj6fh>q_aR3tqgi$By`r`_w-L-YqK29ZMJ02lEaPq`ad9NpqyfIkyU2 zbf-s=<*G?V#?!p9PXTQd`y#N*hhNvWTwkt*@s@4OvTjIpFf+M=n!gRXj?DI_kH5^w zdi74vvTEzCXnJFQM+ zYgKBV=7Sc7$Zw+9X)6W@jv)PMke2hrWWR<-0;34_-Xb_kFu?%ENl+RnmzZavDk)xw zV-Mr>dh7m{mbQ7)c$YpNbZO0ka#7Mq59VXMJGPgd$6jfF)rg0jYOa#I8iOSJhee8I zD&9)tjbp=8>4u=dwEJl*3qhFthIbpm!Of(g?&3oCfhYuP>~k-iV15iiT%v*d+#ouC zp0S*V>p&rYOwHURTHq*cO^e`nus%@@CHd`Dzul|csjjXo-Ev)d{lN0{9se5ml94kB zJv+N`P$B4WYatpxP{<7$HTuoi5WwQI=Xc+^WM+?MPr|b<^A^z#nCkH9YJ!Y2M&YETJ2msJ0 z0kbw$g~2T4+W##avtG@$U{|U zjne{SvRc2fe5UwCqadoo14)liL=IHGd}7YCSlgh^ZkQ5Et7ce$V;<5W1Z_7=?pqkD zHLbGfs$?=O7&>b;ps;Jw9NFg1&Qb=6VW_;*iFW{|`F!9|Ff6lz8L1!Ly}Stk9bxAd zBa4#i0H#jNMjQezpmVr0Oj3=Y71JKEviL>2QX_h;Kcoke=S0Hd9ud-wjFEHQayWF- z#IiAm8mBhE8EhNk?kS!_V^=2Zk*!zKyjtbreWvJ3MD@-E|DN z5rPnMmo^b%&d8j1kv!aIvt|Oq#-u=YzrNthxbK$8^?(L}VY%&w<)4t6rJ2^zZ$2Q`0*q|X5%cnmH(k}f@XZ@OCM8Cq{pY27%h z+1=`_j_mhLM|l`Mf)&h3RNj>vp+7};DDR|NQ!+bUUd4LA zyj-}5Q%vc?wwU&#B-gdP1Y-q>&U^!Md@t@*S{qe!T4=RIE@4+}+gmFWQp5>D*pY$c zOFgQcCzS9))Fw4kR(%hdw4g)&{!kx z^s)!j+g>658RtWNrBI0cCNfDgeS4hzqNd!&(qV`p|BMi|B)i5{l#OYdQny45TUTMx z)~zrYZ-)kEng?TBEz+Npl;gZOP&x9dmNVEx5w$wWQ^){!)11g^#>$HVN2l<*y<1Yb zBUwWUc`NBGEQ=*cJtD$g4}$W&-c(JvnZnhX1ofkBgw9Ykm1B4+XVA%M{QCmz7tdiT za7|8SX>+TEpDZV>H$w+ZrlmRvCWRQ3jmktats7{vBwcN$b<$ghsdG~AKIrEOuT)bk znMGr;Fse+l7sSjC&FgQf?bdeVW=rq^XH?{k4;^fmdnTU0CBI?Fyv?J!p?;^z3%g!* z;R-Q5tdjCEL+P9^6m~P-43*k+tl+7SukdU) zdpQ?u3d2T~Wab!r%~lv2kk)bDCoQf*Y&)MM;>Zos&Dq+!iM@CO5zCaW0#3*}+R;qc z;y%_ZNQ|`OfdHlFJ+dP5b9MLYnV8?S)O5Nsm2VZpI85@24}(k5*kiSwJnS1=Ug*OY zq(bvzxb)0(FW)(@o-SHLwGcrlNR(T}U>2(H`*HS*bxe8+r`uBn=Y^%)kuDcj`of>u z3(5CIaKuAHq3B57u0UEa*IWV*fBis7aDj=&s8B?|P7x#IW~S?hdLelbrZ1x(9cq8h zGzr~=>I()?0y z-KIau@XlLeAMu(xzP&R!5pN*qcIUPrM>smVqtc{)3tzboGtYe+`z|3ZO||I0VHX29 z130WN)$DOQPQNu>=|;N$ydG~^rFImKr4A``1edH2%znOJ&q9P(2Yh4>F*EI~6HXG3vXHWLt?BwJcThguXCGfJn7n6wTB$!-w zkOn6)mF2RtOd4l;)oPD8PX(5j!1OVtnaqIuniHPizQ6X0R4zH^Typ>XL^i$4EM~wB zyX5m$B1Wx^@FF<*(Dy)cZFJFSSH;>-Wxr}Af4td%n>Z^XV1aXTn__iS#}LkIK;57g z%c3Urk>d8h%u<`UI1YMq9Y!C(rhV>8kL}=cj?1PW6Oc?rIW&&(+7R)a@~Fof++(?q$6eCGPL)mtXurDmKn6K^_fCo|00iW0bXY9GX+k%z#idSbX84i z7l3$(7fs)P9C8Spa}>SPfxkLPX))ivTlAZUW}OcJg%W%CBKj6=AZ6FD&&A8@!k;v< z#Pb6OoEP8;Ud&2~A`7?XX7bAACEW*yN_4pUS>3)$mPT=!_;G(%U{I>oo#;qo7<2P24w zz&Y_$!k`q|ThO#XctCA7LTiiXGJvaDnd_agImOH8>rLCr0$b%cbcb z2sJ6(JiS|fxBFxB%tTjTeVNQ5KxiZCQlo64im+)ch~ah=KxfS3Ax@zWh7+^T!sD{I z&%Zt5Y^(St5!_TL`sfov#@LUTbnNRxeV;B##>4fV{}%%vul7v5)TB!~rSnGX5fqdUTq zUdtCI<(<4~#LP6zHR74JroLwZ1(n_6yA!;#fHPc%UhX6~_YOR_9cj%LvI-3KbUaW2 z$NuG+lL9NnRqKUkUpWBk+lkB?hwtirD*%eeE8iFB$8Vyn`6^tA%E}l2U5&Wc!7AAF z?#uQ7AtSmOKk1+U+)b$fRu(*pw4GLa|5c61=w%AppulXdvj9jK4lin%L23kTm^kS|JSy>KkooIG(ea&FiSH`0 z;fFzS{(R42s05uM7UW3V@Zq`S;sI&II)&xUiaw zidxw!OC~T!6YW{TT*(-&!)y=G<>D>r#6$-<^sUwBfH59W;3}7VO<` z7q%|s^V(*s)e61xTqdM8$lRnMjnC zjcFn82+iBrZcP`xw6c1%bG_C|9Y~Aj`H`K+_hlUZU0=?8vmcMXP6d&NSE0*Z6>+zUjiD^(JrZ#=~jaY3C~}gx#9Z@w7BZflafH}@@K==}uwp}8Uhg?B|MfOCx#Ye-nzVpK zaou`DQW14B=R^HVuQ~Iw8F@ulD3El z{H^Xxy4iFHAOA?gt2!`_idpcWb;07-^B*txGxA!YsV zmdUw|EWRb!Ewv$^lr5QW+N-v_vNCA%-<81+qAt?Q!H1;*C*;Cz?%3D>C*)G~sOJas z$5cznxl=AOUv2sKmCYEEJZSYk9#zp4lon7gwyxl8M$;bw(Vhs=9$94-f7bvRngAr2 zgkmD9MjEP}Tg50h=w+oYW*JhGS^ z_rtv#(H1RIQPm}3MB2C8wXCvNiM5Yze6)VsQ=y7Tt}JjJT956A4*4;@q2PvUX%n@u zTID0VL?+!=Q)S8;y`G*pt~KSI7*X)=+-nx=hi>eIM|Ii?UET9pM!l=)?Dk_X)6Nd= zSY?G*7t8~6+F$(izw-K1oc#X*ZleF7yHWaawgzc$+$$gFk3x&2`I|Ft9k&)l&)3(o%NsV54t z$3oOZbKRDv*M_88XOh1fhHs`(7?_X}tw6Ofi`Tl7anP))nvIc%2JMPmy_5k_Ojc4c zuVM7&15b%!WSE+FcYlmiuVJq?>B~C8{-@eF)i?sr#^3U5J= z3Y$P%nPdvuqsri}^IyC(p1ck~^UTfb)mZpcl`IG;8lZY_>|IPI8CaPs= z1D~936`|YJ?QUEbafNKJgQwD-it9rYDS_xEnWd|+a_M}Hd26+mI<|t#ucl3YQ=MBZv}dj^ z4#=6q%LChhuFe5WkcAMNg)hV2Ovj7a_RW8_dz49k4t|~E9--yNy)5{q*umq>kfwfD zXR~agrsf-Txa>X`2IVDFOw!(pjWAKm&>oxnWPeVnOICwHbE26SlM{r@rWEzut$cT~ z&0%UljZ`khiez?gl*~Hx0)wq<3Jdhu&7$>(qDb1Z5{gtEZrzL3{sMkzkCx~yb}vk? zqw&r`DoX#c&K!*ZKLu4)FZnCq_`E$V9>94fLZTOcrX6T3`rZCh;^hqV%&Ivkp$+v{Qn zv3&+01e#I{woH?o7G((}M>DS3t7>9rP|=b%1Dkj=$~3lg^XAb@0X@W#yJT9N33ZqKw^vWzz{ zM0;)#(R`h3YVhokUjNma`fzQv8w~l@iAz^}D%8e^E!KmFwg~eQ{&9OkK_kpua50pn z_r9?Qn_7OJ9!=oKQVR*=Lso)rK;^P|!{F2FYP>Fn(|36s1=|pDwaM5vS)Iq{X@2Chbi;C(5 zE*9O=DQFnUO-HVjMeBx*%JCm`FcL4|GI2ZlbcL&rdOY~*B(GI+CeY}{hO*m)BAa*< zCuL3ZwPm5QVOC9wHJG5kKGd<<;M-uvhYd-Kseply@)!zXsT}JdjGe9A}1Y4 zH(Yn_b+pk?L|oDV5bn7LTJf`O0&3*d%wwg}9J(N=mR5x5;Al-WmWw{e6ol9(dk z!t9PNaBKxa;X&DqFLEKxPH6%fG!mk7q2;db)`K1IJJm8G>7<;GK(vj)g+rb^_Mc2r zlas%x=l(z0?pp&^1*N8?-j)4#TT_dqu$Oq2kBZcv90Th~c87xi$X{6!&DSl!H^;l) z^GmoO;4{TI;3rvk7~RYv1{d(KRh{l@$o0sYd0_>5eZa|cQC=rhqp3YUL8#4hK7KAf z8`x?BtPr5iD_mO^YMI_z4_z7;VQ=bNHxaC)=3amVh=16vn;pe8ul=!<(~HTEE*ue! z$?=&BF3s5x&W%qP@b#b7QKrIF!d$d9T?VqMx+QKj3tP6v!{MUichF!z^o6SLE6?grO$QLrA(anT)!4}3 zDF_9{pD+Xbto5DUF$4A;@c)+|J-Xy>)}_qO_I+Mq`CaSALyiCO}LX6rBA0+PlHDQaupnqtnLNBj&1A9 z)^G8NWzR%ZBM=9fU!Wx6ADbDYDgYldIIAVhA3U12NSe zupV$#MO74=r8PPkveK_=ZStx1_j=v37qQ0>2=7Qd_cnpLQ8kN@`N{T;Q#>GALv%nQ z3HI*%$+EcF?96PVW-^$*e^OC@i7dek4?n2r<-RjZX%jkx#*pw2EsQ=I(uFUsS83*+dYbmt;- zbXu93XNhk36ZfIZp(a@CC^PlOjOR33d^S=x`VCz28agm-AKhLHFv9JW0Xu=AfsOrb z>_Qn^0bBR#^L%%%WXp#^U<;H4437p<;#5?IRjd(I;GIi+c9ViCUD}B8!!;!I2qovj-ZEyN?V?2IJCqHu*<%n3RzSga1GU4-9 zV=h9b5)!GKP*0j?ts_K;Yp5PKx-vPUEI?WAOBP&fx>qYQuy+fl$kaCveTdu?@|Y>L z30sb`a9jm3y*m14lzvp3c41pJx$4BL&ER4^RhqZz53Wp=eA z-FhS6!;arggE<$ezw0q6dn$aAWgt1CxIVA@^-S`DfKhBXEeQf=wD!3`HsV@_M7NOG z2@Rl*G@0Z!CwC34wW%j%SFYTFO5HqWRdh2d+Ta+{p^P(*)mS?WqPwHXDdz|di%8OE zH>e@UaVwQIuHEi%J;&VJTo;iu)J_Iq!^n$^2SH}vBf;jLk~oHk19_3<4sox$rdb9K z*)v>>&Wf2tX7>)JT#10N^ymk&X4Gp3nmUL0(fe>{%3+bKT+L{Lq|1k{q${Q==y@*X zpWnlDJ&O-I4$|Wh z+B2;3qI90(3(U!Tt48Mh3RBozgWaJQ@4EF2D>XTkPo1p=%zeI7+=m1gyKny0%kKeB zqIp)2M6hIbp?LNv?oG+W1%FfJ0#s?B=!jjx>ltio{cU_OIMxb-3}HhYb`bA>L*043 z@pqxKjVnI-6M{l-2Rv-Ny9=TH@VuO&aX@EoC#LiI1b3?F&6arz zkE87R;*)(Xxcl(5Qh1%x56lJtjw!MCu(PAP)%5nR!7Ke1j|wRcq_S217*4M_VG|kH zW}8rmNpoZai;Y2r9o;Z<=Z#A()mh`k_Y@i@LdkfuIC7a(Nr|YJA@ce5xsaz+p+QN; zoCq&<+SR|lfne$nJB8T`^(v1Q7_-5e)B@}!R%vnjUPqsPsItCzu5(kwMtO^> zY~*))D=t!b#pz=o_hDfo>c~lBq#{+MoQpqO?jhSgrH|{8!oc&Ho4$?&?OlKg_^X^w zzA$c{Db{gB7-hPE5#cL?Bx^rpY85xWy2G&>$!(h#s!Nj6DbWGyy?exY5tZ3qKF3v` zoE{4mMKFaTy-p`weR%xWuRr$hzh7jIneW8z)7#uPKI!BfS;^3|kF0nqNF#B5;S8yJ z)~&K@XI>9t+|(fvKfAD5Kn|3OVQ;UiH7oR9_ka}qywz3DQyaV>VYWQ9So(C}?1r$q zox}KS`$==H2c4-FWekOejTpNDs6mf%>0_uQL&^Xu&5P^on7}mjY7R>ydbu3_$&JQj zseQ6x=S-20F}q7}y=I-xoFM5@KHY&*AGwrz2MYU8)x0kBz7xVaXhk01>Te+K^rQnq zUPx2 zaajYMkdxneIXgFCe!1xBbx(Q2V$!1ZNMHLBh^gHw)!Og8u*rb*-r?IC*ROO5e?_|g zi&UEbtUJexM-KU7^}1rtT^Hzxdaqd%+rCffiEWt!YxtHydDMAbMoV?{d(uqbsMMK8 zREo)iw9Fvt4{q93^nY+sD@Ai{90uZG2L%&m-a$RQt6QcigFcZp(a*m(#PS(R$PTQ~KSn*{*N-FN80}$8YZbx77bgypM?|lF7Gg7Taq+ znhzVwKnVsfvL^;reYjx@5jN6LaW7j86;^AzDuABz*qmbZk5N-Q<)B5Yu&?5{Y^? zh;b2(Bu2~+ZxiP4CpX1i62wZ63@&bM*td{dH13nnUH->i;K3>0KYgel(;pOqLc2^m ziO$=0U;|1;z+}6Dp|0QETc#mU*qa9R=oSD<#)T#{fRO3l)pn1xN#gniNn1SHCji1*rNnl|-jl#(&kTX~lr9OzEg(U&%2gXRm$VYJog4#@WhKoC}|_g{#?VRa1YPJ<&XL3jNl5Z9ESog%52^ z8KW&?7|gmeTJ!yZB;MLcLHYF=k8io{*5`J) zczI^)R^%)QN#`C|+hfa~{P4y;_pDE0YF(F&=0nZmsa&3C%bX?JwSze;} z`4A}qa`|5M6EadBeo^JErrlh;-lx=(Y zP_y~rw1w)sp+2SAOxZbCw}Q0PGgpfct4on<_0pa27 z&ay>F>qFVhX1XP#_L7gwuCTGW|GeRs&B`&qGQBlk zZg6&`0f-Ph5pAHfl@kn6jmVenr=ofHqVK2k5C8f20pFa)#vk6;^m`w*6J))|wx{Y- zSN*o{A06X&&JQU5?10{X&It8|3`KQjDso3neZ%!jxXM#9ql!A}kTvoL_TL}6s8)B- zVyxEIxaMrY>!Vgk??711H49${xW$2jFHksrjGD3hU}&en;Z3o?{r%J7V@IF#>*I?= zXC{}Q1bla=&n&$J&nzTJ_tn?!w#gl>JxlIQ+?W$yjJ2xU?Mbs={xg2-GmBR@JcQ#e z49_Ob1-uJcO2uQ>>|a{i%;4)bo_*IGi0O z5M{zJv!GxjtC^~_5)M@A`oz(__SAAGwhiMZzAA~L?t|y0(X|!IdEMB6_z)xbBjdwg@+NJZ>c*1fWThr5r#Rts$*=x z%O-%r3hDwINc@Gu@~hxzXaP!;V2y3{TKElp`#^+n#Qy338-y*7%s z7!0+8ugJ|qjfB0B?-El4O56Rba$~z8qC0cY)o$LdY$k~QNe)Ncozp2thpC=^UFnkb zE_URd%{5bspTFMeue|>s$J+kr;u-6dLxC8dt+fxv5t8{;XNv?l;-uujuJU`qMHT#- z89T`g3wJq$>-*UvFb%lbaxf-=hsXUv;yWT24cm~6r@ZtjkWuKH%^}lJ$w#Oi1d5zT;;KXRn6&=d)U01aoHo2SvzT;Q4UW_gwXn?H6XzztMZU50{=`aw3=U zJ}NjzrwCvJS!;+vr2;)<_EJP~**;I}i6eV4d3X=8ep73r4{RYtm+-1o7AoF`?%C>! z<|f#w9BFbx%w1hvtSiB!f~uLIQ&9NoPGZW-mUywt5NAR{os_@5h@S-^$$ZQaoVi z-jh6WMk>eWN~hoHrlZLBe;Sepasb`%rm>|5g$eJG^dCM`yhrf}?8N;dOd}{>qn;t4 z{IaWfvZT75f%K%EAUA26vJI;Llvq;`u~#Y>W~^aoje6i^T?}kl)vQ?;8#Vj|WFbz1 z80WpUZi=6O`Mp;^N#zsf7-o*zZz>=4_x+wMfVp+e?f@TLJ;L_<}^ z&!qd8|AMw-C|whA?AVMu7mX<@4f4>hJ;0>C4vhQ2_)GHIq<_>b<8))e)3-b=X1Rw` zApPV4^qLbdV)i`9&Hi|-MbOEDF?sOp&H(M)_8r9eJ#qA1Nzxp_*wb4SoI4QFz*)*& zJgM7tM7jdA)!mTSFq?)fn(~{OA904FKU3_#Vx<)vz(`GRF8vlG2VqX(9jF(JFKa2} z9v5-4raX?45MOf`h^vUFe~1r}u3ItF|SMHL-ilA|j+l`&twaL<6jqJ&V943oly-yuefo;)Iv89$jW8U1t9kdYyy9#aku1X zH-)#Ggtq3=9m(kc1(tX%v!uq#a1?)Iiau%6aN;aEje9It+iO?2xJL--sP4p(=c~V# z5o1Ui$|JYcwl4_Mn{Gm(Ls%^og_V($;j{w9`9Egm*M9x$_djzs{wL4?{*zvqB-cS+ zH`yqq9h|;XaYw%EXUlKFK`=j~kOu7;Wi>gnE}q zFc%MEpKA|^M_GV0Ty@IsTmU#>)qhU=O=nV2uv07d*=GtD-?)bqL7v-L7wA6${8Lk1 zHxz$VzUPbM)lDWI~7w&(6RltxRgbDzY=wuCVz9?Q>PD zj%76T#(TBf^c#fD+qMqZxsutL=LB`G?QH zU(L$N{P2JAiUhM9AJ$G2z|4fbzvmQE#wnK9n`fGrEo51%k?niyPt{@DSiUy$;2rJ6H6l>ya`G2n^7*hTKy&{&vQRc&fS#f zzOR40Yg~hItzD4ZUOvhuXZJG6lI*1SzTtfD>Tt%kRw2NVJ#GZlWLG2#Y$ZOn+R3k7 z7?r8;F?jbi2E>gQ^GWCo0TS}T!&RNyxP8)DYA^5zvQnfS=M(71p)_*vp+{1y++FF} z54sw(7tHoLgm(Ynj$OgI3~Om(W70gp^xZGRU>O8=-ay4gB0c-FuqUz;Ov5DYGzA>b+dQ*t?o=ZFo}y>h!$ed`B7u1#mXw z%j;xpLy+9mX|5P|RhgKDhG99U4g8S6m6AJ*1chM0ge* zfXOYqMq!1WOFVy5f&fnR;#z_9;*G1iG~7%Y5xX|I0-X#8b)=PB+8hYjfOkMo!Q|Px z;3$Tv=4Uj+O2~6pm8^Q+1&=lwn|k@)h*V!?C1Py+lq2gjk%u<4SB0Ynypn-pj)xYh zHF$0Lkt+;n^@d6u&TyMuKam7=mE}IjZ?j7iaN#DKV&ZTXRw-7y;9iF(GaU%zLhexJJ( z6d#d9xp*JJMRVz%dv&ut6}NkI*rOX8Bl=Sp%;&0B{E<$>+7i zm~w@_sxtOHZf*hdqw^%K_-p2gVP%P2aOqWIIlz&fD`e*np54=2d$`Nw5SNfgEy#kCmM57Zjh8|GYg0>{LF#;i$=L5UYka1ZMAK+RV1#gDEy z-r-cDxZv=&!TAesbuFH>Zi6OcIj`W8m1hY{0;}2=gbxy{vTysYS_HTqd-0iqTOg

$^XG@88{v{mb6OG_lPl=EYfd*+`XgM^dUaax5sHS#V`P3{Cpvy2;%dVu~vV zGxg#c^PLQV6Vh90ziAG6L}hEw`>>^D%@ER_AkJ>j9z@+1O`O()8M@jD>)}0Zhj5neeuW1T-Ir zh^fyNd|4(s09x+jkfG>h+FqX=ATtVhGQk{ zhpF7r+SG^io`$p4?vSz62kxY;Owy}u(sJ@O3eu(DyLJ3X82YiP>s`B=8z!%^#4+6jg({hMg#|w9&Lob(UA9`H(i#wb zk%scRa6WU4T`;%ws_1n2g70AK*ev8uDM~xH&L||tqD4|S0yl?l07E_4qiLyNrDo(e zlhEQY1F(Nr>8&m}zpV+sFE^O^J!O$lGf2au;H)sZAH2x6myl(g*g5c&`9-SNO~qc6 zbD>SdCL#vp6ZDbfqFVw3GnQjE_rU3}YVH)ePzx^lKXO*}0%%*Tx04dMhEFU^R;=tJ zTyXqn3M1y2!Ae^*>kcN&5vP#y7L{3A&5TZ%xSrq3P|Co3eV4WcaFN~~a*-`i= zrFM(aT9^B;oN=4hzivmTTw&W4^EfxL2SC+@8gh0xKU*$(7Nkh;W|wnxa^|C@U(QbT z89&ErDR~B8DIx;ejsoQnp)k|?8{e4~?!};Id9y-`E~PHbC6_w; z3DUJ`d)kl%xjDCnuI?&4()h@vxRF~n;6#Vj9l+!oRrK0hZm&ysUiES>AdwF)NSCQK zKn3A}uiKI&K=M+Uu%(=Nw2Z=20>*RhV&`>%DW44AtyPm;v7L*;i|pH_L5F(P?_8Q) zMP}Cg;(gfT)Bkqi%fzmT7EeeA6Flr$yMFfLhWl_Plr)&}myl7-2(jtes(&g*)#kt`{4U*9n;)fdY(#ho)uLQkjh zTxk&eFdK5kNoO9s&VX?hw(3-D)*} z%xuK`x4y|lmg(({9}hIYLZ<~(-Z9w(*B$d))4JNauW-0HR;^>da>Zgme%YROugLFl zd+*J@d@6WggM_y?d;RSJ^xtIcBX3t6F4q932YXQ!K%ku7?Zx54!@Qg3pDBJ;HhlDE zKwcmdrK#d1iFx$ef@8}Z{47K+0}0YosYZ2cg{5>syr;l zQlm{<`J(Jp)qBP7_P0Z}3x5piv+B65h<$RM zZ{EnKJMG0UzI5O9GsQ9EGPU~3E9&d&8BW@6F6u^i_hh;8s?EJ91{E!vdpM#MpZZ8v z(`9BUnOjMkUP{?7{_bbKO5rC!a07$7X?Y74oqu-cmtXFT{r%2AHt9`oI=<#W3r`uB6MYSonG z<>Pzfly~Ju?4(tUBs%zPLP!a`WWH>L-jbWl^#PIc(;Zq>MpbXY3B{z>$1{WR(r|yv z!iYkBpDszb^P(qPsXq%Eg9%EkjAE<*twtw)LKM}vW0qAH*}_p+Uw$$T1Z{^HZ;E=+ zyR3k#Ff8+#`C=*6A&u}2EEoTH3T1Jci%t(Bx~ZX9Q`*=zl*-`!yM$HVvZAQa5}2~8 zU2>%|L$j9Pu12fpQmB(@5Ckb{3ImDt(>w5z(YM=c_>JPcop3ja zc9}7^&a~Ulij6K#4p^^C35Cl`8Qsc5rscH)2!-34 zJm+O{Cc7M3cu`P05>a~H^Ho|L^KCcDG)T0oep_tdVeV##y@=zebW9V>h>tH(I=xX| zAFEix7~WE+->TV%JDw+B1?I&Y6q%~g+4W#RqDB$#oH23bOBqF`7_c!L7XlQ8R zPg7!(8%JCdisaAuGC15cF-bBLPWHQ!K})9;`Xbw1 zXsdP=#(?l3e3PUb6?7qBRV8*{tmG+s#HccZ!hzoSy7Pubi!EUM}9oTJTN z+LE{v4HkI%&Yhq!_FKcY-MvjET0)k7AZLOg2pbV80g^?54a#%rD@Ot)Spp`s74o)H zT0ByPj@W4>dW%pQJrj}0wa&PRbPZE)d$qDCTz-G>m05x=CWlC6a^iKp8(;6Eq^P;P zse!p$@f=WFLhdcirEPZCxh^vRW0TX^VCh%G3D5<4W;=;8mMV$NIC1go$t~<&Z%G;n zAehUTP8khJ2Rrnz^-CnLsob9gxSo-{?tiiFvgq=4h;vj+e{@_B-Q5Vf#X z@i|@biR^oM)V#574K(_b3ya#S&F_*$(?3{{$y>=PS--tWAv(`r8|mHdXUZN6Q<}z$3({KhIOdP*0Y<%YStY@gpEszddvskz4lIY@g*2|=T%2c!LJ zdek?jUHT%$D)qzU(%+UqN41SAArLn9_j7vXkeY!6mOjDDsGfzgkDTUrNlho73(1ma z+9H~_9G43n!7vLpM=|R9h^DTOOl)W0CO&m?&x6Avc3ME1x}45}86i#W%q-?7eqXQ|s0@%HH;Zh=_F9f`9}NDWR9G(xpfVp`%o3 zL3#(v2C2b-fOG|E2@nH>7K%y<9VsESP^6d82_3)X-e;@l9MAjR`;GVBaqk!}e?YQW zYt84GPg!%WIp^;;S-~%2G=$e$(FsG135hLjX|hF|Da7uoGm?Z;T6Wn)9lPZ0`m6)3 zGT~-%g=uiJ6n?2ya_yAYn;yRif?t6nOfg{<>ssdU;BEeihu18d(GZWdn)Ybv2IT_P zBCQLZn#03apJK0|`zQtTBr`w$a?AAUoq*4JA>G;PYej3>6}YJY7fk{V>D-~`{B)}- zj&Y2K1gqz}6;?b{W>-qVGfRDH1c9WW&SgpAT`>RsvvuBE>~w6#=a|lSiWmA$8f7N< zYgk#^lC^k{MXf0{;Z<%cDGP7t(|Ua?Z_M22HX#t(j{9Es4=0|v`@Tc|-mwPI%rY?;C7HC zlx905B-Cw17)KJl`&$hIQwClduE*&@0_c}T)F4b|(UxGwA~IB}xlc3BTIrmO^sHvR z`~`8_hgwM~TDe-PPE8bfWo&EpPUVK8o#6g9rl#mlo4UjN)-}mR$Yv8PNBlq#Lq9B( zPk0NnV}TgAkT_u}JR>s8`L!dI9<|)!_$|w+-|zzQdiv#8OWl+S#>yZ9_;RE~m)+A~fR6Z$JU6L1LB^jsd6#YD8_;$i*Dkv|nPqj>QxCIA$ zV&h^wzw@rrDNQz8_N8H~R-Gm23RkjXI3rp~Q6Py75_pdn;=~+j9e*Rp1C{b zQeV4(>X3NbHGdE#rKx0fCOlU_Z_@RV0bE(RzeVUPx1B}Tr2Fs5*wzK*5!+ZO2%4Y#Y2vwH!72D zTM`nP9JvjSK56Poe=56j8{j5rn%{}<2CX&$6ij6h*s^Z0x!*(5j(mB{b&r81pguij zhRyvHS58AeV$`>T6wH_ESi15$Ug6kw%Eg(VZ>K*y`u`T*z|Um=^D#$HYUU&Xt3|WK zJQa|%6r!2f$a#b8Pw&qfk@DtA&ITEKxomylcUk>W zQ_!q5E`qoFNG*dD1Og@KS-Mek#i6se4DuQ#=ZQ}fW2p^`2TTN=?hy_}j#91(5u1KhPhU zbuU*mc7NIdl^C>DsoFQ;1q=sA3HlCRQY^)}#UV7wSGf9W~kVHFv;&4GSrdTK;ID~jdSAT0xoXN}Vp9B@Ii zTQ3>(ddG{2BCob}$P1tq|KmCuF#(lA(TvLjyC=j=u0rV|D-q3i`+9QEEot+f#XS`V zn@$hX0wDo&)szgweM0d?X$QBr7;&TfP);Ght>?*Y=KLj~*Jv z7~9G7Vb)K5)78`D^xK8Q46h4?SW9iyDJ&oJKX5j+&;q98y7G` z8CFvn7Cm-98yrK%ijff0H195D^D-VyL2sE5lTw80+-PdI3_G6ZFtQA2C}Z!tF3h?% zdR}xUBy20k{c{S(Z@zCV5~uJCec_RHplf#KV?;LQ=I(%f~{M z^7m6DIuG+c^G3~hsq0NspsB@LKankrh`nRw2#EAHLPdFVCVYS*C9z~yuG#zQ?@{Cl z_}M5v{?F zexahPugg(DCcn{3EHv#8Z%;_<39~T{J7%84^kc=hUZCV}6BwsQNw%2vCV+9vaeKlI zmfG!Onvye*gUIM;+4SHEMaM=B0(>H;c03SoOd!UoOGCE2XR8BpTRw>?^c`6IQCBgR zOii<;z%T*OHO{`>xNVZHeK+v#%9#KNNDUS*C%7e4&Ap~C6uZ6Y0v8NQ+x*yea4Z7A zA6yefET;r=>W$Y3s-hN_QBSMyVY#)hvha4(8y2~(yGx7(F(6%VRtCm{J;~lO)G|`l zCwaMT;s;r5Dz&82qqH9OK{<Riy^crCin+C_2L z+TFMbj2a5-Q=AI(+3lu_G{&~Y6Z?~s_OvD9;uGy#4<+n`&W?C;FZ;e~LR~sN>DD~A z?Owi^QpIl^+0h#6qE;0tn2kvwK^1}mLSpc*EJry}@atNoVV>L3tEt*wqk@9$04+va~#KXc7$eV`z476Xqi!WzY* zjHd=Wlz_aMJRHbJW40HbbMtoxn*7?tKuX;gD(4*Qe?T^~bjB{;I;ApHr1}6Z#hWh> zCl#$|#E!`FNzEUs7Ic8sp3L;2=1@8cD+eCSu7j~!!u(JmpE5UK^|=le8|>aRgF}l$ zj9U0HNdNunwtHY%k^18z_%BrM%${ys%A7Z{`{(i^BI9i5YPZ8?TkXyYds-hxresC^ zRxG8We|Kmv3LRk7KiEVd4;mw~>~RAsYIGE!@>NZ{@%LfkYC=yoe;fUIxdX3DtS%4^ z>ac9<)5S=n>vCUwYbq#wlb*zo^huBD*7aLTe30eq(zQ8t`lCevR*KO_QkfRLBSd^j zUlT`@u!q%g zeNfk^q<6Q|8jp(%D?frYD!ErBh|TiRA-0N$GhWKtVVYNmh+Bh%J7 zy*MdHqUDASR!&wkZ>%`9j78;o)XY}F-8G$lHJ$DdaR?Mt3Gs(O{I&dhNYZ_v`LOH6 z(9$!phMKCj_v(ly>-+(&uc48nz=F10)`Bnk~w>4zZGBH)Am+CxbZub$7! z=60|-otFaQ?gBBPp!GISPAr|_)L=Nl(?65b2@TPV_XZ4;!V?{QFACjG7eEuaeT$X& zX~}-xcXokH_uHX@G9jTa`!XA>2Gt+Np5ZUUUE*zum{#T&A2d$Ynl2B~zA>#suc1Y> zg#sYYI=u@5(IZ9LY}&kiw-1#^^t~pmVV;J)Y^=-5YhdFdBb^RXGdX_WhxU?RlOrfe zHt4lU?*Qh`iHz}rCS`=Fr{hgbjK1<(AT4c-IRkH+%Z27570)a7?JUA^Rz{&sLTzuado>U|X262`Pu%)Z8cUASA?4YQ&_x z{GnFe=CphAZwY<9n7A|h5|}w#re7$?-go&th9Z~ zykzZ$inICbz|&UcwH%<5`wlZ{hgW%ym*Du?aO^99wZ0!K2{ar?iJM7_R$Tq9E3EJS z^gspupr)XCLEJMHp1jw+9e@_yogk}m9uRiH+{>J51uEz%Ay)= zm#lj_&6^@xY=&*Nep68bsi<`*J2edE6+sLrQeFV8W1ovjS%1DmH%PB1Nfl zcG;K#K8_kIQzBS$tfe`B43{V(sxzM~4b2SH)@Dch-8Hb!Mv$!_%M0Ck)xy{UprWN8 z0PYWq*1DaXY0J>!zbAobNc?-p>eKpH{Mx51lT?2=oolkprQ&|R_+oMci$8dAEC-)jaXRi zTNtn_4lV;J%Q)VfUu~J)pt$c>ol556=ua90EX$|G*`dZL>abV?yeJEot|5t~n_fbT zM~b$?0zyx#hq;$hf-WWd7=cDG0xr46`)nupW>oH2Dn^{pI(cK+pJ-dsb)yyM6p<&o z6cBe%rxEE5VgAX zZYW>S$PhjjVjyKqbi&0-IO>l9+D3|hW> zRY*@gRR|-S3R*rrKmZ?R;{P~YfrI$9NLOAPtZ{N4 zs}5CyXsH!*Zs;q0bzY7va&X`J{o`bO{MU*?jQ+HNP59A5#FGu(c<%7xwqGl0_3ZFm zS^mCzF;;PF|7d*T_nH0UO8-mf4~l)3JiETN5y)wd)s@j{dWjNs1dp97S5ezSE1FeO z(w06~ZS*RyeAue?y{d9da44IT?pNUyiXyl#1Nfm?Z2KphcLjci4#jq^#wdPB^OO?AK2Q?I zr4lg#yvWIXK`948X;K@1`tH?*l=s_mt=ph-XMpOg2(pSqQc?%kXrEpHTlJpO-9OBj zYVu~bQ2Vg#41{c-8*YB+tNlV{w=101l-TpgKPCA6mNSLRt4P1VyS%m9|!gC zf6$tN_jG_fglD{Kmx-H7o5}l;!LINA9q#Gz+-s_zR@erOO1Z_j7p1|x{WpcD^f1q5or`@GncEl zM&dFz4bU8fbcjohm}kAe&o|$e@Q6v{?r+wCkZR**JQy{)1~$(_M)a9?_T7dy`y6d= za(tnJ;ST^FI#UfCdbr%I6&Z>6qn$i8=XWDPCW~md#-@$L!y#^{Zyc9ljHX6?Qn-3 ze^p|t_LuBPgZVT)#QUN5eeWyR@cv-uM46(?)-4X_Na|qZ@-=gQ4aW)uPDqR-p^xmj zG+rh9aR@&{dfqFT!SClV502OxbdbSi! zAr`2*JyrgU4$)z=Wngg(hD{AJ6Odr=s|lNepD~E{(XBTng3#TZvGS(F?`u!-<)Ly5 z=LK03TesO3yzI3Nrlq%S^EXY-LmXcV{~itCKw2Gf z{V?b%x6HHNWG$%Farax?vgUw)w0f=FMLj3;{GLWE7yXivuJ5%iX!xPOxK?nd#42C( z$rqhLwovNT8X8b2dQ-5;kFS1O=MY(L23DLVI*x;e4w6@>6+n=zJko~R-7;}-Gek4xRCL$HW!*0oH^bQ4q@UDlR{LXF zLw`Bxnz4wqW2e)@DTuz|Wco>0UO}K#Y{vTG4)WnhlLcSeo0#q$N6+hh1#MENb>PVo z#vb8y3}>Z$x`#Q@mxLJ7p`5pNe;DYnb#{fC!&3lM5C(`xiu0#A`!UPE^M!$gfXNe3KMYqlX z{4*E=YEdiE;7TRgO^R{0ws;lm?SQ`0oQFiz{xH8~e;9uc`lc}HKjp$UyHp0jeenS= z-WMyo;BcS8X|hVm4A|=?rTGGQHFj<}*h<^-Q(GhbLLm zV(uJjH|_uw54&%=1>J87a{>Ob#fS?WPi1Khb<{(%Md}G%F2NDp0H#l#=I|EUi|;?xDb;uR`n#B7Y#0cZ zty3{aP49@};xc>W=5hmPJ?SjK-(jw-no2t0UqKl zfS6ZyuP$TB{+z+p0CDcNwsXB9OM&yLMBco-qM7Hn<^UQrIhjDG0t4Q&nVkDdJG8XS zag{;SBb-$^kEl-So~E{WlQ$UH9?v8KUKxt#5Fz3Ooc*$VyeAwHGPDX;gS2Oh#huJF zcxVqKrX1uO)5_Idg@{5=%yA%a?GXCf%&SI!dea>A<}7u|)VOpcQ>?RWmg{!$+|Wfe z?xg$K90&SRTSDykXj zlHc{7z*DHj4RA9FYT4EjGmi9~<^Z#xjP(p^Ky}xkZZVbEM0b!?dyEN#=_LvsY%Gii zeOJHl_Y;0eVYyHlJevVMwq6)altM@G?%rv|exWj*slAyo&9-`eV8HXwVXENx`9Rt> z)fZXp&Jx}qpe(jJ9VgEm>C9TG8e`5)U~ZTjnx_g`t!T_t$|)&%iz&RO>WF@B+RAmf zvGDlc#`dJ?d%)H^y&NBuvk<_ia;RvF$|j4x=+m{lQp#}SUQyiJEs&s=gzA(Xgr`4w zj^c8z*JC9v#%o8%eyjFE)9Vl0Y%)58cWoC3;6_|fEE{XIAFNM*taC3{zSTj~C8iE+ zFCuB@2{TyRKGqwUNIF);8JS?8E6r(XXD%=46z+_&k1CZ;Ipe%_Eg?kJ@s4Zkuu}|H z#>$|qH_)Zvsm6mrcb8Vh`_i|r0 z+EZHe3i3MVJTTWFufuV`3$B@tvpK__nkr4ej2RC1de>)IiMBrvku{L0luoIrjE(s; zIMRIwc80xktF>X=ime5iKe|NPb?G{&SX8Kzbm`;Rc-96l+0P0+1dJ=m3r{ohwd;85 z&UKIK*51+By_#d>a>N18eG!;Hp1_zDakAJT3(>;G;Nfn-^A@3+?hoT0?mCw1T(8T< zdz`vq_P6?Zd~LM|RLx{$SBhlWM&~U&$|Rw0Mj(II;(e4+sTB(jxfYKxs~<=f7l^TX zSaV4{(*>7UFqK+^UA>xNVzg*S4DYe1$1XeYCzqNdBWh{nSqO-kUV2T}KUSuO7M)Ky zs5;!z%`R9sO!jAR8Z_>Vw{z#Tc5%O^{4rWtrM>}C*)idA&KDPOUPxt^PgyVCeW=$?8^*C+^wK0i3Lu*peipBe|=?Q(;ji2kk_b>fFv%5VDvp?{-ax;Oy z`)LQ(OFW|6k<>5{%ap*EV7x~Dz{zjX~6ciC^F@pz7J@8$lwzg=m%ouEz8yd~I+~lPyBFL^b3?jo8P2kG>R?>@Y*4oRK?ZYH)<|k1 ztX?amMQp=ORP)4HH+_h=kpWU%-}$A-!*Ef7l@|6$&Pv=$muUN_(ZUo@^JgnuT#(6? zx!Dp?UjGFZ>g$EDE#=Itv4~g3XeTbFAx*) zAq#mX06* z)FoGH*%^eaHnkE+92o`xHSF~M#q6r<*yz8XsF6Q^qCN}z+kgBIe}7>s3d;9T`HByy z%_r3p8q+$v1#$G8Y#zuPii)Un?a<}UmsXwjDEgW_MM8ESU7pmUE;H+OIJA3GmlVX= z1mG2U3->3qvB~oDvsJ@vTf?UIh4g1j7CM}dcfs%OSQ`|LsVZcAq592BQ_Qqn1y3tX zhh{60;i$Pf?nb}1x4|#S&Z<}u6$^b{=&&u;X5_Q9x>DZlr9UWPK(1{rZYi(Pq=8Xh zzX2D@u$||P71nfQ-=}RS%Dr3`xqGe{DRnL2lSD?qGCMC=LXYmJ^X^IRE$zPCvAEZc z=S>H1z`@EwbkWQH-u4!u%wu=#Oa#I?xwcgvbqE+ZqymdS}8Y8_UYf;YfDisf5^ zZ3g%67L|{XEQ!&@t6&8A@&)BuC3A+%+<@tsDcF$Ee=+{#*PB;#3r(|12D)a|B0NE$ zvMk3}D97LO`qeH4p7Bc>S9CW_y-r5Z**G{{pJSaAD;*eEjq7^vB1WFnIm?6Z>` zWd&i8)g;j}hb>=*C_+Ttj2#7m@SyA!e%%LTB}?eGvg6G}X{_hDcg3o}e%)R;5o@?T zY-4`S{2^iDlb!UPexHRUf0(6>f7+~(QggMSl6zvxp`t~r6HCEXTrwPX_iSE%73f~D z!qM+TZW??MITath*Msak;Z6k=&2Eg5EfE@VJmm%leetP$>LV~e6{9HI&HxM;0_h6o zb_3ITH+ZX5J-O*I?kS@QS7%HT!M;u|jWsD@^-8f3Pl@1_qbI~e=08qF(=vEymV93* zKW_BQo0kvO19#;)y0L?+QloQ?ZSqRVUeY_yO-jzk-El4^A;O42Xh$y1nnfxv8g?M) zmI+EcWV+9ivs%gO?|N~PWvX!S)rℑ)ie3y29t8%vBLp;!aaaT4?7o<&{%E-%vgN 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

-

  • holaMundo.py ~ submission by Marco Alfonso
    +
  • hola_mundo.py ~ submission by Marco Alfonso
    "Hello, World!" example translated to Spanish, from Marco Alfonso's blog.
  • -

  • chemicalFormulas.py
    +
  • chemical_formulas.py
    Simple example to demonstrate the use of ParseResults returned from parseString(). Parses a chemical formula (such as "H2O" or "C6H5OH"), and walks the returned list of tokens to calculate the molecular weight.
  • @@ -141,17 +141,6 @@ An expression parser that parses search strings, with special keyword and expres

    -

  • sparser.py ~ submission by Tim Cera
    -A configurable parser module that can be configured with a list of tuples, giving a high-level definition for parsing common sets -of water table data files. Tim had to contend with several different styles of data file formats, each with slight variations of its own. -Tim created a configurable parser (or "SPECIFIED parser" - hence the name "sparser"), that simply works from a config variable listing -the field names and data types, and implicitly, their order in the source data file. -

    -See mayport_florida_8720220_data_def.txt for an -example configuration file. -

  • -

    -

  • romanNumerals.py
    A Roman numeral generator and parser example, showing the power of parse actions to compile Roman numerals into their integer values. @@ -256,26 +245,22 @@ A parser for the data representation format, Stackish.

  • builtin_parse_action_demo.py
    -New in version 1.5.7
    Demonstration of using builtins (min, max, sum, len, etc.) as parse actions.
  • antlr_grammar.py~ submission by Luca DellOlio
    -New in version 1.5.7
    Pyparsing example parsing ANTLR .a files and generating a working pyparsing parser.
  • shapes.py
    -New in version 1.5.7
    Parse actions example simple shape definition syntax, and returning the matched tokens as domain objects instead of just strings.
  • datetimeParseActions.py
    -New in version 1.5.7
    Parse actions example showing a parse action returning a datetime object instead of string tokens, and doing validation of the tokens, raising a ParseException if the given YYYY/MM/DD string does not represent a valid date. @@ -283,7 +268,6 @@ given YYYY/MM/DD string does not represent a valid date.

  • position.py
    -New in version 1.5.7
    Demonstration of a couple of different ways to capture the location a particular expression was found within the overall input string.
  • diff --git a/examples/__pycache__/TAP.cpython-310.pyc b/examples/__pycache__/TAP.cpython-310.pyc deleted file mode 100644 index c9e46809801bae48d272fedf3caf96914fc47383..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6195 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 diff --git a/examples/__pycache__/TAP.cpython-311.pyc b/examples/__pycache__/TAP.cpython-311.pyc deleted file mode 100644 index 4bc60b5272c65032e6a689d4e22b1b250163cb15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13047 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 Iv3cr$07E7~r2qf` diff --git a/examples/__pycache__/TAP.cpython-36.pyc b/examples/__pycache__/TAP.cpython-36.pyc deleted file mode 100644 index 78ff89a18b1fbc8190c586c6105ac035068b6f9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6083 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 tQO9z02N$OiQ%j0 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 MhaNa)>AQ~pAOGf{yZ`_I diff --git a/examples/__pycache__/TAP.cpython-38.pyc b/examples/__pycache__/TAP.cpython-38.pyc deleted file mode 100644 index fc2b0c74a38267917b627417487347b8c3a9c03f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6169 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 diff --git a/examples/__pycache__/__init__.cpython-36.pyc b/examples/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index fe6605e997e84bbc2b71d2c69db041f708838e1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmXr!<>d<5|0tdT2p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CU%L7k`MIh31&O6O z`YEYp`URB*iABYkdFlG86^Xe8IjP0^@$s2?nI-Y@dIgoYIBatBQ%ZAE?Lfv912F>t DPhB1? diff --git a/examples/__pycache__/__init__.cpython-37.pyc b/examples/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index e62188eae72da8c657bfca4d01dec6ede8fd7068..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmZ?b<>g`kf{^`>;z9Id5CH>>K!yVl7qb9~6oz01O-8?!3`HPe1o2B(KO;XkRlgvy zG)F%rwM@UDvLLajI5RI@KeZw;w;(6ASU)~KGcU6wK3=b&@)n0pZhlH>PO2Tqn9o4W F003I~9=iYl diff --git a/examples/__pycache__/__init__.cpython-38.pyc b/examples/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index bca775470e190962c25853b84ef8d685cb82a998..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmWIL<>g`kf{^`>;z9Id5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;!Hnenx(7s(wLY zX^wtMYMFjPWkF(5ab{k+eriQxZb43Jv3`7fW?p7Ve7s&kg`kf{^`>;z9Id5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;!Hnenx(7s(wLY zX^wtMYMFjPWkF(5ab{k+eriQxZb43Jv3`7fW?p7Ve7s&kV#}vbxohT5VZ2##qK&g}E%_lVO;d4PcQCGqW4UFqYY)IeJ>EwB4Xqi|P{C zGLF~{^DvM53HBqu)cd$k`?eALHZQxG)si_JBSmK&nOS*NW>z#f=rH_EED!mI!;Jll z7N7nKxVVR3{H@8DU@jAeFq=kbx@MShGoj^LVb;xtIX4&P-F#@fc35x=q2oFR`+?lOAOB8H-S1$!!+u23Z~19T-)k_6`d_CVcLp59 z&%g++AO|xO^6+* z%46lXgx`!>(5LF8EPduV$7%QHe9Moy&*LC$H-RG~hwZk6I1b(bk9S(i-{x_|)fVtg z>4%{&c@T5(;~lOdF2NVX_=@CL@mFW zc&8;`BWR&vAyJ`oHb5c) z#0`?y|IwVjW&C0)9Pf;G%wvMp*au_vgOOM*KZJ^zSZK+HEFr}QCb6!tU+3nxq7dfW zey2Gv;LZF|6z5^vrvS$Db(LTENAu5g z6R6uuHio)Y%+>CIW}TY65>Hm-AktP0IfR4OE(IrWNpdB$rRQ-%o<#6bYKr)6j}(!b zWWFpaCN!ca*>w0Sdq;fb5h52qy5;VYHcL*ruH+X7qlyu)8-^ znVh+I=h873XOKsSe;g+Y%`G#9{uS>u23RKLo9AIUD7J4X#xMC%_mB-b!2dhbLtv9YLKUrJ(E3Wle!Rtl` zeqmWs=$!~+mh2;kj+>I>(9J!4vAg&DdN=>{#iX9(o-WLOha1CBUp$K^FI~AdRhhY? zF&A-1e75%m$#jx$L}7^fcI~In;@zp|bJNGXb#x)qt09cj?0_9ox|pkyZY&y+ZANcF zV)7X3OH=IIO+Ty)|L$WX)k#of@+!`c2|5Z3#hSvRMHz=!i}4;#k|a~dR?;n#mkE5l z7Wziexoh}oj}5cLLDS@pr*_(q*bS^n-YdYo#L|X3H6h8xN@6+x)wp*|8w-!omn1d& zK))IeF(WFO)a=9#dd@=!a`nqe6GuLDUMNK!!(smv0{5y%s;3DE0S(%sRikz_)@ zEvetg^90TiIE%o|{`BP0`hz69{OIAsYGPK`-Q0tpo>W(AiS=W(_MAf+nmf$klK&2`chvV`t{rV<`4lEL00rAu8g_ybien|-~B1J z{=~sIPE+WEB|S4_g}`+>bs$B(@tYlR3+V#6-BMaD@cJs8#YtAL53b)tV*mgE diff --git a/examples/__pycache__/btpyparse.cpython-311.pyc b/examples/__pycache__/btpyparse.cpython-311.pyc deleted file mode 100644 index 513febf9c5e0a205f7fa9f88544961af89c2f24d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6662 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 Ct~aFs diff --git a/examples/__pycache__/btpyparse.cpython-37.pyc b/examples/__pycache__/btpyparse.cpython-37.pyc deleted file mode 100644 index e48799e5c44ecd5ae6f1dced52ed859eb4e03a1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3315 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 diff --git a/examples/__pycache__/configParse.cpython-310.pyc b/examples/__pycache__/configParse.cpython-310.pyc deleted file mode 100644 index 00b553234b804a591e3697858ffc52e065aef9d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1955 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 LD=w688AkhWZ3xeu diff --git a/examples/__pycache__/configParse.cpython-38.pyc b/examples/__pycache__/configParse.cpython-38.pyc deleted file mode 100644 index 5060111aeab9d32d078b124ff5f0545c8eb1331a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1975 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 N4fmQ0>05;c{|78~&~yL* diff --git a/examples/__pycache__/delta_time.cpython-310.pyc b/examples/__pycache__/delta_time.cpython-310.pyc deleted file mode 100644 index f9d7cedee9965182dc3b6e3b6673d8ed303d0b08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10624 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 diff --git a/examples/__pycache__/delta_time.cpython-311.pyc b/examples/__pycache__/delta_time.cpython-311.pyc deleted file mode 100644 index 76da3b5f29b66cc87567869befbcce4dab89988b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27447 zcmcJ1X^?b+0OkM&z~Gu09D@axP13_As(>BrT&`~H z661lzu*k6FU^t|ZWI7!C10jbP-Y_B@;Xe-hhyVGPMIW+kOKp*|MTru0k@A|91nvTU zFRSaw>gpZrE?HmHmHF~z=F7~N`LZ(WpNGQ%7aSj)I#roja=E^TFZvN|JXHUEo6Gf0 zm+X?su4~U#cI}Ze*`sAj(2ef8%N}+Y%7W~EK+2-*`I@Wjr7p$u(5Ew#g|E55#V?Cb zS&X{7e*YFc{7e1CC3~OwzD2&b)^ja^U7XGb;6#ICp@*LGl zd0vm7@1dS9=@h3mruzB=n+oKgK#|qoE8<~A@thXVWVAUF|Fvn z$};cYB9B8nRrxH)w1?GA=N`7m)3<37IcLP`dAO=S%cW<-e1F#>4I?~HXF1BFUvnv^ zd48DA@_FTa3%+AKU+Beql|HN^u=CaHPbb_ zV0xNeA)ZEB<>_W$X9+21c*^oc<-Br{<#$b4Yaycgr{ncWe#HWjj4TN@)?xJRhnofqdp<<*4hgbBvtX$&5%cuEwj0gEN;u~t_*PPx4tz(*zR|{F#OZlq22ok@hTx}uoYkW$f zgfA&qk$-tzS#J@?l0A&P3~_7#y>qE<*y)u{rGv$>+0dCryHZA#G4z2k9XH;0kl0yy zh3AVBD_@t-LRxMp2_=bqloY#Wl~Z~dDA!rcH~S#NU-@XfV{VW-ns0z?DWblAk=G!OH-O$bjyLS|%DPtGtd$ydi+@w>+WR)Il`qKa zZ!-(|m%QqCAl0AeM<5Uv-C}2P<2eQ|y6ZldrIBIu714A%5JT)S#QJVZRIP6 zs#2})9PHmStZxVlwxkPFQLVw{o35H+d%Ii@jpt*VJfB)QKsfE-!Wua{CcJFX~JlY+Xm3PJuA0Gmvo&5*n%2z6ThY$-m zgLJl0He-j6>#4oU+sZcZQ64DjHb&1RrsBLp5zY@haG@@hs5rmCq(w+5?}YBb&=7}P zAqOm+wqR|cflD_QZd$>I6mES0k-P301p_ZwfPHXQ7vXZvMW7ImU0+Op0R-`cJfYS? zIi^q;;BHR8+;M%A5Z5;{vTMtwiol>qv>dzZbZkP!!C~2p!mZZSDi*0ENool0FZ_!S zlzpsI%W4eXN8zmEtWdz^qxn~%S5=%25?vmj?*+ViS?a*WMMxLzqW%s*JkcRo(AhUI zCX8EwlsZ(Lm^u3SgMCG+y?Y?l-cl7sx_|IUmG1Anqe#`AuSiwp9c5oqb{@P{llFIz z5MOthYwcZS7szUF?Wi>coH3;Kuydc?fq`~Ma`wa+AuaM^F2H2J_V_tUzewsrwN_DU z^^mpB)V=$U_7rvJ-chM`AXgqswS&C_RXuoDdaP7yii%GA2M7Do-j2MlCG_B3t~jv} zSbO{>c;MTky%lmr3$u95dhe;Vq5wbbs9}|991qQQYHQCtRMR&Zv7p^X@@K8H1PiNuAWJ zwIz9fXLomdYUVAK>E!MEJIbzHRp)?Kf%5~bWYm=+DH0$fL`Cboig_fYEgFlrwd)W> zZ%_ycp;oTCf2=Fto$u9A7|JumiaLNUEJQT0YQc#adjlrsHF$tYbn+DL%?ICcUvPaf z_=FsTnBO6)B-3NpF+nkYBZT_5=-xc?UA`=BY)D&MOr%W79PaMaid4nfkh1$eh(zn* zm=>;Qn9yY9KJ;@nPHv}weizOvN}jq#h!5mOzv_8ejWUM<@lg6wBq4NkRWTccM03&J zlOd#qv_BMTOJ_nEe>#;8N7~}y_HaA&Mc~6^RS#hkf)>R3=W;t}#V;$WB5O%xjpsRv z5OW9}^1WKwbNTYd1}9=e6TSn4c1>ul)%ca->(s2ByymiNNs~^dva5Bt2QbEhB4Gug zmbA3GLD#D@@NB8LFMNx;mAx;^m1T7qd@!*eU=h9JQgN21iVh&zb`yzYDxJva$ads9 zvK@&|9nmf;x_eFZ^$!&K26YS-he|`GzF{5RBUZGH5~3+H{{$Qo>I~NIj=Tqh_jV8N zy{(Qz!qf@8OvB|UT={bKU>6k~(jEozDjnQMHOLhUssdK?>(J`$3Pz?+!Mpk3+X0B? z>ow%jI3A+B*um31wb1AkFtmq9^OMq3tVT_TOrE)I)c|{{#vyy239Ws3{<8R+gn^XH{`Wv*JcQ8NVa9;*VLED-JOZWh2G7O^ zJ9x&9n;p*ryb)r}Pcf)f{iE1Ej9$1g3#jhk-p)PsKd za_T;Pm{SkmJJ>sf%B5)lRufe;=-zj$t8lA}S|?i%1EAwGW~=nLtH_C<$JhHqH7l#m?Jo3NsoI2mUX4p?5XyC$#m4>BvWQK-P0?@D2m`T$hP_x742>(2*-xQ5?Q+(J()dg*o=azTWx(^3jOf!a6Ww%m8qXS<#-Dr#oB1|{pfC_s0RcjYy8r8g> zd1~lDsFlWHqjA)SGPUbEXvb_^vEK%*-O!H@jbXp;FMDJ`7G*DLIA^_L>X0J{{e;xe z)@vMAO>#`oA3p9wzRl0~5RYHikHx^Ix(Ok*{`4$7?L@(nevbZZ*r;BDCr~Y3O#@UL z18rudgF4_ffqE5#F@9_Kw2qe%ykK_K4Y=rIrm$w`H@I@6r({DhZ0jY;3RvBO(EkF? z#?Z+}j!2$Pk<+9K2?mWJ66!vBsXJ*ZA)f2-bqJH$0Y?mGtr*LmjEh+ZoWEdqh3cF1 zrx4j(w$H$1wgKHg-#a$3xRhK@F0Y(jS<{icq~q$ftJifTuP3hy@w8;3SSpU`m|QLb z(knb*u-q;rG-%Bz!kQ5@8W{HN-{YGJR%1M?sI77E%$iBY+D!P0Z&X+qCbOY3-BfQu z*!PK6-gd3ufm)v%6=UmdSQKwSz<&eh2iPZ4myf_u_|*p@dlA93_yDWQbu_`*uT7o07n9tdy5E0edGZc_ir zG3X&2;T+Q=u=3y;3ghrsW#NgiA33HCKaa)l*JUB-dLmdW%rP;?HSmnqB0J#O7@6^- zotim-avj^ogDf>JS=6-`RzQ>diFiytW89!M^y9OooGq#1v@WLoGp5eWDrj)KR%c_; zzy+ zpne{RS+7|4JXR`dUD!L=uf0`wL+nh07QJkOfu*1f@qs&->}AwtIKf^m2k|C1oV{?D zckbVZQ9gQN&R|{`4{cVW=R}FCdl2S7z*+5w3w3Q0pL>Y(k~c}p-AOv>LlUKwE|V_- zJReda^^drY+qGhZ z`?8B6~Y~TOXg`2nJ^H+M@{_{%|6l%A0^`kU<^Ak>Zq&nfaMBI#P>P zbIkiKAdfuyFuN{Mj;~f7(b&?$UOA%7zaC`Utm+q z`)Sbc7<<#f>vx?Vco^dk>zD(rjE2pEb0NkE#O#TfokBS~h1z>Ch=sFDurt7%h|Qb#76>C%BSp~celj5I6F&dtv)>5!InM3 zLfAA_(o$h8J32jSW5rU&0cRHNuD~-PBsH+A z#$NmUt#Qb%g(=lG~ z8(U+(kC`x5Td*F}XZcWx!kUe}L-pr?J_#+mIs^}3eNZ1+WFJU-J@|n+MWP>-1kX=O zqUVM0RU~*8OpPJ8Zh=sdEJODiA|X%8llq8}lQDqrZ$rUVjT9TqPrbuUcS}A=m;?RN z_*f11IT(k}oeaIB^=b2zo!L%fG#T)>8wmIv5O0t77%0RWNF)<|21*GXj;?mDV4=XL z;|7L02TT+OJBO_B7yZRgMy+c!2xTnJ5;i)!I*SH2Ivp^-aBlV5y4?q)l<{Z%*^bVR zAsrAyTF3|)7^n>BfKLyzIx@4FSv?h~S)28$(P@7PsvkcLf4z>H?=W%l1eO-~pHS$I z3FyO7SXe-pT;B*Z=1Pl#)=VBjbgZqYe;=Qozy-&&Y_`Djw(_{z7?YNL64=$cY&&<$~PMSH3Yx)Mh>(2{PLqidbMk=LXf<>-0@>bcvSnPH}Y8E$L=Bx)$+rG_&^7$I&H}>>Nkcx+Lb0X%Oib8uwFNxRyEk z4Ne!zr=4^3I=ncVGfuhTC|ab5qggzWOAC2$TpT6KQM^uCmYmXpvgSA~+qD{&B1iE$ zbz#{lE{@CVr1<1AXzG)gMPtv?$$XkLbyKdJG^D0!xI8&ZSYCNA@EhbGd49ojpTHg> z-xGJuu$*A>@SOG2SgSrCKS1&toVaR+#RYq|3=2`~`L!!pq3&m^`~rLYmjX;ClWl^2bO^LjBnZ+al^s*^kcZdYGAe=SzB6cE+%gxV9Sl0IZjD9aaomgZ)z60UHD)nMcoZ8 z*Z3K1*kZw^N1)FdD??6H$l~D3o>yg_9((9VCToM=Rv)JK5e!% z?7RnFM^SL);@Qc32+lEd=G}kzJK&D&8!@8_fUN^xN8argXT5zs$0@j@FxNVdf|h2< zKH(gttZf5UH|zN-vD{eN2Sm5?=a^(AyJx7D`DBDuq9tAC0kF6azidrMY+J6+Y#>eXVQJbwY@BA5N$zNfe31so8 z-O5Epo__?v*>dFP(1E+2<6_0<_yMIDI11>U0c1MNX{e)+ zRW%(&c%5_<=9CdsNlptLC8wR#&k@^urZ+(+U3!$VR5l9%D_1?OtmERgYhpcNt7mHP z@N0yh!f;p{246{k(G6?E7GRYTwpe!jBCHp)d@;odUivokRVQIB8PTTFao{2g+?)1A zMq93lt-S8Jac*m?9){&LJNF+qrgrO|wR2b2VLBEkM%YXfY#4(w(!Q#|t}xuuDVNzd zt!?G7y0eQb#bGOLDsOKluI0U845x#{Ag^#E^@-j}@&P|+r%Ji5h4QEDp_>-YTMhZ#($yhqpr=u`7 zK5s6_h%Lkxmaaq@!jr>5nHh`?Y2e@dlm1EVOI~zH|7-=lm^4r=!oqp~;X$>=_PKK3 zkeT@S8SuJr2w$dZDo!)OisVQ8w_!rNS`^BmdyiCDXQ^!gf+a-gT-N8?aZvyhr21g(Us6LW=%rAx)nbGW1UhS^CF?9Q}TwgZ@#Wlm20$i+)ea!<6BxJoUV!e^BV5 zzc2RE?}~l&JB5DF@AVI?5e)^nL+ToodAH{yk0;-FTXXxq9hh75FOuqS8X2Rr^xJyY zqJ(}(PvyT&r=|Zyr=gTOlsM|3kYAe?aqv@6oQpAJWdkAJLA& z_i3*1$242`6PhVJr)lX=MOg4e6NSH^?c!h3xcCDaEBw$C?f)x2V@TCYJnXs#-yP_0 z2A0++WC$lQu_8NeDv-EM1-(Kn>=Od*ohI5k+9VyZu2{bT%X7QPLx@I2f5cdj0t-`e z9nnq>BFvRr7R-)LbWHL94moqazjI)0s&kqLP;_(^OpMQT&GG<>PU{!diMjkd51=?X z9eJr}Vu~#?z=Z}nfJY|RXJTY5H_ihnQl=8g^fapxpy=rvF)=&WH_zj>QhIValGY^< zgG1>e4~T`6*w}b}f(KA=O$-dChIkCmr2s(3)tvDOX_Cjx ziUa_U}_K$Oql5C40iDt z>>BI>POn=M(e`{ik2y*8Bzy4wdO3=U*7nj$l4je_^%YCFiOGtwQ#rumMHB0ri`RMN zuIH|2drb@#vn3v*3t7OK3ns3upV{D%-N(1mv8XsxY2Rr zr<0@3!H&Vww28&#(h84`m5!C(VH1;6z0*AA&h-K=Y?!!x=fYhcy?1->>MJ$zzPL2H z%p;f@1(@|InCR#V=6Q_fNAp&SE-BcU}+)CBVr!U`k0-wH~z8MFF- zTq~DNT)(+;i$~Y3u3M-lqoNQNCJh7x1Hmq7$bu0`$CzY6a4cy1p9cI}qp?Sa-IoLh zxV>HcqPBtqEfO}=hjFa_lNI(`h`JBfe<(0hqSn3J+xSI! zoBdm)9@wbV?!C3PqrxI}zruc)fomjj!zb?ks%^reay5Z(QG+Ay;e<8ob^I9#{-H%> zh9EArF@GDgz5`q;yJdQQz3$$t9BL*aTAZ52cmbc#V$>!uGWc|W7q*_0A8D&O@F+(r z`;RSK*3JJJ)O}lz4%z>7>caW!>(@8y5lFb@Up4HX7-iTmzFik^ieg)pFs5F-^dV~j zCxN!h0#5F1m)#Y-900ZN`XT=729~-N8Chi;e)>@Mf;o&2b?+lsmv%x$)p7{`xB!!f+RnFW z@P_68xK0MFv9hrxocWd$`f_7UBnND@v3iZMzl4b@r*-2-qcB!jvMqIGwk6EmeWBt; ztg;`BlWn%ovTW>OFvIO3Ny>;9X${YE%7~3~S5*vzOFT_l6_-~wOioxv$tw`K=fi?PUj)1*;9DZ1yA+xe z67B>TK?%1+Cg2YE=z`Dl*M$K6kr*lY0~#IZlv_YA z0^kmJA?5BT@mCX6d|ATOh+=*$;(;gE&qYWEVyONY}p8uEjS4YMvr#@rsrx<~>bVD=|%s1V~0 zND~cFkOCkC-4k%Xg@Dz~ar0jf_@krlq3$97n1AkMv_-o`9{P`x^m~+Y$icronh?zL zZX_HGTRP7|uz})i5CG}+kq#%sa&}kICuVdIH~)tFzy+^=*1vQzrl}QBl_!Yki^e;; zdT=8LIfsDF9fiTs@%8cBC!_BTE1(HVMDPYe(Rd~&MdHbh2q51d0gzyOI@i?>kV@@< z_&F!coaJ3f8|2mJ4~r2im;@YL{Rw{%&IXcfsTnRe(*Uce{9b<`;%(zF>2*N&Xm<~s z4UCOXOq{jw48i-keKO;+9{?vni>#S!g(i5t@5s3%E92MbH;lxYJKy@h$nF#WR%kXYy|f_ zhx6dygt5i32{;>AIybgz1y6tBPU5Z=Bu0u1tk1>2pTHJC!)Q;ASV7{^4D`Pl9odrY zFD~b!4wzZxT}e2e?JUIsv8zs)xx%|fuWsDlxDICnZ`^(33p!+F0pZ9V`I@Q-R?w*3URplI;Mp>D->Fx}Mn8HM&s z3iv4n)UlqS;%Lv975Mv$$;HWOI2%}6y|{jHedFfETUIRHTDmp4Wkq%?yX6OXMJohR z5FwR~w8qljj1{<4J2dQsc!_r<{umh6`27Zk-VrkBgml5~n(6G;Hr9@2026H64M_q< zoRA-Ga=kd za5Nl^rNU_|qJ?NO!xmll6yUiqG}<=CVYDsX7K5{a%t+g)6=Mr+r|bxy3ZKHQ0bYPz zcfdC5bf$~b7I`nAXSip0WV&a@3h#_}MgVj;9>E;%493a|Lk6~SIACbW?iw!?&&C0y z4WQ{4+ch)Pt1K zymHL2!N$c0l@5(E5reVmz!ME4wepB zKhl`p9sdxO@5}XDF<2Tb4NnYCT9KQ~P0lRMEG=K0S+gRymRq~Beq~(ysRzv#-&-4J6H+um1`ydm-b>VsxzcUVil96d;!XxhI$W13_PN36UH=AVCgBw%>cz)6+AgVuXXPu736E zRn^<-)hk{Y87chRl`G!G4-Mm=jMQHq_3L>2>5O3rLzoStX}Ctybj_yaS|-7)hV451 z&bS$2ubFOEI3n|-;pU`M&x@?c{bW-ltcPHdNIVMJ^|F-pQ)}3_syJdIEopxtLNsMBo1Hd>S#$t?& zd(b`PzTqBr-;{62!#552CTLgWL3s%E%1r}fjAP^@azaet{TAN)@O~Sk9Tk(P9m9D0 zF~fHNIWC51w(beQ$^)=jz@`$|w~TiZu;~P*`@Rdc@+Q!CzYZktoYErL}DHf6-~K0;quD=^&ix(CX)woPy#y|N2{ zzMYJ!XL1n~FUgWT4~|{HbCJ1rG^ThA6fXng{cWQ@hxc*u4z-BmfL{?O#4KcTRh$&> z;{Ab~mzny9Xt@T=kK{F;(s4^-k6Da?m3P3i>w0FuI>B)6iLbaX^Zf>BekN{;TNwAQ{0!sX z<#F%G&oH-p@*c+hnCJG1xDA{|K<4Bk;~bI)fwROMdQYCl=tJ8Uk91vNd~o%?SP-A0 z*8@2z_hW`-TDQDH{F3+4_n~|UY7dy&LyYtp*ZOC>6t7gTyZg1*x*rP6ooLhJel9-; z#d|#WMX`igECVtpmwAlOD;9OaAH8inxA6F76oFAUH!<6~g_^wyyV^D}in%oFL{_I0jo$Kn*#MQh^5yfk z5>d$$;(@1pd1EC25{mbr!1ZCY5J^(FZDgCz{TM%^FGv`(K@1$1z8 zG;2RlJY!uH0sm!aeoeNBq1R3maT?t*)hJ%!cDp4j!Si+{c&enVthP5)WwrK9R{YwF ziZ7qZRz=p+Re67?dO%3(hsB}P^;Z;Rhl)?(i3ez zPk2g%iKnbF6;!}U=nItsmIci*0}Gmi8u@zg)mn;7pVa5pT}6Ak%2F|eV%AiXR3~ld z@ixkK8XL-M+yJyIR#MII;BzV0D>S{Q#M5T2wGn`;a;4o8QGr!_qg4z1$nu&{*5)tf z)yS%~B4<^#n^E?OTx}~EWjrubMYgxrjvReNE>JCX3 zZLP=-o=Ug$L+~kKz3=I75;}&TlbL%oH#HAT3t$8YKt~>L9;wyu9 zVbiD^BEO#DmLWihhr>&X7#~>+3u=rji;I!9ysW12p=MC*kXl9#?4~(u^}t~9yJ&za zn86^Q_pjC(jq3S}PZe8Ob+slN!k0kzNlu1Y#4m5EbEqdPVoe8tSM&}lFDk;U8{5Xm zu&pg~6YE&dse-UJjZJgj_@VGvufSdk^9u`=#l;F{ooHvLQ428Lv!LVJs|_(Y#c7_R zkgMHuQFB1xGBjk3oUpCMqlh1%Zo}Nbcv{uqg7WhXulYoH z*Pfx#$785D6yeZW{8dPgSYBbSeSD?SURhVC2<1I0&Jf;+_rz~ENbdsfU(fO|*qWaDv!DePBfU{lykZ-mL&pJBe#gHX80n<#=(TA9P~7JN>hrvdMVo3$0y)<&(! zw*uyny~8Wp=m49AZ;J9==M;^sw3{6;M2lH#d)feObrn>itacYsR+FABsPh0TQfKu6 z6=bGSF5bP=`vfA6Gr^t|UL)3V?1I(4iTs4VehGzPj#(2>(LCN~O?4BHkoV>aX=Ieq zF3T1*73Il=uv|x!YI&+$F)V6lo}lE2W;J`&M+CS| z05i&I7W=VJ<~8U8wY`21^k&P*6wasa@CCBGtWWcdm zx}=8`tNZRSy+jPo;Vo*bt8l%54)88I@~cexJB;EVMgdo7lOrtQT`BD?~mcv zkQ0)M_q=TrlCmi3Aj#H|2ow(XF^dCga@yIYU(8CBZ>!o`t>rb+`xzZr^;Qd;p3O#1 zy^SLS&P}S;84MA~2C?Chw~5Tgo}Pcw_nygWcOW`B;ygQ=tP?7)>gb;EnLJGrbN)3x z_SE2z5gnO+@#s0%XN;zIP%JJ?3G3Im7(aXUg$gth6N5~Bx?%hZl%bQ(2*IFIAGp?)`g4XaQOQ0$5gqTwV& z5!Cu^4Nf~{JBClaJNC0jK` z>vU=$&BVrQzBsUH;$SqfWziOkNNr*ho9~Cl4-@gRD7U1iDAAGUshU)4pqS0Pz6rjC zoxZa!v8ia!;O0FX=Lis)>w|t_Ovz>&ni9tHJ^wK?hW1k{fhRv8pkb~zkH*N98E577`|31Cs{T1}E68~|)Qs{l@^i={#f~o|9 z)D7p2bPA}K=h}t9xuGN>mNcKQ&`$1Gy3N=#leSu`;#G9QC_ae$N!wsUg)&h%@;?6+ zjQ$1k2{`$wJc_%G>wDh|BKwY^}exXO1Cle1$ zj83|whKx0dauG>0rE=p#Y9-aaTb=rPbrTs08P14wPXh_`ve(>A=2g>&bxp1V}Jv51yFW$H8`d{!tHR)4FZt^(|?g&{^-;UQ!y$%c6X1WqG5O zo&Y!O1*5d=Ao6+4c26Qb!WA#504-T}ip*dWG_fnNv^ksu`(6WoeZ%e+WUMl*Sy3)l zUUdhXC`X?=l$$`*On@DMqV~_&U~6N?85$58of|o$xI=-+&S4bjKsiG`WS~w*iXGaQ zclJ|3hufVz3eKDDPZ2p_Jk1fL{z} zUh9&>;gn|#$I`^fIKuHXZ8n8)bU@d`A&<8i=17`=PSE<{!M#V<)b{PM%kY9@cv$Xk zW8G~??|bSI#2Zd`8wdBe@W33oj(7(g=t|iW^*I&z?+YWuZ5=i2p3%w?3~E?!T~?y9xOktZQ<6`OdJMQj8P=3#vO;-l&qhO)?C6_TlmA zs1P7z-OH_`-okqzue-=hC=35U*;eWMqsyl^rKV{ub!C!5BFP|1E0|xTKgSh zN*yrdPA@sg969(E>@1FGzxJcMtX)653>eX%mU8?nnPsP9Pn(DA;?S6>{)AUht4%zmfOsibEtc(A;Ci_Q0(Q68sUiTzGRxoVXTXjQ(WjtYxju=4bFO(AtRB>6^` z5X)3-dNu8*t0CP)T>t*T+t#`K=<(D@){4WJj=GOgt_m`p) zCZ76d0KVj<+pubsp-k?EfCsS_{=?rbhij zO#i*$fbqUtq)SkQfV@h+^+8gUQUS0`H@R`+R(GqmJ}x15YixJjd1PDbm4b8^q6vY zfRJHhVNR$ZJQ?-~W3QlVpKb*2z1LnMFDw zYnQAnr53C#e@~-j8df%8k);-_Ni+Qe%sz_NtbGV@2e&m@bK1`5^4S8e&5oKS3r;Y5 z9Z>2!2Aj_p3z>;b36PRGVIM%x{7?b3(UK`-^040gfob$AWXo2`JZb@6z@yudeICOY T_|E1J=SwBqvGadGj`n{6Yr_gv diff --git a/examples/__pycache__/delta_time.cpython-37.pyc b/examples/__pycache__/delta_time.cpython-37.pyc deleted file mode 100644 index 657d411e21cebd1f04294414d2ffcce157b3018c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10267 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 diff --git a/examples/__pycache__/delta_time.cpython-38.pyc b/examples/__pycache__/delta_time.cpython-38.pyc deleted file mode 100644 index 5c80fef81b2658c9d7a8549d527815e43efeb972..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10404 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 diff --git a/examples/__pycache__/delta_time.cpython-39.pyc b/examples/__pycache__/delta_time.cpython-39.pyc deleted file mode 100644 index 00413fa40af3586a159e2c28621f75bb8d749622..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10396 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 diff --git a/examples/__pycache__/ebnf.cpython-37.pyc b/examples/__pycache__/ebnf.cpython-37.pyc deleted file mode 100644 index 93a35fc6d56fc3dd3162868cac23b41c646af179..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3929 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 DSzuY- diff --git a/examples/__pycache__/ebnf.cpython-39.pyc b/examples/__pycache__/ebnf.cpython-39.pyc deleted file mode 100644 index 678cdf0bff1cb749dae738d70bccbc82f7cde145..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3816 zcmb_eTXPf174GgC$@2Jayfy{{#@s9~*v2foRD}>6sNG76HCtt>lA2^|GN{{T*wIMz zj2!HUmzc_9Do@F)U3ubHX7?$>VleqeJ-kt2ba{` zA?HkfBB$Rne_qbWvw)Z7tUL#}AkWJ=z$@~Cya;$zUXt^G*W_in0C-(qkyin4$ZPUC z;G(=C7Xiz%ESCV6e)w@j`=yJgALaJDLlbvz&lZGqmby%&(DqSG~mg~F5leM7z6u%&z zBsJsu9KI(6b3wF%JqD7Cm9ZW0JQ8x2ZL*BJ?4^+63no|~GH1V|!u<|L`y@u$$rXBU zwQ|jHx?6o-i-RnD9xF4lRnvbAwG1k?Mv|GrP8c_o8Tc}%>M00e)y+S%n3_pwbIhTv zz&2s=VLmKI`6$=(*n2{|Q_Zd?u^l!acoM-?!uV9q$6WUbjvd)^;iEW~p0=I8FUu(? zdm=i%>0x^HqnLWW(zU1h>zY=lvON)k&wAKi|0uSFuPBK7ay$b?kB9hgdl)YEV@Qr{ z-@XJSch*g2pECECe(pmS?IwzL>iB&Rr*c0|ov>KNDun{_JpWGUg^Yu*m}T1pomnyAtS9nRb9AN5)7c+zI;FzP;N#PdUIuo$htq10 zpz}w9?zaV&b3k;U+#Xp^XR}>4-MvXtL4?(K@e1e465b z9kMrq#Im+@^;{+hw_;g~wylQ*(lwl8iedT$soILEZ{e!GGTLW8p6@k@Nxs5(2{tS_ z`VR2_m!SGKE-O2F4Inq7c&hsfN6vn{^fYnmL)q^3ldY4%9$*#khqCb!PS#-Q^smu? z?ejnLc6N5|+3cL}$zPfpn0!vIS$6Zxyf^i@QIDev>g{}2Dr@tyV_fyRuJr}d=^}ml z#nkALL*$k7FW8r>BBqgw$GQFjloMvAK(NtE!Ie>|;2UMG=P>KbWw68Luh^1jU7_y* zuV8%eqpKfc*z&5F&n4PYNjeLw$_5lG1wj&4RS+022&y%Sk`H`12wpY9IA7^0Jydfw z)gOEQ?{qi$bBWuz??AQ+5srQZAf2Q^i7aE(9CL!A$!*ieGbeDf!a=dg4v|h~DIA=a zE+v-q-qC9|sWqE^<1|GR>E(^vbPooa4xN8>zbU%)b#LV;wWcXlVijsr zY}6$lx%-%=XmiYKGeo_E+O*x68Aw&O0n3yNczm=F{?K-`qmp*TF64#VB@5}#p;(WR zY<(`+yZ(ull!_{an#YUqgGpc%cKR`>8|BZg%lo``Ga8`+gC}A`jjwyhksf782R75;JzJaO+DD!XNMYd)@&0 z6DO*zKXIZG`s2q-l|RwV*6o_2uUHOUdY;Ao(JqB#G9yyOQ59{6q_l>Mj%O`@D1Rl} zmFjD_RbR%(cu0aOtj1BI^h2Uf5OwfrqS}?6QiLf++Xh^3?q!$RgN*}7?nkuWN zqGt<=P2DyvYRW%0a&3&|aoNoS6uHLTfq|_T;Azl{*Ag=d@A-zjY2D84WB0g7Cyq?% zejaoWhHz6#sk!8oCQ5LWvt0ZrMDYh2MW@K8=r4q&iXVg{{wG}VU+fv66^~9h*9BI7 g6h%0jQ*uj#7)Sp>%sl){rGo2>x<%`dqjb*w2{gn~GXMYp diff --git a/examples/__pycache__/eval_arith.cpython-310.pyc b/examples/__pycache__/eval_arith.cpython-310.pyc deleted file mode 100644 index ebf0ccd2b21c5cb5b8748efb8ad45cc3c47091d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6977 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 diff --git a/examples/__pycache__/eval_arith.cpython-311.pyc b/examples/__pycache__/eval_arith.cpython-311.pyc deleted file mode 100644 index 8a8e083db89047a282ae9a35b96631b05c03a485..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13119 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 diff --git a/examples/__pycache__/eval_arith.cpython-36.pyc b/examples/__pycache__/eval_arith.cpython-36.pyc deleted file mode 100644 index 6bee2dfe5eea221eb7f772ba5ed8c4ef866f3165..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7548 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 diff --git a/examples/__pycache__/eval_arith.cpython-37.pyc b/examples/__pycache__/eval_arith.cpython-37.pyc deleted file mode 100644 index a945316ece15141b48fb440a5a66e887f4a19b20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7537 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 diff --git a/examples/__pycache__/eval_arith.cpython-38.pyc b/examples/__pycache__/eval_arith.cpython-38.pyc deleted file mode 100644 index 2c23f94aad3bcde9f86809b048bd79394c2ae2ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7398 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 diff --git a/examples/__pycache__/eval_arith.cpython-39.pyc b/examples/__pycache__/eval_arith.cpython-39.pyc deleted file mode 100644 index a4ccf82de118305811ec61c79ce80ab532f0e822..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7206 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 GDf}-o?3S?r diff --git a/examples/__pycache__/fourFn.cpython-310.pyc b/examples/__pycache__/fourFn.cpython-310.pyc deleted file mode 100644 index 77695621150f6f63342cc844870526861b5094e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5164 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 diff --git a/examples/__pycache__/fourFn.cpython-311.pyc b/examples/__pycache__/fourFn.cpython-311.pyc deleted file mode 100644 index 36cc15883d2632d5694358a5e1cfb9c814f1bac2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12834 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 diff --git a/examples/__pycache__/fourFn.cpython-36.pyc b/examples/__pycache__/fourFn.cpython-36.pyc deleted file mode 100644 index 90c1293a7905acdac96e44314202ab9dd623be23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5252 zcmZ`+TWl298J;tj-PxOMjIp@{vKWYWZG1Nb2w-zDDIq0pOaomotMQ)kvUqQtnI$lq zO)sWRq_%0Q-la&D@=&#}eQTAf&v~g7^=(wOQu@;EOWUWaR8{-^XJ*$x(pjDV{O3Ra z|DXR{{>#p1GRbSd{iHaYSCl_1Pkd?MOK8r5rYKzDtg6&lfz{N4TGI+zO)uy*qhQox zg;*_Kh}X=5SxXcWwPYb#OBGU#WYlW9kd}R>kSQyLKCW^7ky7aA29Kd1;HtHQ$GHi7 zkS7W|?abXFv|VV!Xd`I5dGdXuu*Xi{-HWyl?K!ml_5u5OJIhl%{Yc>%f}kGceRACY zeyT9a2lx)?J!Bu|gPZDmnwa4``4A{a>?3>^AKp@#0&Il85n;P~G+OP2loHYR@*5Gh zpBEx5%Wp>5LB1AYqr4blhq)DDNBDY#>RH}*acpXu#3DAVavR0 z@ui;bm$@3velE0$@7wB9E^nXQ6Vz9FvR8WgUggb5%jbKuSNXk&_8LDQVJrL#5%xM? zjj(I{i-d7?RmqDExl=wB#9ytrwy>&!e!U@hV7x3Et!5Cv)DUl47{{z?^N!^N3E9_M zH777$x6Af}pl`(zj=lV#WH;SPqaO5MupGN;JI)pR;hUt&Tx~U*0)!yL?P{flb@;0l z$Guu&v^GBK;lRoTG-nXNRqiq$?z{&VN=^zx)vJQo@@kNXvwzoy@Bu18LC*0K6Yvz+7o`2zC%ez#WH{w42yc+8HLEZ3rnX72S+1kLYXT zk_)cfT_c*fnT@vdG^1Q9G)BtY%!ZqjgGgDxmIHO=vUlj_#N^uIEk2Q3Jaud879YV}MpPdUF9Xtou*5TR^2VS zEd+ws$(R@bc~+WvN6ufpGf!eGD@eS-{-4=mS;db3E=*?;i zAy1{{c49qWNPUA7avkV+-^FRYNHO6S)bl~7Q`GhMVtUA z$*2#6`kn!Fv%cc9A&M33s?>$B{UXQ#TYpBi)bkZgNv$Oy^6T#CWsGDDccF3%_Cp~o z)NluRCRKixzAcg>J;=}+GFYIM8cv|O7BJi^#MkjET+ynR0s|Sl&I_7TuA|Jw3#l}# z4+G=Q!)C)3r=X*E%Jfd@UDBg`t18wwPm?>(V>b2<%v2q6R;vZz9kVX6%SFmLCv%pe0CF@G!7?y=3DlP*fA-K7rO~))6W! z_l`J(u^1)r9L<=*zHg&wLzyS6df5)*6-U-}L1Md((~!)9>A)lE#&KXdKy!%D_@c_ZT&6%hEl%+{y6x*4}JsuyCuI4 zegk!jvIQMI3F9pT631_#vhk@h{H5eIFj9F8yfLQKL-{yr9gUuHG!u_X-Ne;vcs?f8 ztoFHT)yr&Hm8#9Nl5omPM?-o#ryjF2o_gl2ryV?a&{Ged$(vz?NijD_Nr_cgp!Ai8 zDH23Bnjj#5AQy<&Kd>`%$&fgm zot-UXjL%%^P^|LeIXRX0lDU%;^Z6{X5c_0yb`Icphw`hJCPFTx^p(rE=e(4RyE(%1UjOl_nYrb;dGMc@nprqewtoNffuH{IPZ!HyzWbs3z1`U* z&#<9q-b=u1Av6u4zS)_HXta>OJ=dY=E9e$Dv$2^PXE*o z{Npao_FPK(k`gyDd8E-Os&JYf_a#Bt)&P%|PDwAN9w zwyHrKPtB&f5_R^Q;uT_hiNI+BX9%1nut;Eqz&Qfv2~cL~MeMp&vx`OP{9))gM6=uR zLt-+Bn5SzE-m2PX=}ep-0xV>xqSQ50H%-8^x~ij!q+e3+Vk$z7%3`QHbv3P<`;)5K qpF~PY%JdRqT{w(7l)_RHaF`tc9F%Pkl(dxTa)$jNxSpn9H2XgjOuQ@r diff --git a/examples/__pycache__/fourFn.cpython-37.pyc b/examples/__pycache__/fourFn.cpython-37.pyc deleted file mode 100644 index 19d9971f8a9fc2da52f02df5fce240b00b502a62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5104 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 J7oY0C`8V>iiQE7H diff --git a/examples/__pycache__/idlParse.cpython-311.pyc b/examples/__pycache__/idlParse.cpython-311.pyc deleted file mode 100644 index c3e1a9fd40135f5e3d17441c237eff5aa76854af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10528 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 diff --git a/examples/__pycache__/idlParse.cpython-36.pyc b/examples/__pycache__/idlParse.cpython-36.pyc deleted file mode 100644 index b22664286fefa4e261083ec155a77f5fbc553310..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5091 zcmd^COLH5?5#C)a77qd-C{dzJ%krABY=SZgJ|xScNXn!{*-jM65tWj&l7d=dha{+d zz`FyBq<4}7eM~Aj`j9`6%0I{@|6{K?xhjX8b;{SX3lNkasY)fjWPzFKnd$E7nf_*` zXQ^5(Pu?E2r!FbV-<6?H1N|XV^e1GF;;63Tsg~+#mgeQGoTpp5m$&ksVHsY*DtJY! z=#{LJSGLODh&AF>tcq8)s$R{id85{-SGVda>CxOVYs}H?GfvLYzf!ETY~0B|*TSzI z!#?K}oFdxJv-3{rSXC92<*XdZ%1TyNsdTh0rBV9^7AlQ;Qn=UQEVSK3e;kBPQhMOC z2jS0ykR@e{g+WFa?grrt8~s&>xg8H8&b>~=ll(_v(Ca3}2VLF?d}uLjx4UOYNjYQ@ zf3S0}w(Q z;%#wRyd&Nf)1o0}#1-+Lm=$xPDdxq3SQJa*D$jF+7o6M#^zIiO{a6*(c*)5htEd^M zy^mT!){3ZI=jHgCQ*z4A$nSIDfSbezaXmh>p~T}z7mzL@y@B)=(%VQgNLP@Skgg(q zu%SQ_jukif$T871(97{Muf&bGHlf7J@r?}yx zjBldt8d8RbOZgc@mQ4>o`vK_ycpkHPc6?w ze>L8a`VC3H8&g{at9^rHAdPle!d{F$4h^^CwfIBmUPro()wqKZ-=tBXOGza&nbiI} z!}d!%&Oys&yeYM;LCXr#s`Soz^xTbC{clHJ{GhTv@YUR~5zf4^5k6KW+CoGq;1lWwvj& z?TDG}Jv%hpfgf?oIXmEGbLex}j@@&)=>)xPmzfM3)MWj=Xx?4Fx3y{RbPkwf?zn-? z&5j@RD97osW49S7(+&Jx(+ixQ%TB3&u)WXP+zi^BA@|t}`_Lre(C$PmGDBuNf$tug z5&OKyeCUeyf{>e$JQk?vK{|TT;qARsdLKRf<)+CGy9~CQJwNK~`Y^BO<0vw}2s)1W zLeBX`swh!gNx9?T2x1Kszp3XgWW~QHPvS~2UG zP*_Knl_;xGmZwaoYy??iU}141gcVd8 zA1C>C08b}|yB)&ui4kU{tUu4{C|%5lfiKKTc-M9#68Ahi$vFYH@{wytdzP`CmU_hP zFwrCCbu7cR{aqJ}8m6TVXt%8L0NgFBn8CYc!R;=M?`Z%E$3 z0!m&)PfGYEb&N&0|6NAWLKY?bSqT@=^K!Pi7kI4M#nIGs*cZ+2A;3i3O?F^=U6)18 zj^lnxfx}$)Fsa^t@Ni?j^~s%kt&RJ4r=THvh)l^D<1-CS)$~WXajmA-wDHZbu3bdy1yxfgRin59x~^)4In~g{ku>#EuA&vyvRc-{C1_2Gt(Ip4 z39WB%^eS!2=%ejJn^49lUxVOEjQd7a4wt!ljMyYr_cdw}8b^>QPxah>E>0s7@HraK zpI1bV=bhYj#m+xg{GaLyH=dWn->HhwRpn?7I`w_T5_BUtI_RR4yP%9K4(__NHAeiQ zDvy<4Q3wgC-{_wyzV;dTj}ZkpbdMPKk4ijv&iu$+HIM53rMx`9=*(?<-S8TWf2o=; z)n7MCNxq9Pji)moAvdtCG;lMzvIoImB%{ItNAQR36^=qY(On7xu_@i2=Qr{=nRw{$ zh9>nH>EKqOU9?D~1KF#pWt%ulBp-TXFNc4@7oyLK&; z+hU*p0Po9`OwJ;wI}XJMM|;Fpv9`XMcMt>dN_GT96W}AS{kJYJ1$jvQzVmFh*fj``#QJLIlD0b z9sOxc+(!S>+``p`Yd5}6g+uxe=I5{P&~KP)aFLp1>1IFlJ_X4yPt~&NdC~5$p6|e+ zV{<#5`OpDIh{Z-6(s**zkOiOgL;E2P^OdtlM%n-Au`_%MEDpObji=-?EDQ}kJo*3L zVmI@&zK_ z67p3cpBwVwaq{Mn?-P1y$QOousif}^iXY^2CVj6gQ`MxbAAM2G&}xM%)JC`eQ0PG6 tV<_W?;!3(WYxKa0C@B2+Oi|Z!#osEEMNQX=V_FT--C3kDq*0{uzX1OdPH_ML diff --git a/examples/__pycache__/idlParse.cpython-37.pyc b/examples/__pycache__/idlParse.cpython-37.pyc deleted file mode 100644 index 90fb1a98b49bb6a60db9a5b9d5a9dafb282aba47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5095 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 diff --git a/examples/__pycache__/idlParse.cpython-39.pyc b/examples/__pycache__/idlParse.cpython-39.pyc deleted file mode 100644 index e934880ef59c41440c31a063c607ab31aafed190..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5379 zcmd^CTXPi06`tvxoxNyxwGu+YGR9+KY)K$i;$nlUIkGA?= zUGR!_(JR>{uWXmSA$!QH*cGp8SG}5D^M>tVuWr|Mi9_5GdxR2al;)`MBh5a<#%TTl z34caS=P)hMBI?H3I4$kzx`wozr9)X-$!h zZu{(Z_^lvhN!ey$kmU>4gYcn)_9|s=+k*)7iouqiX!`p!m6w`4#TTYae zLl*Jd8#miNORB9kzT>j1f#)%wCnY7~cfBa7eAo>DwZ_A?znRqDb;5|PZnv01OA6m) zI}fE%`S;i++rHJ3CilJ@$ecj9iV*z)6VJ7ulIV9_=Y;Bey~ZT%3H^*h<1JVQ(n`x?SUw8O?dU0HYtnk(^{_|kG} zc^>%HctzoxD*t*c>nfP-i&6*Ls8=cMMc-pUxEe3TZvlH5;VNe18hU(L_5v&|)y#BK z`>ze!uk1Jsl+}1up)3LAGQy%-opH2Wj~CBUp08~0`|U0!lt)HTiVcPxivPpx-3v(|&a zWsYyPoQPSiEhn^Efgf=hbGFUP*1$*EhSPPqMT73T%PfXXYO&saw5~7TTwAp^+S`m; z8*bomtL+C}8RG=ma9RvG%MJWZ%L{1NWe1>duYbT=+zMKpA@-$~}7W-syXEX6o)LyWgvszLFTQ%H5rq z+rB$Dd(oNQSf0Ip|76?~NOBnXE?HQ(Gp#3uR^YAUu(QoBy#s3!L)w(&FdVy(nU|E( zdAY_mlA>A!nXB|CSe8m1Cv-elo~@OjgM(R~t4gdt%d%8Xk>26V+a-<0^jMNx_cxN9 z=X64O359h;Nj~bhZ64-ig}k`Js;n(UjNfuR7LLfOf{aWV6=hVCQB6j985uGfLX?=8 zSlkL>1%>GwNxl_er4!R#53%rx8D^;}Kgh~RU5tl8F3eJ_uH!~h-SeCzM+0u>BiD(x zY;!$Ljfgv8Vnobq+otRIn=U3bOj85YZrbHOxtn$|qj%HJOM=S;6mQz5nqRbMG)Io6 z`^KEl9KIDppu0brG+ochLH$9fXk%Eka-Hf)WWl9c|6fzO ze<4HU&!j^B1nC<2qcL33kLpMCNm5Bs2QbPh#uEeDM!8NVRhyAJ0?F|w2Kq7#v)`+k z^*WjM`b73=l(*oa`_rW)-+|N0 z)A0{ULbA2gjWs)}1+H+UeB=U$D~y9C9EN&gxY8xY@#J#sdnuq>oXvsD+?c6T3 zy-gq6G0CwoRC^$e&M5#1_Z#FQx%V`z1Ne%yDC#wY3Yb>b$Ms`+cnz)2udo*V`?4|9 z&ssBj4}A<(FH7jg7uww&Amj`0o7NeTy?c9cpyxi(=XJeHp{T4qeLh*4T$% zA=|(7`&t8fO10ll|MalF9jq-=4<5(I{YDF4+AowWkMXU5&QD3NB(1faaC81t=CvqC z1r=wk>3!1Oia5@84O$?cE>G|9-vtUCDtrW@aq)mx;_A zX#Hx&Nd1|8*2rS?G!+^%J*u_gr%`6XD_!;}^!8V6e<~U8| zVvql~H2U@6wzo2mKidTI{8&7G2eGxLHt9Y8`2Mu_gw^)I8L?>1eOco=8fWL{p3$DZ z4q9kGdwTxd{P~Mt20bn${v~;!i2suE>j}Mfx;d#;KAkH&*NFDB^ zBOf@xBxA7=2N3s<8fn2hy+_V~g!R9I3-3Y-~SzSOf+(=b2K`QYIHdy{ql z>z#su@yG?p9)nW{*Zk=NdSIs1nn_Lh?f#?>_qER1LD~#hH$8#(T+dle-(~78re0O* zeWe~=>It_0`cf}7`Q}n@E%jzgUu4pMP!GHG<#t&XEgAKEFzGWio8gkIlehnX>mVKJ tQ27tV%jx7S$){d)3ekDF{|2$Vi>v?u diff --git a/examples/__pycache__/jsonParser.cpython-310.pyc b/examples/__pycache__/jsonParser.cpython-310.pyc deleted file mode 100644 index 3bd604778aef2090ccb6f3ebde64860e9b8c876c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3276 zcmahLO;a0Ja^7epjf4Oh6EGN?vEof4A|o3oHn>u$$RM+>$ij4hb-wB7g2~%T=t=Y*R6*Fn4%oHT;w4FLo z%{1~C^gL-)BNI9H9-sK}^PJ(v$9^zAW z4zX$EUXj=+Vl&6s7-F-CU4_{rhO#Q+b7Xugoa+46a#RNIzUWQVtkdfl{A) zbp|P?@Ke(E+y%UA7x1oMz?;8-XT&^PZ78w-opR@P=gwKLk+wAOIOccmp2I&mhktqw zzjqG5PdJ@Qt9awhzq9^M2U=0qz~`;ug1ZAeG~UJdyKJ8z(J|0J3BxxXD zGR`qA&aIvl**3rd7rZDmp2vje*#Sl3C)NgJqtrj*gcX~Y@?MvGl-pCjpBxzRzH=`u zCyd?nx{j0m7k%ILA`|(b7g#*RSeh;0b$zde-}v!E`y{SaT;UXgNI7KRD_H$1?h@a# zBm6a#Us%1U2{i~r`b+4&^0_U>LWrKCVW_mCw(p4%4uNB};OlnuvWSgg@0H!eILr)f zWN5!AT*njsQ!c;sT_^`u*D2euUp{uQ46iLWa3CyqLf@0d`C`x$IoH~Q=3ad8M`+?# za(jw#>S|j;qdO2uc>#}vM&Z9nZa;tf?t#dXp}M@nc)ua@FET{`iV}-Al(Isn9Y!&+ zLa8*R-V<3Kv4GufMM7^jU90Uio7NRgQDjcuN=W5Y*me9cw0N)Zz&N2wPSlPZKyslU zpK&Z&I#!p0>ttfBz5hECXU#MUXZ22WYZwPAZ=W$sYHHROR|-a!XItDh*1-dAIqf%K8&530*A0xCJb(EKu#uqh~PT6_S+HV<<`pL@(`h##djf$p7OQ}H3-A4mzHp(~Ah_282jyyLkr!03He?t~xjVn_`m2yl2rEr$JR z@X#K+#_3KQVW&M{kxKAD#Yv?!6rMntVnQUP1?+9T0EC9Um7`tuT6WMFWKd9KqPS?i z=m$jk2!X4_&<8z6=!32zGIB>ji=^yHLVdg@vL_#sNcW3JO#N}Siv0PCEH0ZmHPhyf z_d;ZjTREptIkjn#2!fXE)aJ})b?ez?z4`Rptv_$no2whOT6J~n@kYHNw5`o&RgrvD zsWqxXt3RvNM8dTKp*OmCm-s!JsoKNM%IcS9YE!;Nj8{dBqb{1;sEcuX$N5XwkHBuo z0nX{at;lh3{e6&(Fz)U#TcqLvE7Ca5>Xr+9oaEDweEtgC7td1|mxwfKgVT1~XqYb0 z%u&$Q{;U_tb?$f3+l_!`q2=()sA6W~KMZT|!W<#-c%Xzrqv{mntsrPbJqK2CEaN|h zSf-DNRD0L+Ind1U(5+_E)G5`r6%iw!#o=oNT27zNF+HIrvuc)Q*_4`B z$JiLIysD)qnD$#rRsU;fnwsnH^IA%sVES(<4doLW%g*bn#&RsH>S~JNO6bgBc{V41 TDw{$*BQb^g`TlQ`X@C14sN^^t diff --git a/examples/__pycache__/jsonParser.cpython-311.pyc b/examples/__pycache__/jsonParser.cpython-311.pyc deleted file mode 100644 index f8962b7e32e04dbb45e62e4de38ee20a75b1646c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7556 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 diff --git a/examples/__pycache__/jsonParser.cpython-36.pyc b/examples/__pycache__/jsonParser.cpython-36.pyc deleted file mode 100644 index 1c5ffead4872ab60a4f7df51f74cc8d58ac5b689..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3240 zcmahL%W@mXad)wJ5+q@XrU;6nR)`ZDG(<|2Es-jhD-a1WDnp<`P_ezVj9Ow^B*1;u z?1D1%IJl6jtNa`O6yJRCX|6sc*W7YS_YA<74Q5f(GyR7E|ko1D!3XMNrI`HH6f zrk(kcxc)1S=vPD2m}YBCXNIfW2F?jr_Y$_LYs_THe`E=hMmS$hGlV; z!BvhKxXMBfjP3-R7#QCq?Yuo{PubIU0cr0IwC)w0uMTv32F&jJh|jV-V%Ly5C$UMy ziYM3NG>kp@K^H*utK zWN>63X`gGlCN0cB0rlq3=)Q-#mfX!c+3gmPHzk;o``wcJO-r3CKNv$>f3iP-V)xJR z!9Yjbe_>aTj2{jD3!AY&MEXbYA=)iNxw|x=y;DEx{4JjB`|gsrWG^9Q3Cg7DXHH~3 zCP_BSuHlJSP{ZKgLYe7B4efjkw{bmJ)L0S6JPxFHmj~KFm-|E1o>GtyQ^{to%~F5sVBz(2i!-@kxAAeo!tagcfwvDlvfe5DU2aH_XcY5~e_%bdjvcoLk~EU9SQnTM=T2XW>{;M~ z2Ywt`FBIWLZbXszskIT=stmU{WhwJg-tUo*a(Tx0(+y)jbnd0&M#@dU=eoIn(baC0 zbx{cWp~EALrPU5RFYw!VzvV}B0>=i9Xcj@Nb@jJcFI@vyiMLou10ByzZ0#H|3OK`(@8mz+lgXDtWp|nsrOWth7w?%b}TZj zmgjW*R?C?)HBIK@jf7N6r2{vJB8T@&53N(G zao$X`bYAaNw~le3^4>YK#HR1OSBi#yKiMSLnp;one_)oRO3i@B)#(38N#}Qgdr~lV zeCBXwZGjKmaXYVpSx+5))C;Y;;~(^#0~oj6E~ZoF1`Sbae;=&$>M<4jNKPhyjNle` zjyo~s<@WmW+8Cj_!w(>epYe_db%>(fL&v{+=ME~ZKNzD@Jq`{W#sgJfD0zSR&T4J- z-Wc)PG5FGaw8g=RfzuYNs73`lMn}n?`cuMQw6|KhSNXK^;Kdl7YMTdsUuEHvq*nL$ zIZ&mQo;0_uwY3N95AUw8-5-|}RhsaU6sp)YW9PP~(&-Mln` z*FLnI$l46rkAmQ6`O>|b097{%aKF8h48tmYMI~yLl-<&}_-kGm_c!sr(qX-MH|CV2 zl)NrM3JB@*dj;fUEku2fODSdHa1J421MwePg2dHh5($$kQ%twRuo?GV*udu)|0yV$AtF+p13%zE?~RXcwOS%W$!1RM zhzWYgVHiLfPp9X`5x+{V&Jd6VV7ioN6JN}T7l}Gg;5vZ?0yhXO61YjgB5;cUz0YTW zEVRsLUch=Td|pCkbcnz-GI~CdNt#AZ$Dc846!a-$3P&Mr>T`O^unbebf^)%0>GO${ lo=fBwQ5yA9dS1;&2I(2y(hK^6{2BVZv1rWdd8DY{{{XoNCcOXv diff --git a/examples/__pycache__/jsonParser.cpython-37.pyc b/examples/__pycache__/jsonParser.cpython-37.pyc deleted file mode 100644 index f10eb5d178464c19d26320d01ac1bca2a0d7d131..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3244 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 P)DLFr7M&smr0Ms6R9-gI diff --git a/examples/__pycache__/jsonParser.cpython-39.pyc b/examples/__pycache__/jsonParser.cpython-39.pyc deleted file mode 100644 index 88f6a20f15707fda1c4379671f86e326044a8dbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3270 zcmahLO;a03cDgl^MnZt%*kCX=V(|3ZNAm_gKP@k_ ze_k?-|0v}2lR@MQ9MQk2VQ|ASIN{VK4#jWEC0@!giNQ^t{>E_9JmX{_&9gjnK%Fek zES|%eg|j@TILkpE=4WL{OF@K7$snLjkEbVCINS8Ze3@!^gj+C{aX-S(t{)F!|7c zDIBvnvN$XpxrfH*1~IgS%TPqU=~KGzp{}i0vyWH13Fysk3C8q#H}!hsTIbTYv~TMJ z=R=q}{2hFFM9}u{`TKkHJ1YLgFFPM0{bTqD?Utc@ICrGh&U{D2Tin?z?wmL0%pqkC z$_J?FTgNh=9H1nh;FGxH71W^OA5i9G%0N4xz%86#oig|oj%gf7Kb$`@4v4Y>l|J{{ z6jDy%r=jJKdJeyL z4!^H(PMb#g=IbBx!S*h+Q(fEnA0oktfmpEZ1=C!=vRX*zJDc?^Pj78tM7tDaL+jzc@A2mAQn6CK+3 zhOlsjpBENh1|BSgtm`gt*k3qyZ~?wzUg$!!up0%wHZJDFo-BB54_bT4!XGP7bqGYL zjlg7*T4tC+|Fy@_7f)dx}jZX{!W+ez_8^uF`YU$Xh@~@*THJ9 z9;t#K$m!${5nK~&zZ0vx+*+Pr8X{C@Vh5u5spxo6hbY>7$^1LFZ==%k{UIvV{a}Z2 z5hV46lK19sFV+_C4iT^IgRjj;YXVpdLM^d~YN}v|=p^zd{*+G%Use<5?n z&0MHpg=*9?6^3oytDUKh+UB#3M(gR{HvhQZXsxW*>$R25$Lo!zG&eV%)nxinwce~r zv+=B6mnn~h(rR{bH}OO|nfk+x>dKc+WS3K#0n zRu%+!!9Hk4l=Sz6Ei=g#E3zMpFfp#eC@Rt@2e;#O(6HJ-r=Wta z^>2HbUK2qVyoYIlT^BwdMP?KuFefciNLgu<<_W%Zf)>db z9m7$~n&i?i8A|_anl?2_p+7Iu4ALz#L-MISF=zACA{kPk`b(`;hFHWVMKYsbN+y0W NQ#a@YDIhI*{|Cm0HrW6G diff --git a/examples/__pycache__/mozillaCalendarParser.cpython-310.pyc b/examples/__pycache__/mozillaCalendarParser.cpython-310.pyc deleted file mode 100644 index 66eee8dcde2bc1946ecec21015c419a8bc33a3d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2085 zcmZ`)TXWk)6xObF^Cgbk=GI)5G;QLxX@Iwe%i!8d@Zd`-%c0#FCZk$Q@KmzQN)An? zJhePB!xPWR3_S1$_yhS3yzKDC6VEVQ0&O`ftDZ7|JZJUox8I&Ud(N&EjE!X^cz(Wp z+xZ^QkD~MHqd@0fugNv`A~Px28#J|@^tk(4hJ*;k0-t3>rRqWL<}k(8Eb%EeF6 zN%~YG8NjIoXQ|@K(-O%6rzG4MU^T&cz*>UG0qY4a08S_P0^m%7FH-Dg-JCo21tymO z=My{ucs#+ARHix5Pq~FtM5gI9nE|^DiVKNimZ~&QXQw4P26lN`iq#iShw;zB=q0Mt zxhDul$H8WVg3JRy@gMvG@RR@MMK0V+!}%wR?!+m0yCb=iBW5aLrbo<7!d#|vFIR?{ zvk5!*4|YCb7e=!e6J}||7zwjHVpbC7%7|G_n5!e^+K_?#twH{lV0Rjwe}dv1ttUA$ zVs=TeWI4tQiK3V&R%nJ^gk7wFWx)W0$Lrwn3XBwhSq4M&N}Oe(01gy4K(QKoT#db7 z1@#3OHNbQV9K3}ZI8fgN^)-m^8pN^YZn(FeN@Sg`o)jrWiX?j7-F%3@M9iaWCpX;J z1n0iqimmv@PvYDcb*?x2Q8(y09#?`MZGObHS~sE$`tk<>b9tuEy1mGG;L(sPJ1iLV zdAbQgRu35E8A4ew#K-C#bEn$aI+o2wWos}7?$5qH`|j+Uv#-vco_%hdqqon|o9AeY zsC(v~*|14^uUx8uxMTrUs+Fwz@#LOqwW`gAv1>Ie)rwI!?f04$yNGz&3E!tjpF&7P zv#sjRj%gha?rqeYq*|+$HY~H;wl*r}cBx&nH>wTWw7_M?7(V}}Yd5NP>!qj->s9QQ zU8?UIwNlFl-<9fi)vOrz49jZQOvAiaDcL614;^nn!-yRlutwX2DC>7j%h~K|ea`L#oO!cc*Dp%@)seoQNI-tV=_plwq+JS2~^(h9p}tTV<=dYeN!v z)}>*Gb>jjNEso8yx$=M>bbCap*pNG(qCJ=BwI+BMQ*WM6 zj^{9+EA)`|qF4c8IINQrrz&}5cnd3og|pB+#ue#9{j*dgJx-mVQ}|m!(kIxJT2c`; zikK_$QRA{Z@cTuXqmZXyH(ZW_haoe-!M74ygV*`i=Es3gH~Y@O+jQySX8)+~u&~=Z z*rbmfzYj-s(+`fjp68SuFAi)M#wokiKjQj95Sb!s8$5+7G&;&7`2{Niw*7Y!q+u^k@+V-v)_^oiedKCO#TWIAWS;bkU@t;d(ge_Zfw%D)H4IDJU3G z;q<`SA=tdj<(65ma;4m?H5)`3-U@wmDU|q55Df^p4!cAv)#^iF?%4uB*=W>oe9H2$ z9??W?z&p{zfdjyG0eV6(9t)C65-lkt&w~Sth667OV?XmE_ywWWlk$gbQE*G5F`(gU zT=S4Ei%uFm#t9CG`4j%)T$eiH5Q=9R$7b z5j5)(&gSwtq@x_pA@~hjIftvPZd+~ezW z!TjFql^Hm`dGe(ESLpqXTwEPOw_}PD!+gb5mtFd*L=BjfVSLZdpE@(m> zYq&0IB4Q+lWpr1CeTNw4YdAZ{ImCGXcn7Ahug#iFm97z#Zk?}iXAnvA&=~v(F}zeM zjG**UB_2WPr%G`IWq>NB5tKoylt)m8K*?6z70;i&?^t+paCQ!DjE?vmM#kxg-(h3| zMmXKmm&fE)%-+vR!0x3@=~LP?oHI0f&>?ylMg-lbhe=iFUfRx()*k8HdA?Ae*G;N7 zLT4l^A?gvkp3d&4?ezOOXtPvFR_cc;=ctmbNbd>{$TmDc9l4Quc7S?rNY3*EbkQL?Wq@vBi0;+^-Qp14 z(g5A^5M9h!H(+0_*uAwVsb4s;-nYJXzX8$WeO@=&rONe;QM=lHr7c|h&DlrnR|7Ij z^m*MRvs=2XhiDz&qOF^@)G}a}+xA(sMTiifss+-*9Uy(t?$Z;QdJc%ZYFBAX*Q?Q2 zCw+d)kU@~np>#74^*%*U2Gnyv26y@*#~=f&_f?y=Qd#?w(c=2jdE)9@srOUws}RKK zw=3(P(ci7#a>lRpmGjkJ|Eqpw!#+D=DtC+YOx*iBaY~4mxZiA58z<$O#Wzm${hwMm zS8eGATyvi^jEW^Ujp|9O{JN%_7QbsW+D%K^2S+2{Fmy}SbfeMfp9$OQZgwwq#;JRm zRND*TFaB`xmy17M{O;n*i(f03=-DNDdWlk+@KSxL?v*s@U+_ zEfll+d&)s!Kaex{T_mQ*%>q@VsAQqpj#klo!?3uoBFk9(Ul0y~dYMp8V++FFgXbEPk z+-jQ|E*|Fd>B6TLHrw@j**LXahlQNwY8y2R>u*~mc}qMl*GR{-#B#0P>G9=S*{EB* z{#HL}Q4dI?Y#h6;N)JAHILWnHfaWXab2h{LWbv1-*7eIY!+h>K@3{iE?qPqS?l0os zELE5ylR$e3*5YY-T3n@FZzebknU)Jyz~Wks&rCysa3%*0se;SY#?KmceWO`!*ETBp z+l}UFvuv2vlQ$dsFUs{M6!=EHaaOI>$~)y6y`2LX*Nye&sU^N?v{Z7hMjXPGNL&#b zmJv|~ao?Nd?+44Uh(ql6A0c|j2!$s3S$|oUgC}=UEh&Gz8Va&_y)OsgFFg@{1GzXy@oMJ>IV5Pw?wnuY#KTg9#40# z=7O5i1SoJQZ;e$ywz#62&szM>er|tH<2xHyyxzAw-L@JA1MJuX4X1PYPDg!NA|0qK zy|q`a>xK{J(=aI?h^}F>C!k}Aq;oJ1dS|*J%OOl@>zGAmR zO@qAG8Bx+G&{zU3OVd~&7ZOCIPt&B&j>e-8HhoO?30Y4v{m~JuA9>y{sx|#jj6uGL zjTLAv#jSdy(yr;xjZL^D^=i@|g)ia^>rVMnNJc3(g#g-yxiBdM#Im99wge9PVPvpm z?8j^pY9+~X|4X{K?@}E1ZHnjqn-sXqBCcn)-Wq>Ukmsl?kZnSaF6zszvU za5Fc8lLAs8I3tB^EK5T{0`_5_e*#b1SinO;oIE~tUj`5syn@#k6hb!UgrOjp=okHg zF>%~RR2&N8=^c+t6E+lSC`cH6tvq9%vGJ%!v9anI3X(>j(;aXJg7M_0`-vSS(vfiN zwtLl1XM}(7!H%1?gG5ij69`UurfuBuIIys4w<5_s29e?P1UwS^ zBqcBNvO6>poro&&i9|2%ggbHPo*PI$bp!mCja_~ycx*C)f%)b6Z6_Y4?N+>vw|M~j zf^-MZC^MT*+jh9lI50aE1qPV62npA_ih>G1ZA@8M_s$ zSmgo8b_N5p^jl_Wbt&z{(+}-doW^M$z`^m3dU5u-6Azx*t@t^9&I2Rs{Gllfgcrgo zC+hNGLM97+UJZvuxvu$AR_DK5ND^l3&)*Ox&z%h58E;n~VS_?8ST$7Nvk zt_(=qPNdRyD-!x5tSzstKUhxoA}8hKTbVA~6*c`x93?ZhW#yA?^^N$=!T)T{IYFI}?~ i0Y#mdobR`Co&da>5zq=+fmf*&CuU+!R-&M9g#QP&BA=xI diff --git a/examples/__pycache__/mozillaCalendarParser.cpython-36.pyc b/examples/__pycache__/mozillaCalendarParser.cpython-36.pyc deleted file mode 100644 index c666e013e23c83faa0f18fbc1ddeec27e439bbe1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2017 zcmZ`)%Wm676y@+OS$-w)JGL3eiLE4#`dGz%po&DhL@CLkC?^@9Fc@*_${|H|NV&0) zuAD9lbk#3t7yW_$fd8OCgJQN_b={p;y+biVincUncy#8>y?5@tL%%;cS^Vq41Mjz@ zAp9Y`^~iuffswox1;H156bK>0C={_6N>~bIEQbnKLKUl_hP6<~IueNFi|6R1a4z5? zU@6BFMDgVX0hfSNa&8i^n&Tp7kQT*&b(;9`!i5YeCTOaA0{BEAZED#zCV zPv>}!$fN}Nd4J{{;RUjQ7hx=cVm4PS6O~MnOf42fqsZ+`oCA3;*h9|H+zvjaz#t_;X`sK4%uj%wog`xT!B+;z?gsm7%bia{Y_Yz0pr8LOX)o$~0aKzrX??*oyO$CQzvagf^;t2dy?*LF3rND0eHsm7R%n5cHX=$` z5fd7X@KAkd?pw{>p=>tmyMswEfAQnRFBd;u{BZH=;#=bqeRPRFxJ0{HJv0x^ri%-Q zwWAvmfLVUtx+jgss1H-PiU9erZ z_AIk*JTV-nW1EKgq+WGRrk{GjfFvm$8sMX2LX?e%reo|m<|CuibS>L>69Cg=8pY{Z z45_NY-u;$inQd0=dMP=MXpbaVse!XLQ@VkdBzU53wrh@c;6f7Egin$#?PUeRS{9q* zGUXXL?)9-!cOiF7B7Gn0b_=ZYEqV}vZ73+#4;%};xlefvJ@A#DVHHm2cG^r$QZF4O zSZjA0jjHpMX~`fAJ$i)ty&4A zVJ`^0niph&9l$!F_v16BA4jRlqjq^{JWc@>5#5G2(~piquh&018cyW<@AtY%vwV*g z#x5xQPY@_S8|9m+!Y7qa8lQAN6<}g|GKgbJpr%T8F|Y*X!YcF*bPg8HM@(*;4T~wY zmfdP%WppR>@s&`r8-X<-;4&Owt!g($z&vz0fTEGK>4k(&fj_MA%7AsO@pc2ibPoDl zFr5kVI$|v^Bbx#P4oL<hGW?aqHE|IwmVQSnnunEnaT#sEdjsjJt`wD`_%|sl5J><4 diff --git a/examples/__pycache__/mozillaCalendarParser.cpython-37.pyc b/examples/__pycache__/mozillaCalendarParser.cpython-37.pyc deleted file mode 100644 index 0fa70262a1ade723841a7cececa49f5d3091c529..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2021 zcmZ`)OK;mo5a#kNS$-w)`$aoWY$b8j_7?Yn$`b7o)x)7ECt08{7;)70sn&n4T`b(W%q7Hw(l?8k4vogL21T6^Q;c>$h3A3bt^ z1@t?AxqcJ?AH#^>ih|$?9`c0%VHAj13?wWCGL{1cD}jpDK*L&~V;u=Z^2FEZJa-}B zJYXrqV?^=fIRO`dQ!;KGu$tisz*>eU0qYr_0-Ve6G~j%OZxGQN^9tVhw<5j?cp}5M z08eIkhRCD<`dM%40^vC_hv#7|fMPmREE1JWki|KHjKf%%6H@h!i(&jruzHi|Wa%}6 z)kzrhT!EK?zx5yd3h*=k=6No>o5TI*tKO{(@U|y-Gb3g;W9CN8e8w!0rR$Sn=VHb# z{exZ3*p<=l)r?siF-FF$kC=^&xjkYwGv>~SxjSSae_N2hHTXJ>EWbu+j<&NL87aHQ zS-hU&l}u606dNQ@ZopS;z!-x87(CtskGElE3Yc{mh}=%I%oV_a;yx%gQ;(ae_dB4T zhE)TGPJn}%tAPXc15n?E`0hd+Ti%ZM@Qr}C$>w>HK%~%>_q@^z@jH?JLblHDd+%`0 zd$%PN-}{4idr@b4GfKK)&-IxS_DJ({rq#L$q3|w038}~O5$*O8_qk7ErX0|)AF*5$ zgtQ(~!t$8VaEJ%$o_Sz3b_cTAsP6X1!TseAmp@zlbUtZTog!j6H~y5IeFY(5&9SY6 z1JfS#pYGI~*s9gaJGNPA+dEZrzuc}lJ66LnZE%@4hR^@$+6~KTU5naqUe#$i<@%vf zE4Li*UA6WtvuZpwY`a}E4fAQW?3heHb^Shx6FM;9jJ63;*7r=?*tgBcM!VryHRCz} zrbjf4lCua>Re`++P1`bCEZ=bxauU)miLp|F!&*$~_--8Iv8vgs*w&!~Nnm3hi958L z76@x;Y_`Lc=j5c@!%EeG+%bvtJgnE6;GJ*L{SbUZL9u>lTX355jK|Q0vywBc!q++N z7E|NIP5Lp`TJ3thY(HaK+z$emo-wIy*O=6&KGVo)!h>ge$MrdgneO_*5Gk(j(ts)C zl=PBR0b#hbBk`_+N6tnC=6Ds%%lTJgRrqY`Ybg<4N$2PS{-Ge@OZAE13DAzHQ52by zwi=VYeh?L9hGHhc*DyH=U&Pb^CqD^v3#O~x(idSsN|D?5OCC8bMQ4#q<8JSyL|(c< z1g%;M!a>*f-HPj{fgQp+p%0@ork{j~$)k3_Q_SNOP#)1D%uGK%4%}|<_;@gu?SI(q z#Es$umKz;G;Wt5`{5vV%O!@ zZkct9DV1ie*}%&1PUxd6p`^|Q=_U*TFkD}GFQ@#q>i1{kKM6_4pUf60Nz zG`;aKf81Z1>2im+AkQa1{`eU3#|yCE^+{U6znN|BNdF)Ry}nOALhu$>!E7%SPyy*8 rw}qjVIToe7G=XIJD~PM&Jen{3hEy~QE3@Jv+JJcj>8h^emAv>D=O-Jy diff --git a/examples/__pycache__/mozillaCalendarParser.cpython-38.pyc b/examples/__pycache__/mozillaCalendarParser.cpython-38.pyc deleted file mode 100644 index 1ce84d32315ca83d126b7430eccafd16a36ca33c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2073 zcmZ`)TXWk)6qeSy*>MuL&HbvRX%n|i4ZJm62G>@C247NH4(-k`8P!^Xr;;UBav+}a zRCr{DC!UiTc;FB42l5Y?frowNiDwutfl|)Os;3N~%%1)B+i%aFJ!dy=kB{dB_4}9?AC&S=PXwmmb5M03(J;4{T=p&5$49@rxmV6n@zJe8B#j3AiO%zDRMNh=j z?3sXbfHNr`BeE;a3OEm(oO0uUl@w0^R#Q9)SW9sMa5lx40OwMCnILz}&Aa2DA$$e! zM2e>XPo{X9NF)#X8MkmI;#o3_=b+7l;!>(uAPSiv3$p?lhc-VeBOc5p;HUr1^IW)BhU-sP+^IA0c2{txN6bvh%#N73l$j@s&v%BE z3n{z!4|XYKmq)8tQf76;=qa-{V%AgU>WJA$nQJ5F`jCPAZ9@K5;dClldLkw{+Ddbz zC+sR`@mhkHQ$;aVtdktM45wI!HUKz$wJyAE+|y4&vUPXxS0HcpEKB86Ld!!12RpCkG$**v}J zzQj5A<(5!<qJnN1E?3wbqRZg|YNbKwXv#X}1?U4?Pkwd5;GD zkY$@7r1gLjmcxVwLp)IK8hd7AXCN7k>P~+g+@F7W{>}MU=U<$Ea{j4)A-;YgzIq|< zVCBF#Fd8<_9#qOT5SJ~W%C)jpA50$@R?BQQ^nI&YHLH5vu-|G{?V`xCPV_c8`4B?F zs%@EjdxkaW-`}n`v01B?w=JX6wzjLrZn<5vx6OuaSl}|J55ND@wHv10dM;|iepS0= zm+Sj_t=zJ~ch%fAjjDcMx2$%}(2e`mvTZQ!*zx)#is?XyJ=z9DS-)#o`mSZ%)7uT( ztm)4KU|L9nFg^((RTWsf*R)Kd#c~}dCPxA7k_gKc*sR6mj^{)X9;+Iyie>KGkOVg7 zlBh$wNrAAM#Aew{en^hGJuFvk$Q{d&o{P0w6TI^!niqg?C@9wUEfaRLAMhBuuvdJ7 z6*!&UZZRc_owy%iwbicI%hm&?Mt$FR=n2cTts2YpsmD}u9P{9r)^R)zBBnW>KSZ+Q zIn-w|IVQb0Q9u|D?PU0^N~=^Fu3fj6{UcQ$?8&CHTvu6*MQ#p#`z<457kbC{uWfq^UoVJoN`s3KvK%{EoE3 jZzx;%73B)Qpl2wLewM~(z|#z@T8DmJ)D%t5$vN~lm8>Wb diff --git a/examples/__pycache__/mozillaCalendarParser.cpython-39.pyc b/examples/__pycache__/mozillaCalendarParser.cpython-39.pyc deleted file mode 100644 index 673f06b6f7a476bcb158b95112f54d9255c99347..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2073 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 NgRP8+$63c`ZvocPr=S1; diff --git a/examples/__pycache__/numerics.cpython-36.pyc b/examples/__pycache__/numerics.cpython-36.pyc deleted file mode 100644 index 738c128786b7b064cc22a07d73e385cd816826de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1295 zcmbVM&2G~`5Z?7q;e%Nf9-5)>uT^*rcXyMVo-v`OYpeXVY z#Z-xKtoRB>Orh!o`zljUHL6klE1KYPwFav?(_ytfUsaiYfczS(oz@wm25o$so?t?* z!3@Y@>ZEf$it=&hD z!R|O)TU(~NZapU)@~UG;A-^VAo?5-}n2DJ1>e$PiL;%rjyMV?8G+^gwP7-m(21~=8 zbcVKSZ|98BrBsfeZO%$!wjH?Gfs4WJxU(|6>0BT04oO(C^EdPz*|^YOvjICF-|Nv& z51j2Ut=3!1eP{Qmd|SQksbg>0Pn{m!2%uNxBdr{vLy+t)s2qKU5xRv=VT@pS6tLRN z>QtL36AaC+od~({5?ci-uzQIeTPgGpQ9|;fE?63ofB__&e@DWUiJRUqiJ6y@QRGqf z(MvB@M==v&kh$qaVLXXQ{GO7%9SI8riB(YJ`wQfpN^(7SDZATn z!ZLOxD}BmJsPaBp6j1|ZE21uaL;6@Wq%S#5)r#~awq1}CX%~nak{vsUqVb&t#BMd@ z|Lg_yX0aE4p%(C;0O*Ap^88=W_phKIo!E^+&smmdMPuF~p+MYk21y)~K4n1|lc-qB zSpKRc8RTKY{S}(z^I-id%Mc^pmB;xv1|k`yjP?N!%&Ax?VOdOBM`(MT&{4$pJc;Ng UC{0;a46I>OHSijEQs7JZ1IbkybpQYW diff --git a/examples/__pycache__/numerics.cpython-37.pyc b/examples/__pycache__/numerics.cpython-37.pyc deleted file mode 100644 index dc960291f5408029b8789d87492b3c7981cf515c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1299 zcmbVL&2G~`5Z?7q;{zGwiEOJ=ds4^)KiGm%BCC)tL^v_35t4^d02aSnYkCA!^XZ z*YOP|#2U?M+6gqE#6!U+utw_4A5KMJ#fML4zg1>?cMHrv+v zX4~3)_z3idv$nQon#?5>eth7pe{Qv2TkadXN9EV*t&a_R#eU-S=t=;!Du>k2QfLomb{9mBK0yoJLg&y% zRJ~9@YZI+g?Ls-jQ0&^FkOwcZRiFa9m)NnDLVp(}BrocMr4b1jK*ISqBxLJeu6lzc zW?o8$kw@7FFFj3($U@%t*a?Z#h-Drh#!Q4k=BB5G@i-#!TS~Sz;P7vlNGyUF-Jc=n zRFdntbJ^X78|JYqS?Oa|LY42y|4P(A*ovr2+mJRE4QWeGW3eDDiEUFFO%PomZb)`) zCyGXQW)Qp8kpHt5P@CCW{DoS`qC!#Bkmvt`zI_FK|Ils}dd{*uD;m=h2?hLqGf3i? z98ng8F^P($jO8y%l0hCO++UzcK6Tcwq6{(QU3r~uij)(gx!X%r!+7uMRDot>H8Z}uA>)$1mL(f$78xT_=dQyQ~F17inf zIs!qFhbX2>h$F>QFk%W-&#|X6^+KZ>)xV-kTjLt3P;Mv;bNzAqb7dvn<=uLO>3`d>Y{oMfxN-}=|@5siv{+jjK z>F7a^etPI^d}%h{SngZ9N9EV-ZHyQ8s{PdI(N!O~nhv>!)Ani_^F$m<;IhcMDHls-h|}eFp+407_H0{ z=#&=Nb8oHiE}Sy2!lE*LT$xbio$~(@6)CDx$e*z&XDsT{l(4qsVhKbSs4!$YL?p}`Da&3JW%^kVb8msh*^Sey-b5K<$h-15Z>cZhVZ!J!pn*meGmj{{L&%o| h&ZC$PL$jh?=5Jkx8g|&8OXJ=;joBhV5UN;ep-nZ|^JsqJR(wH9_7`rgj zF$ju0L@`xD94VfH5mTsojy;vB7aG;5{smp)Vz&ajI@4jdI@?v5zK6UDtGur=L=9T| zIyu3FSc4f5yEKb6ikRg|46S#O-5@DOXw}*$oX~)9tNDx%!XO=5gj4H4Fzyd+vtw;; zcdYFP4?%A^?RMKVSFNXnLtMGppNb8*&Y;h4x{lcR^(66SUDSbOEhI z)k_7mHq|=SE|qf(gjbG)OuWWcj&kf?W9LfA^><-Rvb-u-5)z+X;T&gING!|1jn*)Z zSSul;utnL2R&tgQkp_IwVy7fZLYB7pC}JY;Q#U!wjYlDg-cqu&1 zDJ`(?-dN#nIAu|VMP>S=GNH;l<^LrrQdFgoKVwnOMAW4zVQtIB3Wy$1VaUSRUKoz= z%z<^w(f$V&K+QZA{{ohr+DfhlJQFpEZxQ%i>6G9Pj_g{lXDrRqyf))UDB$wyejG*Q zm@+?zNSHTLmc1y-^s^x5-V%+onX~#g$`B*olgD{00}+oBMvnmvG^&_;MA;oez9euS f#dH+1oh7hRNtCv>tQc6smEW3X;0CPaENt};eN-U` diff --git a/examples/__pycache__/oc.cpython-310.pyc b/examples/__pycache__/oc.cpython-310.pyc deleted file mode 100644 index f8f452ced81d0140eac74e728c01646b7802c57d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3840 zcmaJDT~pguRuZ!O0VW9{Nt>qaMGM6?U_;ZS4d75horFmOSzsr#N*Ir@jzO&~sgfK5 zNuIo~JJa`lAv623e_>zt7wjLnkK3pGfIhUlTlSnQ+2Dq(JooCJ?@u3HFQ3mz_-y^- zU-j(^lJp}1r=KANzQz^)U6CY9G9*j36i42YKsg$CBgqn|kg^6k%Cn528EGS9WR09L zXbc&7qzqf?(YZGgQq#tHWGe?#-%d9N5E?uanh~@iq~(z_hKBo~bElw>tn(+(Zn~qOR~Z;b zf3mo=v%I{6(Oi)pP%IQt8Ad_-KoT+-1C()1z$JPUpHYF4-_ng)xCmvG86g|E$R5cK zA^#j)hH<3P`Ew|v2NjsbOw8f>9M?Ee@STG(D2vPu3V4Y8x=nRupu<(vMv+{@H%3By z9a-qS-lbzrzCaz<5ua!>ZggqFs|kcYgD*~32y&>8!Huq6)NvDT!gZ|Dm#F1SgujBX zj&8yH8(EgD3)Dm3NZWa10Tw$FEPN;#Rj3}_h6SSkAb-DPjaV1|BpFNawKe*k@`D^a zg{2NgVO`o3t9aS`rz%Ogy(sd-`ATJff4^*djYgyF1-q5GTeogj%=T_OjLLhq8|89a zd%&8W<9PeFyUXm5naqN)5!ilYdoJ^uEJBX;6}B6gt(F?ReG!(_ibc1d-6MN(owibWp1F*(#7E)2DS-EYYzif)YJHVkBujiLb=Ms1+rl z(-BE_lMa3Q_xEfE-oaYl*?2vGs2#XEgBO0l^aZ_7*O^F)S9l@O7&bO2hm~S=Z@`q zzHqrO8|^c(ab(yw@nO3^gQsKfQx&KR<*U@^fa})Cdz4gb( zwRjXI^Mxf-iY1dyj0rJUh`&LBb|3NvC%LqOEBpjEOMWdy(zo&}$x^I=KP#{0SMrfU zR})Lxl#1$_d4w_|eU%bhW=*pZd4X*@J!8p`qQOu9WxpMTQBV*`EQLjZdntCJihv4T zJYncT8RAF$)KoE^udjuO*t(k0bb;#Q{#GfLsNhm=XJbmNlqET1b0-s^tyMA@83jr51$P4RY>G|JPQKqLdgTXaTSY~b zXZ@rgdcPUB;PxW~JFDWC=OiJ*NfCRoA1j!jxn15f%F!}yxA0CWus-&QdK=Bno&uW% z6TjA2sk!3ISS95oZVDSyh$-nSPZEExD~LNOS)w-9vW0)-jE@rlmK~=!z|+Y;fe#Ag zW)$FcfNQ>w@2IG76)z4EA27q{Z&E;)^j{_`dtM7FzS(vv7Cf)`2PBD76?kE`eEcp} zyhhnS;3~!a7yA2XxT*5+?2sG`H z^3=-uqep1@0UYdmfyGmy@7Smp=f9!S&^J;~?yo+qapjwJuB_hWYVF}>&CoV#TYuPC zCt{3d%y^E{#1>u=>aVaz%p0~iUTQ=%?Xor!J#p%|l zH%!OjY0rnibS<8@-KPCw&5KOBNb;2D!g`a)%VFp>(8tw#_qQ;0wY#{}@H4b{sv6ne zC^ZI8%~c~8x0B#aCvy}VBiQ9CO;979%veLEOJR_vLTmP}i}CP$V>3E%V8v@uJ&n|J z*K7e-QA^0>=R6%kw1${ocM!Q=7yWi>%ZuJwYk{m@+C~lZRv#A>};LdpyI)qacrhJR0&SY2|12IFrlBIYm)bS^G7o4$GNz?nX{l GkN*c`w8&%t diff --git a/examples/__pycache__/oc.cpython-311.pyc b/examples/__pycache__/oc.cpython-311.pyc deleted file mode 100644 index 56dff2d90c952eecbf1194bfea1e923239a09380..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6745 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 SfP4xIAppw-e@o}ssr^4lA;F0N diff --git a/examples/__pycache__/oc.cpython-36.pyc b/examples/__pycache__/oc.cpython-36.pyc deleted file mode 100644 index 3db25e85e24fd811369057c9682b719fc95f2b91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3756 zcmaJD%TnA{R#K~i?d5-6Kfe-OvK7yDF zmVR)ts~|SZNBJc_#xL_L{3^c&*WoiOeO-aiY3^!#9KNtJU6tR!HH+()@D=|W7>vTD zhYCzsxvq+IDmUN{U4>5~W*joe&tM8}!em#a7tdKqH4W1+j(j(8e2L@hhYBykB$S{C zWh>uRtpdy(+-jxpG<5E1R^o;cH-eP$>B7M2;+fMI*68VJFWc47svJzBJ$W3N^Q?S` z-dtCnk}u>@1+GBmGez>C4^Y7|1y^Y$I$njb-{bilT!sqrjFAo;q>p%qk$xVo!6f2n ze;X=jK^5jO67x82Zgg(dDzNyu!fQ}FcmRt;@w4{RUtTEIn05KD3SWlrtt&rjKWo81VVNq_ zy1K2Du9^SQ6{WBrMSi$YtsWj8R&1}?Y*xHruR4GK{=KT%+3SQ+W#4wALSbhgSj%%9 z@6dMlm>n{cSr9e@+mCF|WnPO#NU^!f_5!orHiLyif#GuskjGm8k;fef+O}&tC@lbH zyX>cq7eRQ76-%U|6M}_G1NJ&Fn?FK?nk%tbKk!J;Lf(R=Q;uP@UC8I(m;vpie6oO^ zR>zev2}}qU^3kymY-8nFoh=SfpTdoo23y}bwurJ@ zv>A|pxNke~5!CX|hZ_Mzoxn919Qgq=7L5T}=K{%JX^C_=4tG2gyX23}Li-H6g#p57 z#gZ^uA6a%j2{XV6At9GC`}Qy74Y@y0u%tZWE7DqCEQOuR)i;?8M1!TBuWi@!rO5-) z=$s3UJ;SnzH@kxoJnQ>_u$VfDj4Y%9G!^Lp0E=?qy!vEiYXGplv$eMIIF3IF|34KN z>%L`R0n#=pHgcL$He;}N%$SvPSa^VC0rc0_&%O|;F>E-U*_lvhqu&qRl_?WB{ zW_iqRF{&pPSG!OfC%Kn1v%AZ$teKP4bY(igKf7|0o?x@A{6UrbnHe@ady+1*Dx3Ns z(J6$STwG$c8hgN&aH_G1+R1Qnd1<0nsuh=UK6w$Beyo{l9kur>H&HLaJAZy&k6TgF zUs%$mSkmcan~;5l=$qsyJ!A=Xab*=p_!Ul;`d*2Y1NEI^X;$iQ+I#h#dZ5XsuVB;H zH_TsvO{cFYX;9Sk={xp2Q5Xe98NhN_lCZaOCaiR(*n<;<9^@f< zgwM>B;@|z5+2Mf!k4lR{@dn zeO#lGCUm?sL?UH|(La=cF6h5aSNFX(RDHAKR4sT@^^b`YxvFqvwtf63R=sA$KNdRq z{df9&GB_z!UAv$L7jP$XjRxTwjg8WZ$Tk|5*K9OIzAs6PJSPi-x&v)+BQXN5`PzZ! zcvT5Zw5DzPBDdW^BOwfhzW#h=OXyoPXVxEXt*ky3nXP1%=X!Fk3w^u(Y)zzBH=jL2 z%}?R@&W)x!C);P7R-@Up!e`uM6#mO`)wl5_)}oyUsIP^_@R$Z3z7ZF=b50 z-#0^%m#f=pqb2k=5$P@1gCmi}0OBSPI(@O?qV?MOBi+HQIL17Sg@aLRi1g#Y>-eI; zA@DYXXI=n8r>-TkkG$Xz?_5HszlX?e$_t_Ch!G1MyKSSabvulB9y?pJ(KH=LWIZ1O z)3wBi?Y8Wr4KFh35-HN23!5!MuY{r3L>t#0KiR?1)gR$ZjgM#Ij>_}>Hp++2^i*Dm z%SqB^lOBqN5$p+_x+l*j{gvxN+{Gf zA{#=qfslT65W3Nj^>$_&k+rkb_NHFZ2SrsnX~wJT~yW$G1G wS2e7<(|1hM)N(4L5$=XMtm)ag6w`*)QB}*`){s{#q%?InRZvH>xw{4Re`D{lCjbBd diff --git a/examples/__pycache__/oc.cpython-37.pyc b/examples/__pycache__/oc.cpython-37.pyc deleted file mode 100644 index 12a8e24ca7ce69fc7df6a286f388b617ae7df197..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3760 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 A0ssI2 diff --git a/examples/__pycache__/oc.cpython-39.pyc b/examples/__pycache__/oc.cpython-39.pyc deleted file mode 100644 index 8a3455897d13451c85761dd1fea5e98cac72e578..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3830 zcmaJD%W~V+6}SSyhaR@&SE4w{6)Hs}Wsy=GJFz6%krmq3*p^&L9Zz9vI52T2Aprpf z04+SLfRq@^1?OJe^M3N+TEoLR1)t5o z|6JQTqbUC%;P^9yz}L9KzcEFz6;rWQo4M+y0_S*{kuqXy2d7>uNKKok%`@hxdDc8c@C5C8BBCk`XQW_TvIRwV<>kC*T=X% zy``9Wn1BN0p=f72s-1)BZ!b3n5E?uYnvt|2qzxly42|?br;b4%*{6@7?R1BsR~eW< zf3mprlf1lz(OgvSQ7jZu3C@B3fg)uv1}Nd0g!A+!KC=v?zowhBa284^GfFmakv)8!_}@`)Nu{2!4<61m#F1SgujBX z4z9!eYgJY3Gt@)hC|hIZ0xWhESolyeD^NMO0SiR`fqnl6d(=MrN5#AeU)$%tV?VIq zuW+-2QP}4dhUX;si z?f`H2uIukQ-ZpnaZgCsJdf>Do$M?A3;1P1HE%WWbYBsH4K9}S893doF={*wMgrMno zmW$c~;Eu@zE% zlhjWh(9>vp5+{)f!+bW{YXM(fdQjyHecVTQm+}Hu47gza4U; zU~uDw!Jqo}9yeYYu>_IOuW}KZt!S@U?z5FANp4&=c%ewgo(M|x{D_gH^(ej~52I$3 zgic2!ISo4W>EGRPTzCg-`zPa#0HSu_862Ls0&XlAeY#FWQoPa=8E~BLcqefwAG?MA z8BPNegxQKUVYc4!>|_>hfEz->E_L?&pU)cde3D|xc`R1swf$HNKT)dZGC7D2OFy4F zp5Kx#_hqAfA~uc;+a^A2^=I&S?0w2&?j$p^k^0EgqbY*l(l0V+CD;q(~l;C>q7w8~R2URG}94Gx@^ftrxErF7M-5 zi8#q|*(cogxzpg(Pdx5+q1N^@kEdt0Za%T6_Xnm*QvrU}mHpH>pW($fsyt6m^O>3b zRFRkY%GoR%uDp< z?;lpCItAK&$QzvG$}+C-6Wna|l@cl6sxK9r*#m!Kuhf_7 z0i$b)t>EC-R;>e+k?AWJ`4Vqf^~et#%k3FUh7=8c`Y*TIQ5XeznZ#mPkhm9eC#no6 z-^CM#9+V+|#7|Eb;`#bYipZ_28BOP@KHjgDVu|t|<#slv#7cRRGd_1Tv8j?hUx+QP zD))+{+?$zuzjgG{d%yYXe6j0S*SZw&um|R56Rkw)hMM;#5znXj)a=yzjiOhr;AE?) zi1KV46~yQ_&BFZ5$2^AoSjdqO#ymgD8$DFxQYIa2SSx!Gf2 zBX8l?8Y?wdcoD0loWxDxUJnN|o5AnJZSm;gDYKhE78=ZtO6x#iVOY1^gr(M5)Ykg_?p3v8mw}h(+Tou|z z^}&irEw4RzfR^vU-mV|mA{Dk=2le9oH#HjiX6n)1mHSn}zF8A&<+jkO_cyAhzFyt@ z-TJD~9+8l4xvd>56j}N9+D-I?z9=HK4%_ftq%nbb2!uxeSaHgJ>i(AQVRoEjGmVXd zS*wZEoxpFmM9zf3Uke`i0hk(1E|I?N2fKLh5*mF$L}pE13N2R*+u%A)2X)wFZ%w!qBgyk1KcXZer@Hw{fT8XX^1( zHM6}@Y7QQot7a~4C&`;m<|sBsuq`y2pk_Lmv8G0s!XQnB)}3t+;}OI4jcCt>Wxq-F zG*iz!s|i9wEum1KiF63jDq?!wLF8IZ_S>;-SoY3h)3@6$+#mztkGN^KGAzT!RHkMQ zN3~HkgFlU(Q+1WA=TuE)Y(zcw`-T0N4Kmd@WdGDp>5ON(Da)YHV#;~7C7hCB>;^tUX{eqo1N4sElXrXT8BP8~^SuIAML0eRWS A3;+NC diff --git a/examples/__pycache__/romanNumerals.cpython-310.pyc b/examples/__pycache__/romanNumerals.cpython-310.pyc deleted file mode 100644 index e7b6225a3810d776acbf83897ea57815a8d94475..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2387 zcmZ`)TW=dh6rPz~+iSHS~QcZm&GR)4Z z3CS`{jqe)zJ9R<6)tHuVs|l4oHV!#w?XMY?U0@Htma{U4)o0YugNyPV`L3Fgm!B9M zcYT}X-fNOI)(e8Fb|D^vEJ6GcK)@Qj#*TSIfEhLH_!wiK^7WhChm2Iy4BQGa3Phn_MrD5l#zn zGS+Q~Pj_EqHNG3ueN=zQ>a1qe#5GnoT6*6^ZERs8O`{^uffI5sj1}FI8-%$`jDwkyv#V~Majm(9V!7ZH{l&Rg<3gq{(t0xl(*zd? zvIJ8ElLQk4;{@jk#t1S5qXg#&D4g^#!4Sb9!2m%&K_5XcK@UMU0lAazBA_tI8Tu0O z93V8b3Odi)_pj5Sr=JB_+>8(K|NEI-Uq+`Bo_)i0>6XcT3lN`<@dYe&KT+oa>~qLB z7-tWKg!v+SS2ay*Rrfun;1 z>v26B{SS=m*B9T&Pqd#nWQpdO17I)6h7>rGXIM=jD-H(;v4$Y8Y3V34e#vR4Ib)q3 z8+I`3dWEvqst{zOOqAU!Yg%*maXoiAi*4eIlF;Ogusg~$o30mZmYhnMy!oi0Dp8J$ zV^qlrV3;U%#Dns#^8C;`9p8Be={=?0t^Lht$y;;;varR|T<|__zBFIzYqYzYS(N<7 zN-C=J`IUT&t!%XGR(ow}Z8e{7^R;&OH7ZfJPhbmct6D5BS4-G-rR=v7bnX%wrx{k$ zjkc1dQTCK=Zk4MV=TL*x2?h$ z#s>W?8#7ES|tDRHNc8lM#@a_|NaR>aPd+I@dE5`VT!**O#CV0;zT6GAHov9i=_BX pq{OeHOFS28@yzTNzx4E3##qKQvhayC0=9=+hG}7@q~NLN{{WYTF5v(G diff --git a/examples/__pycache__/romanNumerals.cpython-311.pyc b/examples/__pycache__/romanNumerals.cpython-311.pyc deleted file mode 100644 index be301a34393b9eddb18f52b71d010a675f10bcc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5220 zcmcIoTW=f36`q;hC3ktJNQsn0iWI3EZC8vP-TV<~MFT~OGmA`l4-Ry(p8QzS9F zGHitcio$s)kcYhaRX_m)f%6xNzV|2WWBXFR)=4jJV)vZkMZ2^NKD6CWduHa_GxwQu z4)yzRI6&a}=#PKC`v-%NzhI&N=)H{fi9*OzViJ?qNrjs138^qfI5QPfeZ~lR4sZ9V zD3aGq-w>}#-f!wdye4_W3=Hu;$p_8Q5bu|K*o+MEy5yr~Y=}1`A2-K__<-aSW^#xR zN`Bm&7~(^cPnqcNPgPP4DnGO<&h&lAv`Q)NXnp;0VxeBbt(N)`lQsP zRHalHK%y;WZK|P0tYj-Q zl^jp=8J_!sozAn8=UJ1SmU-p@XcO`k6<JBNDI;gh2H@HVo(%{80ST=~K z#2)MpA)gKM?V-_~xLbgF-N#dRFt0ZC&dgi7L%yclCDmcAmgC>7*<4iXPQ>E&FRQ}h z@9){QX2S^z-l|vk_{TN-eu-7Wjl%=fyJL%53 zoBUz9^|%EsfnJ$EsvflJ+$xLaLA9~nZNpk_J$4dqrZ)%yW{TkZLIuHypaM;pTqa6G z6K5ec7n=8ABXkC?TytUdN)K!6S3Y#ZTT|P30i6?vu6J-#9JapG!Erfsr-M5P#BK*i z>(Jc}j?-bgo1G;|Y<4bniPcU;6003k602*Sub?%Du64e}l&x-cp1{62bgT1MNJ~tF zL2-F+a1Nm4gIAuHKLHEYnm!@NV5^V8QnzWFpsjARXE3(sI6nE{Jvt@>4Y1lHG{An3 z&;Uz5LIZ622o13ABQ(IykI(>%KSBd+{|F860wXlQAB@ld&oDv*e8k%{+6-(%c6)EI zVX$j>n-cI^S3x`_ZP?rgc+iMQVg4wETiRCI>H~h;bv>7F)SG+Ny0x-AP%1+mD+Gd( z5DfrAuXM#iC&fsBG8T9ZD#uP~G?tunav3MdGOBzWL z#E}s(4~dvVQAANdF^eLPB8OrIMHWQ{1^OE?g#z7zNTYzoA_85U7)Oyrfr~59O^P@Q z9KVR7h@ilGCvcKt0Ypg=i_nNhuDW@d{EkwrI##_?aZ5sGS2dB$JTyvMxb)x@K2T?Vm1 zsJ#21CXT7wxevSa9rBb?@@3K_y<1$o zN6LHet#|?-2yMHL>`TZ%;DcTEp0+EbJ7#Ta($f&H&AK6;ShMjG_8ya+;1u3?&@Osw zdjm6XF!WoBD_Byt1$x}0rCMXJDFolM^D@NA?>7a`X6f_e(uF*%AbjB_FeSwa%Mj*n ztzq9isJ0yAgGYP3C4(m))H_N?(VMdc5~}Hy|i22 zTHV^*-R-Dw616bcy)9Qw(rFkgyV@!cZLPm~`(roaGy5Bq$ zAZrgH->3nj*t}8EU`y=Bkks}e@!ZqSJYv7+nwQ-L-8q~EdaRsK~ z7`$8G=1#!ct2Vmfw)ioAqjvW+QSPWsQG+171+lm-uHpRg)Hu30Y=I z8wXAEu+CS+CVaqyE@Nu;8(s4$X*CUJ>?|;aQS~)r>MN$GKQLAOo@wg8nNNMm{OZ4$ zuKtr5>OWXO{W}Y)-?5PT?Od4s?P|=Y+@4gG+i*Om=uK!D`p_9=2BQ<-S-*zfWyfk- zIjd9TnBt>nV~)xW(zjJrS)r;L`#wo0=o)sSGi4&get?dEk^k6$siu0^paB1re`SZ^#GTUCz9L;HI zKp1T<#=8@#P<$+r93LA${Y|SGx)BKKp*~`1T|&F4T{I#_1mfv;&cf`%Qt5oz`^C8E m#dIb+Go9;08%w0*c+xVM55U^tt$70wZ6>1AZ}P}U>+&DbZX4YI diff --git a/examples/__pycache__/romanNumerals.cpython-36.pyc b/examples/__pycache__/romanNumerals.cpython-36.pyc deleted file mode 100644 index 031bbc7ff39a783f29582ef7d68d5365156c15e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2301 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 diff --git a/examples/__pycache__/romanNumerals.cpython-38.pyc b/examples/__pycache__/romanNumerals.cpython-38.pyc deleted file mode 100644 index a0dc7261b84b796ddcef24a217611a9a02ded7d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2375 zcmZ`)TW=Fb6rP#2owegQ&IO1=E`~rGQ<@-Dl|F>1#pxwg5>-HhwE{&e&m>u5ug&Z_ zBEf!X(uY1E@e`a!eni#(v5)Ob{SLjP7y6yG17X{aeZKkT%$eD_oO9;ufq@i5x%16SR5=R`@s@m zX*mGa2bPh8U?x~r4uK`XhUExY3T#xK0qX}lE6;(Y!Nz0`YyfOro(Ic-O~^^GK{co{ zx0o7$q#^x~6eI~TA$^bpBo2u|j9aXoJ!0078j@2v)*ew5F_SHKwN2^tU3% zth}0(EXUNuj`57^FVzM4PWz&KS52z?k#WE|>-FbUet|vXkFs)B7O;XDHTv+9ydvLI zGxF+FgX6sKu)_Ntx{c-WFg+6RSSL*ynt$5DP@T9`vm^ zzS4Fj$au>C%GRFxr0hF2H|W=@Ua`ySp5t#9aLjI_N_KaA?YLV(eAlit)N`gyeB=1~ z{C2IX=IeH&GB4Hce0{HunP4}s9^2J=MS1hOR<+%=?i}7+eJ>a}t?4ZSp2oazJ6x0h z1$?;!|6+kyUhl+0#d?Rf2Suqv)&VbdLQ7Fv>CA?TmCp6hqEzfyp`zH4p`y6dd4|~n zzSMa^wJ5H34h>SQc78@(5IPORxiWq7q(J}XK#$RoaPvdf;?ih|CXSX|y(tc2_eG2K zG;sNd2Cg5`AOs>BghE7vkcemy8W9abB%(p6L^KGQhz6k((IA8(8idj*jex^Vt(EB# zP6~0ltUD0zBB05dd?&8Qss4zySkq{V8?0qKq8?)tQ)sdeeFpBw-5_3Zs*WGo9w^{9a9OZ2rF0$QHF zK#(VxCYU0aB$yyLPcTl9BN!t%M?hhu&k&3fj1UYH3=w1r1_?3*0|ewox}ShnT`=@z z;sropXyr$Dn*G;qVCm%n*l;4ohyVAdufpb-=ihQ!I%9I%G9=6aP4*zu;y!NWfUh&o z9tnv{3-6-9!zl_P5Odc8?nIZCT-Z{sdR*6wpVMq~*v zt$g_3H*Vfsd@C!_Y7&ql#G3p}9<$7NLyGg|_q zs&u|mwW}{MBYE-f4dd=%5<-%n&PO_?|^Xw)_ zqvk3rwpnXvptB3^I?x!ta;-S_>F=R(Hc=(019b``wi~Y0N?QFi@J$2bUpL75bpu2E z?OMaLT^S5kl)bC&ZR6SS>UbZlzTV5A!^CWOjjEMCo!dhP3t|sz4&q(g?v@JT80&jF z%+pEL9q+3k<&|x>`@rZAvBiM<-7DfMh}E=%XQz(W$JZaw{^`^MQ#ahZ;batP(VH_D zsx{fDs6}!<&jpx<8A~C9{O8XQT)YxO{4EUemxzf!MO^$L65?3&iQk1OeiKRYt4N7o jM89|`(&B}9mB?lcGdFI;cpl!6L7-+0(~NOga`EyXZqF(p diff --git a/examples/__pycache__/romanNumerals.cpython-39.pyc b/examples/__pycache__/romanNumerals.cpython-39.pyc deleted file mode 100644 index dce88cc1417d16b8774a47936a797f09b1b02bb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2371 zcmZ`)TTdHD6rP#2&Dt1aE=e%q;)JBdX$n!QDtREN4WumruA5ryx>|^^=Vv+50Sd2K#%BfK`+&ZsD4mtWRKS$rAFCGeO?4eC%GRFxwB$QgH|W)>R<=v(f#Yu#aLjJKLU#9j?YNske8(==)k~&LeB{hj+W@~o6JS)}CY;CuOnP4}op4ydKS$VU%TCv^L&K%xMZ8sP?t?4cTp2oazJ6x0h z1$?Ou|6+kyT5HEb#af%T2Su?>)&VcJLrYOyZcm4b<@WW^qPWnuLd8N`hKhy7_6y7w z@Wu8ks>Q-e`@kT@O8Y0&1){?!MEdjlJEfAo3y1|bT%E|o23tsqcLvcm*RU<6?^m}bLDEuE_?GcZ$<@7U!t!~5zzAV z1%f=mB*6s1IKddfd4f@b9Ki^|IRXkJeTHC|V2EIlV1OV?&`*#d=p!IE(!B(<>Vly! z6E6S)Ln}YJ)9k-?14}Otz=jhsKKQ>seHAuGJpYc%(ixN6mLOpcXs}0_CiihG`+SXY z_C!crT6h-)9!^mZfta}#a3{L7Qa@vhKM4dd02<$vaO=supIo1V&YC zA6F74i-cd@R<0MAC*!00Pwy!0Z0xRwpS(+32;W6`VVVn`J=QmAZFll0#kHkWSQm>+ z#SU9q>(-t2%EHQWvDoD+UGo(xq1k7+1#_cbE-%(ASahxGbrN#nG8!itRnvKPlA}>| zl@;5l)-}-C0e2l}3}3lc9Q*WlQ8^o^64Ze@g%MkIS864#UK;qef$?t|Wc{XrA^uji z?%A#k`pe4RQ4hB8WOy~a4M9)$RnTElHoSVpN}tZ_p>qYX$5jWhu5EWy1#yh^J^c~3 z5hPV-ysv_kSF+vCzJNc4!`g(-d$N%5;liC;vo hcrDW6l{ijhGlrQPHDWvuZ^$4>vxaHLI4rq%{ST$GD<=Q| diff --git a/examples/__pycache__/select_parser.cpython-310.pyc b/examples/__pycache__/select_parser.cpython-310.pyc deleted file mode 100644 index 5377c17a8bda6e88db34303a511b1f224a77e735..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6957 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 diff --git a/examples/__pycache__/select_parser.cpython-311.pyc b/examples/__pycache__/select_parser.cpython-311.pyc deleted file mode 100644 index 9d9c8e5de34130ae9335d7a78bebb53238a64424..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13947 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 diff --git a/examples/__pycache__/select_parser.cpython-36.pyc b/examples/__pycache__/select_parser.cpython-36.pyc deleted file mode 100644 index 1192747ea70a8c0f79e250657e38156c19fc456a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6702 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 diff --git a/examples/__pycache__/select_parser.cpython-37.pyc b/examples/__pycache__/select_parser.cpython-37.pyc deleted file mode 100644 index 81b4bf6658cc80d9db3c32aed039fae6f79671ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6691 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 diff --git a/examples/__pycache__/select_parser.cpython-38.pyc b/examples/__pycache__/select_parser.cpython-38.pyc deleted file mode 100644 index 15d1e50562ab68e874d73808b47ce4cb4a25ee69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6945 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%0A|-7vz4b2BzNZ(3D8a`0l$C^6sah5 zyjpi4sAWGPj%fFFx~?NWnz22YFBB^a6O*^EEtU%=Kza|xXir5QCRFZ%xx4U@b``32 zV>I4XX`&ma$!>zCx=EO)=sl*D`XC*onHN%L5UbyA#*1yMoeUkK z!`~@Tk6|#MTWi0ixwd8QFb>D(rU`lKdTHi5>3sF&N86oT&R7CFY9`~JRTT+7C@eI~ zbz6*wRfc9m>_-)c)@*IoEi=Ev4k8fYu94rfyjs3N=XyYmk*PV-SzG;Zx41I1SDUZS z@{jI6{Nhny&sX)**3$j2^ts*ngBzB+bMK?Qr44J2uRLt7 zJlwsdAAF*-`+EES()#rMIqSof+n_^4%dlwPbQ(}sdW=P2&24RN!^ssQX;6|z_&-OJ z|Dzh7(}*N&I8b}>o+`HEgJ9p#et!$2H6IfWn@oN%p*jvat3vUVe!6PWNN44PG zA=@1CqM43O`{oEjHGm8$^&A|K(4g}WVUkP{Elg3G zNjdV2Y$Z^88-qb8>lJN!;nAblehuxCW>pCUKhgG};&t{a82LGpee}sE8)ys21C>38 z?}$>9OvCpx0jD->iVSJ=sUheX%_e*;2Ij?x*s29V=>k`SvXfJ@ zrOB!3>2Pak{I4-2S~jT~rsr_WsAI%Lju*zqt4S06J{5t5O(w`b(fW4fVLpZa?(Igj z_7!dBN1fa45!CwKB+O5=GHF5OgK>R|BKqUnZL$Sx)2CMYv0yV^91Jp7D6z@X%*oox z=v0!y1cNok2E6Xu&}@ma~Hk;SxrLp2Sh5YM)6>esEubv$0wJ6LQ4TAt4RR%CRCRj@#o6h_(XU08FFqmSF(5 zY=OKA3{zDoS?{$P&0O41xDJOJ&`$)YejM&>4cAxk;^U`y%l;hrySX7ffr6AuVLui2 z(_udo_OoF>7xp*8{$|k6P3eP3XKspd?(h&e?WYCz$}=b#^^{SsBhJ}u?5n5~MP&&z zYD|^Yi|`J>E2~4Q3av7nPRMA0^D3VNBtKQD;I2v~r}@cBg*s-X;t%wS)1WF$;2q$` zY*2q-F89?3pDnHX>N>Q#`e1qeV_jVrEsXDq@m*j2Vi|DacRzjb>6#y3XIpIFABNLJ zl(X#0ueiAN8aPqqPVBam+PdDMu5YO0z8rhGFJGvkLkUOoWAA`RZ z{M4tS1UKsbfVh|l0?9z+im!48D{)c3_~+42J8?5g<5Rfq2xoN^6}p{Fnw9zX!~Op1|Nsq}>;UIDl$n^TJohqmghjHR#p zH8kpQ>Ya?7iX}3NeCc>p9hVbO*=J%`!EK}9EaiAq0jC`+|5f73zm?-eQu$YU0C7gZ g#UpSVfVJa9O!?2%ct#nPQ_3ZPrDCa%;g)dxKie2CApigX diff --git a/examples/__pycache__/sexpParser.cpython-311.pyc b/examples/__pycache__/sexpParser.cpython-311.pyc deleted file mode 100644 index 9a2e07be91135c3216dcfdb291dc631b4643e062..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8862 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 diff --git a/examples/__pycache__/sexpParser.cpython-36.pyc b/examples/__pycache__/sexpParser.cpython-36.pyc deleted file mode 100644 index e1b5410ae1d4b0db964bdeff50fa9530fb349ba5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5168 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 BDp3Fc diff --git a/examples/__pycache__/simpleBool.cpython-310.pyc b/examples/__pycache__/simpleBool.cpython-310.pyc deleted file mode 100644 index ab2436fe48884ccd28d1a6cff13da2ffe5176c7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3616 zcmZ`*&2AgX5$>KDlEYt7)So5GHf76RGeM*rl0y<(kYroC#u}7iX?KCaE(RlZOG_^~ zq24GyXkmNGvOtgNiW$YI-Zu<6Mj4+ zCQmrDbL5mPiIPmbz9DnFj+_uvXwS+5+LQhE*sil@_bjZLKH=V+yeVeBv(!Ju4R2n| zdbd#D-eY3!Z``{h%i^Y-@4+r;&C6T;)-8EEZuMXZdFLtnX7OvwTk!76x#N3s;e-n| z%e+N-UoQ5zyo=rcA#R6U-0>dBvRn{lxhNLmQM4b3a?j;#|L@}N7Nb(R_XGK>VrlnD z&}alZ4XNGd9jT~QN$Pw(+^xT@wmLzl-U@Z9)n1FDR!yfqmxsS^DWRROh$e$Z``aMW z`Imu;qJSgv3f(z?C^K4;DXV(&rNW6Ev1h^!)q)35F z$&}{`7wV>UcD>bVY__3cC~6k=8GO_x0Z&k(d5|M6_$)hOKI`zf-Q(aa!LX54Re&U` z*gAnz%Z7I3o1mc+AP4f)(oQ5ByP9`SnJQu4+4AzYt)^UV2M3L1A>S;w58F6uJ=|NC zZ-ZvLA*1D}PBp2w)IQX%@7Ke6$M@$*9|t7EOT0TdqW;ogicTuoIZ$DZR2qELrb6fW zkOVnmuc7%VuU5D!fIsD`h|1^}lL@dScn3Q8{%vp{$STQ8V&e(dic{0H?+ge;A+DLa zL4*u3A}HniQAhdy0(H|VyAu}=XGW{1X;LW+n$q`m#`l{oanPW4&iD5Zf<`=|Cb5Bb zNHH}_O&hD#O=@Aal5GeYQNXA|$5mMnS`bmLahb~tPQi9<(_cf^g^%#DilS&Tz?33| zf$mE{BC{DFk)Rkn!ivFU;A6+|`GFi%;o1(=o*F}YL`9<=o$4Vt2W#lFCy>(vwn zE;xc_4#ks$JLGxZK5(+$u`+HOL^Hd;y(3q!O7B)}#K-;Uy`T%k(VU<1)PqM`ARAQA#h& z%Lvz`9=bamFAENH%+29=Igv-UDCjhuVZ9!1wl&jPgU9HwxzlP~vLD&-328+!FSyAy z8|JV83Lgb=9IlTVL32k0E5D&NvdMu(LkZNDEY4#4;{fHm)j@7ZzgDd=m z&%iAPPENJ!lsCF~b~9+lI3p+xAZ|y<1Q+v=f!hk^^g%wy zyW{8P>*uITUK$#WQr!_dhQf3WQKUU(J$^!dv#S@Dk>v<-5f!rapD_KK)H@0hgy)yY z*8Api8D!2f=HO}JewQufFR&jXs0->*?3>dLSjPuk9pIqv@7MVc--ipFaw7d{H1Rg@1TU=Y}G zSmR}2k!#}Ay%vfy{-9b(UUd*;dYj^ci~rQ&h3hob!^MmqbWroS}o@9&{1G#w%_%Zw@7b83V)n;H|) z$PCsEr&i9#HoA7Z{J3lH6H(>Ip7U~TYfC#DYtLV3o;l->tCdf5vUAwR<4g?!tJA|5 zo1)lP2_ocrl_KI2NrULT4C(RvGN^s0f{uAdnCr(t)gWZxvsYg{gU{ApY(3L1W&8dGTyxTf4O68GINc`7=`I zIjO^yPIP3{iFBf^>S0G`iKCYn&Zk|tUDi5M=q$ZQXPX z;>Xwu1zc1GDUOvb*D53m_=@Ajgqv~^7xYi^BDWli=d2vhaqEB9kI9tvUpM1$`dywG S%kT_OVyu9<^W6E5GxHP2Eb;LG diff --git a/examples/__pycache__/simpleBool.cpython-311.pyc b/examples/__pycache__/simpleBool.cpython-311.pyc deleted file mode 100644 index d20c671695a91de39707f9ed14108231a00c7753..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6475 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 diff --git a/examples/__pycache__/simpleBool.cpython-37.pyc b/examples/__pycache__/simpleBool.cpython-37.pyc deleted file mode 100644 index 9559a3f736750d813298235fb9e9cb3786b6c16a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3708 zcmbtWNpBm;6|U-TlFe1rZh56_d10JL0kQx=Y(dgknlZ+p3`-LSjhQrBtdfSFW|OLJ zIg%jfLMOKX^8<2_j>#c^B>$jJ1LQR4+;qzKs!59S$Vh^8qn20O+rIaz*2?7q!#DHY z>);=tAZv17JeCXM$LT!!55(i1 z%h|Vl|97vM_{kQlFMdy6tXtasBnZP`CzRTKo=8Q#dRCWP(QfOo(Mf`&)roYj(_M|@ zPE+STmq)+vD50I#RA+;*`*jfO^2F0A*= zv!x^Kzi{D*%zMYnz(GW1MGjO><~&!p5H+uhYn@KG*@bkGXj(XjK5FUkPf+5Us7|=x zbL@oqEa7Rt$3ayVO1ELd90Jwm-kZitz$Jo*EH- zaj>M$bymsbKt)Xwiau(o7;UoXoUk_}H*eIrDuYH-L1Uy#t8tLTb_Wvp{%ugPvCR*d zrVIW%R>hCA%K3hrDBqtS;WT+!Ju}~c#~@Y|w59Lsg73FG;vl4c$@ljUf-s#?6C}Sw z!l^0h+Ssk8sfXQ4cEM^yTk?t`l@%qVIh5E%<#N}l*cIE1HZd^#2pcOX{}1qTq#mN+ z66nat#!aL^3N&G*z%x*@Q>cAU?u4i9K<(A7)OlkV8qvw9L#I4K891-n=Q)BFHHrD5 z|A_xk1~N-RVBtOf4zMrvL1QU0ks?&|nQQ*`L)K*W$0!$Y9brz6@%2G}|O16UFKQ?^$E);M?xYX<6$U8p-ikD8$~W~sVH6W|X%2muOAdk7oTy#A-UQy-^MVFJ~l|&g~T+w;bbFCF^b~V#Q1Mm2#z0(OVS$LQN zD1iuW64!=N5lG^r@sLLUlQ3xSh+z3wSpF{*c04iUvpAU4Im&hZZgdI8#KAa|Y}|)2 zlC!Y>XkP(l0vtqe0Ot5Vq50QXJ8u-?p z_tWdiq#hVZ6LJ+yM(v zG$><@tHY8aYYpW}zoiE^>g5k3lWcAbt;c*nh@$>`Ax7pl3`t5w`lsP*0@*~a3FHf3 zn4XDTx?FyN5>u8h@REJoauL0X#+xX^k0NCSC8nbWv71J&hsY&2Xp_EIBXQ0jH0s%_ zghzG`!&KI*r1=@n-XJFAc9%O`(a8TSN0z*_sm}Sy$Hj<_J}$;D!SwS>V$g_ow$*{u znGHBwY8%FfHj&U)N2yzwr@N;e9C{_=zE1jlQgqdL6Eq})$R|L_IHorqF5Py}ihO^2 z10dwxZL0UtKhAY)IJai{#k3D*wSBBO&Qp&Htv@cI_o%<9ijfpF3{dSpNuP7eG!*|9Rn@9lZl*%tcr{ba;Yrs2 hr+C$|xMh`iiBDKryMPG7Z(;0;pXTY$@(TVL{%_X10lokL diff --git a/examples/__pycache__/simpleBool.cpython-38.pyc b/examples/__pycache__/simpleBool.cpython-38.pyc deleted file mode 100644 index d6ac4e3546d725b7c78d92c46a90ece648b9c559..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3728 zcmbtWOK%&=5$>KDlEbH{x8)~g%d#2oN;xDzg4lwjwX|!jK^c~u1qNPBM(mcB-r3-ldpP6idxA)kj$XFtNK;dRbN&2t70+7 z@J;>otKcsM#{Ndk@P|IOj1vEuGbWheA!~AvH!aWN#9N`=bUde-@>0#Tmu_afOw;w; zX4cDcCbP%66UN!+OxVKtz=YGaygay+NP|m*D}c)g7n}>O2resf;BvCqwY?JfyeNP# z7=A>iMX}4hGTIW_QM4my$IzD1j-wq#J0Z(*bd|}Bbj6q$|AV#4yh%BEJSFod{CHYS zoN#F8$VoXS#$@WvHCfnk>ljtyZ|vhK7--TiB=n5lsRCC>vF|Z_h8(R4OZE&%% z(Ivsjg#SjIn!+v+m?ufoRFOf3#ASRx?kL}%MR#A?_{C$I@!DyYREvV9^nIQ4{boz- zheQ{Ae{VkslMywJeY8Ugs%u2rSgmG=!fGYk5H+NNQHGAKC_&M**hS@X*D2X0+w|7a zap5DJETjBCK+Mn)5gC_2NCr19BdrqP2`d4jfu5Z}?|X7>m1{dtyQ&0w=uqZ7WQT_+ zeVdkh0tc{B6BxbVLJ~a?Uk1}5%w6y1cy95L%>aC+(_(;!Xl=wBOej<7WjVTSul&~K6ZXz#DcZ1B%uw5>*J8&aL zQy8Vh#Jn7mmWwn+cah`eW!7+X6FFW%6p?32I!h;5ZA2Sw&2--2H$G@?x57)-BMTbq zQMM4=WT|y?RKSD}gFXrK$6?Ui7QxalG5zl->~L%#YoR}=GnCl;o#+xyNs19ip6=lk z8Ch7rx354e!3t_PKx_O_xc&;0`kouorJv`n1}tSZqsJTwffW6QO|kd56^{5Z?^qoh zJ$MkD@M$>3K*^~cI+goz<%~Z(v`ao37>%;x5j%#$bbV2jJ!M^fLSD0L7nYIb2yii#WZBoH_Y@om%wHqJ z@0ly9pJypFaUWX?Kh-?=k;fZ`zH5AP3azHNdN2x!%VFkV_1tbsK? z!S0GIb7k}q5>`>J^kK4Xty)w!XgyuA>K0XGePePx;`>1q^HLqL;T zv`N`3kvQY?wQBmRV;~!cVWRapTF&+Q1@>MiAp`@LJ6uuE|D;QrJhq|E_|eBzi4H!l z3WeI27gV7h?QE%isZ;B4ywo;affGeSTP>yTVw~=qX7J7{7-zPUXO#LBBi*`W0JLY-4QcvFE;A?nG>D0?-pMSBXo#$)oTiT^1Yw%!#?ln?}5UaV;sg8_0u}-yB zBkJfparAP-`LqkC%X&u&ou_xL+)TP{0Ko*U&cyrmI#6*{xN7%t@|0VmaE*V1s%%v( zH&voKDlEbH{x8*10*P2Ko<&XdgVhfVi(%M*qGA!*bFxbUl#BOQn9S*6U zkz)~ZE_99o7CGdUgOrZ|Gw%H;yX zH}j7#g1?s-`zJA@AB`@f#DC$82_|^R+T7!9%dU@>qqzG{4p17 zj(PXx19`vCAFmS38|>qYDiq(X_D7@FSW8e2fy`M0LmopJRv2X9-W~J_lzBhK;O-0w`JC z))|~yhT4&Df>38r?aLEOJFyIRG*3>L8ppiT#l^2XZMoPD_QORX-z;_yx;Sbp+Fg`y zgLXHR@nYPfmegD59%$G1TTv_V{p+NUgNpG2?@f)Uzc8F~!gW^3WM4&1Qfl}SO~srj z3*wNyhVCc4QRk`*{)DSBG)BX;ngC0px1oja-v$>O8(k8dPWWHMsTu47fkl!uOBESp zL|o4I<3#!XJi3R{CNCb-j5kj5q*@fTrSI#4@3%W*KP0;3`+NIAn2xAP?4uo0P+cR^ z#%eW36jm$Qg{Tn~j52g=Md^m7#V#tByH3Tf*rvCMjtd{*WEthB05L~LL}Xk7AsO7b zjI>IDC#)2R26}c1z3<4ib*}9|?WzjskwcmDkR2YO3~gE+2t0$0n!@M>7n0~R@l`Mh zVTSklJ48SU*h!sfDME(2hpKKF2xv`wih7$U7e3N+ z872M_)i4o#28}5V$&9cb4{jYVOZR}x&#_%D^E+@OMl%?t#KgP;l9r1!MfZ;56=mLV zbn7@?NtBUiDmqUmSZzfcUCngS;5R;KZ+F5=)*}lV>ru84++?YBb5y{DkAgl8^T%P( z-WI{qZ!!IQ6xN$KleI7$)HzCQ{!VlWrzFLQBTo--ii|9*KiXHIm0$%m9H2G+AY6Zk zNkh+#=rYW6R|A$Zo6+Mw2!Ry+n$56xxD^ih5l^hdMh`CkV?GO~7$`Z7o>O}e*G~DP zQ(muU6orX)UUyoNw%b8B#n=Kmhw!#z~ zk9TDx-*(j!SxixU_8yFCy=?*$-tRPnFkV_Xn-5F;oR*MPu8cfF!79p?{!6!Q)XVAy zt*7f%-J*&tZ_KU7d_Rby!Al`VjyB@x@QO~KrX0#?#_%S!kDTs2j2~jkuTf&kUj<&W zvp+bz^dHx85zvZ8nm=fYJoYP?T5X|HfZPN8hBu@FmMm>AgF_4MFFxC1T zDd&3q279lQ5Q2cq9j>V7|I#H(9@|i-{P4r7L~T1TbhW)DUCO^$R9Mos_3 zS^r=URj26?iCJb$(Vo*IyxG*4fJSDq?rduPd~CgEcWY02_8wKL_QZ2uu54~>u?A2#$@Y%|X%{6T|Hnz0A(s-(^jaOcgoHBUn>PjpV^SEAVrY~{u4ZNgu z=GF60o^5I8#oGFoc4^5Pe3;^UjnpB`YOZu9k#Q31Ojos{L>GypcN@;9UASE~6Df3& zUbS*F?Y0306Sg`R?>C#k#Z>{T-N)%eZixameuk=Q)hsttp>MpJspjw)8~jte>R8;e gN*w>ctsk76^)IJTKs3?sjur4mF7PZyD}09k7mwKe$p8QV diff --git a/examples/__pycache__/simpleSQL.cpython-310.pyc b/examples/__pycache__/simpleSQL.cpython-310.pyc deleted file mode 100644 index 4241074645d692356dc836da51c6648f624261cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2671 zcmb^z$#N4%bQY~+NfyEjiw!LdHUfDiNfoI;#WFIuP-J460=iPA8mph}!LuL}73U1zb5ObIAJSezwT@|}vf6yl0dJh}n-*ApEXHN=pjcqrppx+5RT^kyH2 zh8(xxRv*W$kYga^n1mF|poZ)_p*4r}Q; zn1(Sn3=Ej5hSC{oWs0fyNnxLJ|dWuXy9a7?l*;aWvoM`2Fb z!mb`FY)oL$kMWNDROG2Z=h-#LU@jJ5{^%Yogc1IVUEfiDk-Z_rea(o#v0@_}r5o?X zJt__I*bB#FJj=i|EF%C`GyH(3R^7mGY~AGX$DY%6c|tecZQbYTaJJi)&y&lJx2q#> z+_7PGlV{$v9prBWo?&nCtYL2&dvzz!g&>}E+(qAaT3qwM4^}s8h7EjhN%z47-+v1G zyP*}&bk7H`YJvrJ!1M0DiwG3gY&n+Y*auUBz7>#7&#}nvHh4gEn-Rw&hD{8g*iJy~ zwrL(H&6`{^7)miV4e+=;vtE*U62)ww=7WKjW40}u*t!L@yJ?!}`GFSb8zw{t(K^DD z2c-Cbd`BLVhd4bT@P^nx%zz;ARzS7@#iv?be|Q|VIPSrK2fB#{SsUQdY^1a4z17V& ze2{O`oMAV^jUVdxAeZQ1=oGqZGeZRKy^L9UkHsy~d~^hRE{4z-L6z?akAx#WPlR^+ zT;lPNj^?9KHGRxL7|sJ_dYY%2O-o0$P5oz8k~Gr&CWzHG1H(mUB00U2MzvO5S|@j+ zkiUFI>8mnXtSo6giV4D;023c^hLP)?b<@@5ZoF#Dgc44f8&N(NBk_%We}=Vn^Yim^ zrM&b-8d52fKB_WV7x`Q`l{i6`7guUz8gC57-e9Eb;ZAf1d#1naT2?+s>VHUEUR(Wv z^vgQ&@>JFy`P|ntmf=0cTm(RR+3VRA$vW49FLHI$crJ4kjOaS`DI=4UlOp)%8y%Hl z%hcOG^fUJ5^`vA)wcegut3H}4Pd#3%R_i!dYR{`vrL(39cbqns_y4LPY#1A%1@m*| zg}L&*xqoRrtBmX#!8Q?g=$_#_HgR0=^uX~x^Rv7W-OjLj=F8!<&^0{5&EQqTrV*Xs zrYE9a`i7@_oz4@r?qO|8UQB?v00{w-0;B{Guf8XK47>pW@W(*%vI67;7!)9nfUBF1 z4@Il@_YgcvrV0sFkyG->aY`LhhUAP~kRw=7a){5V30e81sG3Y<<#x yD}O0TMb;Ee)?~zdN+gv(6%8>+ryw25{Wug;{!YYWA7ZH#O3;*;jJl3v$NvB~bN=@L diff --git a/examples/__pycache__/simpleSQL.cpython-311.pyc b/examples/__pycache__/simpleSQL.cpython-311.pyc deleted file mode 100644 index 0a1fedf6469fd5daf481d699abcdaa03d251982f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5340 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 diff --git a/examples/__pycache__/simpleSQL.cpython-39.pyc b/examples/__pycache__/simpleSQL.cpython-39.pyc deleted file mode 100644 index 4b7b1615e060cab0f6d746ae79d11bf81d02dad8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2667 zcmb^z+inv_ba!@buQ#z{LP)p;CM4tn&V|rcqAI9yZ~);tG!6nrm8^~DBrNQW-8H$q zMtwx;C&Yd0FU@P8cLxGcnp^maoe#)~mY?zI(v+Nu@&n~cwY!oiS=!n8D zfeIPOa%}|p4lZ-OqcREvD9`XL&%MzQXCQ72#tyDP>BV?QMGHD|jP0vP%Xid$l}((G zFj3+vTs3o3or<0_*s~!DEyqX2*dbI^7F}FLtjT= zLHfck>=S-bVlj@^A+5-l2DJxlQ2}^?*7tMdq!TZUL${THSa=2CewPUS9~7gATbH5VAsQvl+g& zoHo2ur&-bVn#mzbY`jxv*gz5#hU;-#Cho0@ReFn!t*}x`f}H?U7|Eon*JMO8kVs?` zzaycDOv1-XX{wqLRv<~|9+{mLMziT!XtrtntSO2~yT5Vjww>4xFql+NkJ6~ts>|#2 zTAK2w&lr1Frc0G&v&S(`xgTTUQ^_QAJzBS1UFpWN#$2M|Sh$hab17Bd*p23R+j2go zmn-GvFY?eznV#S(({)+T#bb@*bY825Ry%@|f+y;F)UvW$r>EAccc;oz_tvV_I@UB^@099}gX z8Yu-2Jr(ttZ$!Q~=|b7-A@-&c>Jnrm$V!ltz>q+`_@Vq$5cWxce+rbaAVE=r0SQV7 zgcbxXQ2ye0jg|b+YT@>kvy4xVe2ubb%@0A2 zQ2A^$o5Bd&-a0;K(Qiult<1Uv@8;&8`!37}R@<59@Or*i+IiTqr21&SXJ#(g6~=e2 z&)W{%k+qF>5ZoO!w5&>0<8W9r$dEdu_N#*_B!g;EHMHU(A>@Ou5!F;F?uS1Rt@xfC x>KXEvo+BzDCQ{7z$de;~>Ly}TGm#-$_C3*u{w9YcOWtJ-T{Bb@xpkEs{sV{N{}TWJ diff --git a/examples/__pycache__/test_bibparse.cpython-310.pyc b/examples/__pycache__/test_bibparse.cpython-310.pyc deleted file mode 100644 index 932f2cbb50dfa93ee737e3a0f855b2b1c9cc8de7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6169 zcmb7IOK;rB5oR|Z!+A*7%d%`M8)h7@J!@O9HH<7`8?wDhkieQXBqu-!F9>Ry8jW^l zC^b2bM2QFx?IG9PatR>i=1a~CEGw&2w{u|2gIOMc=CV@2F6i=lPTsK}io^Ncs+}LVt z?b+OOj5@blEt?x}p>wHPA<_5?q^}*+oIStcw%-z<16f_SYutsG{Fc9WDB9MrN$-!s z$0|JDD<~WZW+0gqXY;LO%1mYo)G!aGL9NE)HZ_)K1^CXfA}c|yvoSUfb)H>f6Hph} zB%6Y|$fns0)FpO#Q>x5HC7jCBWEM3XWct(KB?r$lc)SP-Mnd9CyD*Mz3N=k?IjI#U zZ_{n%OX=&CS2U!dd@S=%kEK(UDaZ6wW6Bv}>Q(8C5~-~NJ?HDkbQkI1mtz9$3ZatG zj|F{yNodf71})RDKLaDkhiW3PUZ4l)iJq5<9u-EC=-DmcSeOKM$W?Kvw`^l z#69%HY)l@YWB7rYnc72FGV}N8LHZ~?NXOtAr6)0PtRKdR?$Y4NZOahaKMM(t@tA-H z{fwOIXHs3Hf-W_m=vC73L4qsP2`koR(W(@;>fw$dzfQXn4dL)RhbY$q@Mt3v#KNY2Y5k z#4w?SL5{hdt)^oH^Tx zg+im(=ry9y1Rg5F17M;~5#@uTl;BH$AN=SdKnPtIG~XbT9*fjet@TUd62|=c&e|VKG-Q1k`$LwibIqVQUnUds=?LO zXKt$nJE|jl%kB6EI?~^PEle2YYB4969O4BNgQQ??_1RbJ>uc4QL!61*1FAtbQ9Z<& zFotD8FAi{sb0yU>+$2$d=R!_-fK$oEaQg{3G2VO#%puaU6!j)eQ5^P>1ACD%0lK7L z&xLj#=BN^xfpnyiagmM&>jL6VPD}kmaBUcSsmhCihliJs1RlUJk%V1J4}cJO8Bfi4 z0w!8Dm|xxFj@^Q#>S)k(!fp?mw{Gb#DY5EVNoGmn6?Cb}i{^OioCq3>) z_vuw$f!6#pEbd^@#X7%>pZB0hjgf=X^>(A_448v2qToQ5j!%q9gMWa4Hw#5#1UWSV z{h;ake@C4ila_sxRzU+k;?TVVFQX>y1ENphJcpYAAFgTy_GQFAUbvh|$1;}U93rlr zAVK6#b(H#2Iw9h^CY2QDHjysWs{Jn_Ndml^xJPTi#fZx~HQ(ijhVLBsf^{1&RvK_o zVkB!xrO?Iu>XVI^zk2q3?dU0Ye1BzWX$9`qye*rjXtX>24qU%MN?Esk2#wzxLK0$$ z8NYVy_Pytwn(?IVyKO<*a9ehxZT!}5+FRVIcbrV{sSWpYp406*P4_R{W~1$dX@`Ep zhw~8hceLTu;XcoBw{cz$thulSXxq(0ui+UT54I@qX>7h&H+mX!U0!@qA@qb| zPGM}-|2yqmm~w>Hx0pct@P_+f#M>r3-X~DNNn855_(~2To5E!vIhA0`DP5KRO!wg` z74A*|BUp)Tvl7vTrHJrI^?aNAk?geDV3ZUdHsQDiVA*^8J$8b(BcDjYXTzHlh==8c zhfTL;H@(O3k~XX4<3)M}T4r$>$xWwi=DWu$F(SAqb+#Mr2HxFzX2Gl3?M-p+hWHkj zK1-+r^O>mt23AD*`QVWAV*7=|`6ozv<4`EHG&KPy!5KIa&X8bs^ysUVu}HVX#iC_J z11mMWmp{QNxP#hw-c*BT~E>C=^MjcpfT|DOvi1 KZoxU}!~Xz}vkr>@ diff --git a/examples/__pycache__/test_bibparse.cpython-311.pyc b/examples/__pycache__/test_bibparse.cpython-311.pyc deleted file mode 100644 index 4d3c7c3056cec26149c707c1ebc9178b16ad04d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19365 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 O(CTvlR;8`Do&N(i$*6?@ diff --git a/examples/__pycache__/test_bibparse.cpython-36-pytest-7.0.1.pyc b/examples/__pycache__/test_bibparse.cpython-36-pytest-7.0.1.pyc deleted file mode 100644 index dd057c246ec98af30a6005b796f038d7e620dfc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6335 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 F{{q=DE_eU{ diff --git a/examples/__pycache__/test_bibparse.cpython-37.pyc b/examples/__pycache__/test_bibparse.cpython-37.pyc deleted file mode 100644 index 84ab6a816b74dc106e98c82353ce0539d9060443..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6232 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 diff --git a/examples/adventureEngine.py b/examples/adventureEngine.py index efc096c..4f27d79 100644 --- a/examples/adventureEngine.py +++ b/examples/adventureEngine.py @@ -2,39 +2,44 @@ # Copyright 2005-2006, Paul McGuire # # Updated 2012 - latest pyparsing API +# Updated 2023 - using PEP8 API names # -from pyparsing import * +import pyparsing as pp import random import string -def aOrAn(item): - if item.desc[0] in "aeiou": +def a_or_an(item): + if item.desc.startswith(tuple("aeiou")): return "an " + item.desc else: return "a " + item.desc - -def enumerateItems(l): - if len(l) == 0: +def enumerate_items(items_list): + if not items_list: return "nothing" + *all_but_last, last = items_list out = [] - if len(l) > 1: - out.append(", ".join(aOrAn(item) for item in l[:-1])) + if all_but_last: + out.append(", ".join(a_or_an(item) for item in all_but_last)) + if len(all_but_last) > 1: + out[-1] += ',' out.append("and") - out.append(aOrAn(l[-1])) + out.append(a_or_an(last)) return " ".join(out) - -def enumerateDoors(l): - if len(l) == 0: +def enumerate_doors(doors_list): + if not doors_list: return "" + *all_but_last, last = doors_list out = [] - if len(l) > 1: - out.append(", ".join(l[:-1])) + if all_but_last: + out.append(", ".join(all_but_last)) + if len(all_but_last) > 1: + out[-1] += ',' out.append("and") - out.append(l[-1]) + out.append(last) return " ".join(out) @@ -57,10 +62,10 @@ class Room: if self.gameOver: player.gameOver = True - def addItem(self, it): + def add_item(self, it): self.inv.append(it) - def removeItem(self, it): + def remove_item(self, it): self.inv.remove(it) def describe(self): @@ -71,9 +76,9 @@ class Room: is_form = "are" else: is_form = "is" - print("There {} {} here.".format(is_form, enumerateItems(visibleItems))) + print("There {} {} here.".format(is_form, enumerate_items(visibleItems))) else: - print("You see %s." % (enumerateItems(visibleItems))) + print("You see %s." % (enumerate_items(visibleItems))) class Exit(Room): @@ -135,16 +140,16 @@ class OpenableItem(Item): else: self.contents = [] - def openItem(self, player): + def open_item(self, player): if not self.isOpened: self.isOpened = not self.isOpened if self.contents is not None: for item in self.contents: - player.room.addItem(item) + player.room.add_item(item) self.contents = [] self.desc = "open " + self.desc - def closeItem(self, player): + def close_item(self, player): if self.isOpened: self.isOpened = not self.isOpened if self.desc.startswith("open "): @@ -159,15 +164,15 @@ class Command: self.verbProg = verbProg @staticmethod - def helpDescription(): + def help_description(): return "" - def _doCommand(self, player): + def _do_command(self, player): pass def __call__(self, player): print(self.verbProg.capitalize() + "...") - self._doCommand(player) + self._do_command(player) class MoveCommand(Command): @@ -176,11 +181,11 @@ class MoveCommand(Command): self.direction = quals.direction[0] @staticmethod - def helpDescription(): + def help_description(): return """MOVE or GO - go NORTH, SOUTH, EAST, or WEST (can abbreviate as 'GO N' and 'GO W', or even just 'E' and 'S')""" - def _doCommand(self, player): + def _do_command(self, player): rm = player.room nextRoom = rm.doors[ { @@ -202,15 +207,15 @@ class TakeCommand(Command): self.subject = quals.item @staticmethod - def helpDescription(): + def help_description(): return "TAKE or PICKUP or PICK UP - pick up an object (but some are deadly)" - def _doCommand(self, player): + def _do_command(self, player): rm = player.room subj = Item.items[self.subject] if subj in rm.inv and subj.isVisible: if subj.isTakeable: - rm.removeItem(subj) + rm.remove_item(subj) player.take(subj) else: print(subj.cantTakeMessage) @@ -224,17 +229,17 @@ class DropCommand(Command): self.subject = quals.item @staticmethod - def helpDescription(): + def help_description(): return "DROP or LEAVE - drop an object (but fragile items may break)" - def _doCommand(self, player): + def _do_command(self, player): rm = player.room subj = Item.items[self.subject] if subj in player.inv: - rm.addItem(subj) + rm.add_item(subj) player.drop(subj) else: - print("You don't have %s." % (aOrAn(subj))) + print("You don't have %s." % (a_or_an(subj))) class InventoryCommand(Command): @@ -242,11 +247,11 @@ class InventoryCommand(Command): super().__init__("INV", "taking inventory") @staticmethod - def helpDescription(): + def help_description(): return "INVENTORY or INV or I - lists what items you have" - def _doCommand(self, player): - print("You have %s." % enumerateItems(player.inv)) + def _do_command(self, player): + print("You have %s." % enumerate_items(player.inv)) class LookCommand(Command): @@ -254,24 +259,48 @@ class LookCommand(Command): super().__init__("LOOK", "looking") @staticmethod - def helpDescription(): + def help_description(): return "LOOK or L - describes the current room and any objects in it" - def _doCommand(self, player): + def _do_command(self, player): player.room.describe() +class ExamineCommand(Command): + def __init__(self, quals): + super().__init__("EXAMINE", "examining") + self.subject = Item.items[quals.item] + + @staticmethod + def help_description(): + return "EXAMINE or EX or X - look closely at an object" + + def _do_command(self, player): + msg = random.choice( + [ + "It's {}.", + "It's just {}.", + "It's a beautiful {1}.", + "It's a rare and beautiful {1}.", + "It's a rare {1}.", + "Just {}, nothing special...", + "{0}, just {0}." + ] + ) + print(msg.format(a_or_an(self.subject), self.subject).capitalize()) + + class DoorsCommand(Command): def __init__(self, quals): super().__init__("DOORS", "looking for doors") @staticmethod - def helpDescription(): + def help_description(): return "DOORS - display what doors are visible from this room" - def _doCommand(self, player): + def _do_command(self, player): rm = player.room - numDoors = sum([1 for r in rm.doors if r is not None]) + numDoors = sum(1 for r in rm.doors if r is not None) if numDoors == 0: reply = "There are no doors in any direction." else: @@ -284,8 +313,7 @@ class DoorsCommand(Command): for i, d in enumerate(rm.doors) if d is not None ] - # ~ print doorNames - reply += enumerateDoors(doorNames) + reply += enumerate_doors(doorNames) reply += "." print(reply) @@ -300,10 +328,10 @@ class UseCommand(Command): self.target = None @staticmethod - def helpDescription(): + def help_description(): return "USE or U - use an object, optionally IN or ON another object" - def _doCommand(self, player): + def _do_command(self, player): rm = player.room availItems = rm.inv + player.inv if self.subject in availItems: @@ -321,16 +349,16 @@ class OpenCommand(Command): self.subject = Item.items[quals.item] @staticmethod - def helpDescription(): + def help_description(): return "OPEN or O - open an object" - def _doCommand(self, player): + def _do_command(self, player): rm = player.room availItems = rm.inv + player.inv if self.subject in availItems: if self.subject.isOpenable: if not self.subject.isOpened: - self.subject.openItem(player) + self.subject.open_item(player) else: print("It's already open.") else: @@ -345,16 +373,16 @@ class CloseCommand(Command): self.subject = Item.items[quals.item] @staticmethod - def helpDescription(): + def help_description(): return "CLOSE or CL - close an object" - def _doCommand(self, player): + def _do_command(self, player): rm = player.room availItems = rm.inv + player.inv if self.subject in availItems: if self.subject.isOpenable: if self.subject.isOpened: - self.subject.closeItem(player) + self.subject.close_item(player) else: print("You can't close that, it's not open.") else: @@ -368,10 +396,10 @@ class QuitCommand(Command): super().__init__("QUIT", "quitting") @staticmethod - def helpDescription(): + def help_description(): return "QUIT or Q - ends the game" - def _doCommand(self, player): + def _do_command(self, player): print("Ok....") player.gameOver = True @@ -381,10 +409,10 @@ class HelpCommand(Command): super().__init__("HELP", "helping") @staticmethod - def helpDescription(): + def help_description(): return "HELP or H or ? - displays this help message" - def _doCommand(self, player): + def _do_command(self, player): print("Enter any of the following commands (not case sensitive):") for cmd in [ InventoryCommand, @@ -395,42 +423,43 @@ class HelpCommand(Command): CloseCommand, MoveCommand, LookCommand, + ExamineCommand, DoorsCommand, QuitCommand, HelpCommand, ]: - print(" - %s" % cmd.helpDescription()) + print(" - %s" % cmd.help_description()) print() -class AppParseException(ParseException): +class AppParseException(pp.ParseException): pass class Parser: def __init__(self): - self.bnf = self.makeBNF() + self.bnf = self.make_bnf() - def makeBNF(self): - invVerb = oneOf("INV INVENTORY I", caseless=True) - dropVerb = oneOf("DROP LEAVE", caseless=True) - takeVerb = oneOf("TAKE PICKUP", caseless=True) | ( - CaselessLiteral("PICK") + CaselessLiteral("UP") + def make_bnf(self): + invVerb = pp.one_of("INV INVENTORY I", caseless=True) + dropVerb = pp.one_of("DROP LEAVE", caseless=True) + takeVerb = pp.one_of("TAKE PICKUP", caseless=True) | ( + pp.CaselessLiteral("PICK") + pp.CaselessLiteral("UP") ) - moveVerb = oneOf("MOVE GO", caseless=True) | empty - useVerb = oneOf("USE U", caseless=True) - openVerb = oneOf("OPEN O", caseless=True) - closeVerb = oneOf("CLOSE CL", caseless=True) - quitVerb = oneOf("QUIT Q", caseless=True) - lookVerb = oneOf("LOOK L", caseless=True) - doorsVerb = CaselessLiteral("DOORS") - helpVerb = oneOf("H HELP ?", caseless=True) - - itemRef = OneOrMore(Word(alphas)).setParseAction(self.validateItemName) - nDir = oneOf("N NORTH", caseless=True).setParseAction(replaceWith("N")) - sDir = oneOf("S SOUTH", caseless=True).setParseAction(replaceWith("S")) - eDir = oneOf("E EAST", caseless=True).setParseAction(replaceWith("E")) - wDir = oneOf("W WEST", caseless=True).setParseAction(replaceWith("W")) + moveVerb = pp.one_of("MOVE GO", caseless=True) | pp.Empty() + useVerb = pp.one_of("USE U", caseless=True) + openVerb = pp.one_of("OPEN O", caseless=True) + closeVerb = pp.one_of("CLOSE CL", caseless=True) + quitVerb = pp.one_of("QUIT Q", caseless=True) + lookVerb = pp.one_of("LOOK L", caseless=True) + doorsVerb = pp.CaselessLiteral("DOORS") + helpVerb = pp.one_of("H HELP ?", caseless=True) + + itemRef = pp.OneOrMore(pp.Word(pp.alphas)).set_parse_action(self.validate_item_name).setName("item_ref") + nDir = pp.one_of("N NORTH", caseless=True).set_parse_action(pp.replace_with("N")) + sDir = pp.one_of("S SOUTH", caseless=True).set_parse_action(pp.replace_with("S")) + eDir = pp.one_of("E EAST", caseless=True).set_parse_action(pp.replace_with("E")) + wDir = pp.one_of("W WEST", caseless=True).set_parse_action(pp.replace_with("W")) moveDirection = nDir | sDir | eDir | wDir invCommand = invVerb @@ -439,32 +468,34 @@ class Parser: useCommand = ( useVerb + itemRef("usedObj") - + Optional(oneOf("IN ON", caseless=True)) - + Optional(itemRef, default=None)("targetObj") + + pp.Opt(pp.one_of("IN ON", caseless=True)) + + pp.Opt(itemRef, default=None)("targetObj") ) openCommand = openVerb + itemRef("item") closeCommand = closeVerb + itemRef("item") - moveCommand = moveVerb + moveDirection("direction") + moveCommand = (moveVerb | "") + moveDirection("direction") quitCommand = quitVerb lookCommand = lookVerb - doorsCommand = doorsVerb + examineCommand = pp.one_of("EXAMINE EX X", caseless=True) + itemRef("item") + doorsCommand = doorsVerb.setName("DOORS") helpCommand = helpVerb # attach command classes to expressions - invCommand.setParseAction(InventoryCommand) - dropCommand.setParseAction(DropCommand) - takeCommand.setParseAction(TakeCommand) - useCommand.setParseAction(UseCommand) - openCommand.setParseAction(OpenCommand) - closeCommand.setParseAction(CloseCommand) - moveCommand.setParseAction(MoveCommand) - quitCommand.setParseAction(QuitCommand) - lookCommand.setParseAction(LookCommand) - doorsCommand.setParseAction(DoorsCommand) - helpCommand.setParseAction(HelpCommand) + invCommand.set_parse_action(InventoryCommand) + dropCommand.set_parse_action(DropCommand) + takeCommand.set_parse_action(TakeCommand) + useCommand.set_parse_action(UseCommand) + openCommand.set_parse_action(OpenCommand) + closeCommand.set_parse_action(CloseCommand) + moveCommand.set_parse_action(MoveCommand) + quitCommand.set_parse_action(QuitCommand) + lookCommand.set_parse_action(LookCommand) + examineCommand.set_parse_action(ExamineCommand) + doorsCommand.set_parse_action(DoorsCommand) + helpCommand.set_parse_action(HelpCommand) # define parser using all command expressions - return ( + parser = pp.ungroup( invCommand | useCommand | openCommand @@ -473,24 +504,27 @@ class Parser: | takeCommand | moveCommand | lookCommand + | examineCommand | doorsCommand | helpCommand | quitCommand - )("command") + LineEnd() + )("command") - def validateItemName(self, s, l, t): + return parser + + def validate_item_name(self, s, l, t): iname = " ".join(t) if iname not in Item.items: raise AppParseException(s, l, "No such item '%s'." % iname) return iname - def parseCmd(self, cmdstr): + def parse_cmd(self, cmdstr): try: - ret = self.bnf.parseString(cmdstr) + ret = self.bnf.parse_string(cmdstr) return ret except AppParseException as pe: print(pe.msg) - except ParseException as pe: + except pp.ParseException as pe: print( random.choice( [ @@ -595,7 +629,7 @@ def createRooms(rm): def putItemInRoom(i, r): if isinstance(r, str): r = rooms[r] - r.addItem(Item.items[i]) + r.add_item(Item.items[i]) def playGame(p, startRoom): @@ -604,98 +638,98 @@ def playGame(p, startRoom): p.moveTo(startRoom) while not p.gameOver: cmdstr = input(">> ") - cmd = parser.parseCmd(cmdstr) + cmd = parser.parse_cmd(cmdstr) if cmd is not None: cmd.command(p) print() print("You ended the game with:") for i in p.inv: - print(" -", aOrAn(i)) - - -# ==================== -# start game definition -roomMap = """ - d-Z - | - f-c-e - . | - q - increment pointer +# < - decrement pointer +# , - input new byte value, store at the current pointer +# . - output the byte at the current pointer +# [] - evaluate value at current pointer, if nonzero, execute all statements in []'s and repeat +# +import pyparsing as pp + +# define the basic parser + +# define Literals for each symbol in the BF langauge +PLUS, MINUS, GT, LT, INP, OUT, LBRACK, RBRACK = pp.Literal.using_each("+-<>,.[]") + +# use a pyparsing Forward for the recursive definition of an instruction that can +# itself contain instructions +instruction_expr = pp.Forward().set_name("instruction") + +# define a LOOP expression for the instructions enclosed in brackets; use a +# pyparsing Group to wrap the instructions in a sub-list +LOOP = pp.Group(LBRACK + instruction_expr[...] + RBRACK) + +# use '<<=' operator to insert expression definition into existing Forward +instruction_expr <<= PLUS | MINUS | GT | LT | INP | OUT | LOOP + +program_expr = instruction_expr[...].set_name("program") + +# ignore everything that is not a BF symbol +ignore_chars = pp.Word(pp.printables, exclude_chars="+-<>,.[]") +program_expr.ignore(ignore_chars) + + +class BFEngine: + """ + Brainf*ck execution environment, with a memory array and pointer. + """ + def __init__(self, memory_size: int = 1024): + self._ptr = 0 + self._memory_size = memory_size + self._memory = [0] * self._memory_size + + @property + def ptr(self): + return self._ptr + + @ptr.setter + def ptr(self, value): + self._ptr = value % self._memory_size + + @property + def at_ptr(self): + return self._memory[self._ptr] + + @at_ptr.setter + def at_ptr(self, value): + self._memory[self._ptr] = value % 256 + + def output_value_at_ptr(self): + print(chr(self.at_ptr), end="") + + def input_value(self): + input_char = input() or "\0" + self.at_ptr = ord(input_char[0]) + + def reset(self): + self._ptr = 0 + self._memory[:] = [0] * self._memory_size + + def dump_state(self): + for i in range(30): + print(f"{self._memory[i]:3d} ", end="") + print() + + if self.ptr < 30: + print(f" {' ' * self.ptr}^") + + +# define executable classes for each instruction + +class Instruction: + """Abstract class for all instruction classes to implement.""" + def __init__(self, tokens): + self.tokens = tokens + + def execute(self, bf_engine: BFEngine): + raise NotImplementedError() + + +class IncrPtr(Instruction): + def execute(self, bf_engine: BFEngine): + bf_engine.ptr += 1 + + +class DecrPtr(Instruction): + def execute(self, bf_engine: BFEngine): + bf_engine.ptr -= 1 + + +class IncrPtrValue(Instruction): + def execute(self, bf_engine: BFEngine): + bf_engine.at_ptr += 1 + + +class DecrPtrValue(Instruction): + def execute(self, bf_engine: BFEngine): + bf_engine.at_ptr -= 1 + + +class OutputPtrValue(Instruction): + def execute(self, bf_engine: BFEngine): + bf_engine.output_value_at_ptr() + + +class InputPtrValue(Instruction): + def execute(self, bf_engine: BFEngine): + bf_engine.input_value() + + +class RunInstructionLoop(Instruction): + def __init__(self, tokens): + super().__init__(tokens) + self.instructions = self.tokens[0][1:-1] + + def execute(self, bf_engine: BFEngine): + while bf_engine.at_ptr: + for i in self.instructions: + i.execute(bf_engine) + + +# add parse actions to all BF instruction expressions +PLUS.add_parse_action(IncrPtrValue) +MINUS.add_parse_action(DecrPtrValue) +GT.add_parse_action(IncrPtr) +LT.add_parse_action(DecrPtr) +OUT.add_parse_action(OutputPtrValue) +INP.add_parse_action(InputPtrValue) +LOOP.add_parse_action(RunInstructionLoop) + + +@program_expr.add_parse_action +def run_program(tokens): + bf = BFEngine() + for t in tokens: + t.execute(bf) + print() + + +# generate railroad diagram +program_expr.create_diagram("bf.html") + +# execute an example BF program +hw = "+[-->-[>>+>-----<<]<--<---]>-.>>>+.>>..+++[.>]<<<<.+++.------.<<-.>>>>+." +program_expr.parse_string(hw) diff --git a/examples/booleansearchparser.py b/examples/booleansearchparser.py index c901db1..503a4cd 100644 --- a/examples/booleansearchparser.py +++ b/examples/booleansearchparser.py @@ -90,11 +90,14 @@ from pyparsing import ( Suppress, OneOrMore, one_of, + ParserElement, ) import re +ParserElement.enablePackrat() # Updated on 02 Dec 2021 according to ftp://ftp.unicode.org/Public/UNIDATA/Blocks.txt +# (includes characters not found in the BasicMultilingualPlane) alphabet_ranges = [ # CYRILIC: https://en.wikipedia.org/wiki/Cyrillic_(Unicode_block) [int("0400", 16), int("04FF", 16)], @@ -322,6 +325,7 @@ class ParserTest(BooleanSearchParser): """ def Test(self): + # fmt: off exprs = { "0": "help", "1": "help or hulp", @@ -363,93 +367,28 @@ class ParserTest(BooleanSearchParser): texts_matcheswith = { "halp thinks he needs help": [ - "25", - "22", - "20", - "21", - "11", - "17", - "16", - "23", - "34", - "1", - "0", - "5", - "7", - "6", - "9", - "8", + "25", "22", "20", "21", "11", "17", "16", "23", "34", "1", + "0", "5", "7", "6", "9", "8", ], "he needs halp": ["24", "25", "20", "11", "10", "12", "34", "6"], "help": ["25", "20", "12", "17", "16", "1", "0", "5", "6"], "help hilp": [ - "25", - "22", - "20", - "32", - "21", - "12", - "17", - "16", - "19", - "31", - "23", - "1", - "0", - "5", - "4", - "7", - "6", - "9", - "8", - "33", + "25", "22", "20", "32", "21", "12", "17", "16", "19", "31", + "23", "1", "0", "5", "4", "7", "6", "9", "8", "33", ], "help me please hulp": [ - "30", - "25", - "27", - "20", - "13", - "12", - "15", - "14", - "17", - "16", - "19", - "18", - "23", - "29", - "1", - "0", - "3", - "2", - "5", - "4", - "6", - "9", + "30", "25", "27", "20", "13", "12", "15", "14", "17", "16", + "19", "18", "23", "29", "1", "0", "3", "2", "5", "4", "6", "9", ], "helper": ["20", "10", "12", "16"], "hulp hilp": [ - "25", - "27", - "20", - "21", - "10", - "12", - "14", - "17", - "19", - "23", - "1", - "5", - "4", - "7", - "6", - "9", + "25", "27", "20", "21", "10", "12", "14", "17", "19", "23", + "1", "5", "4", "7", "6", "9", ], "nothing": ["25", "10", "12"], "안녕하세요, 당신은 어떠세요?": ["10", "12", "25", "35"], } + # fmt: on all_ok = True for text, matches in texts_matcheswith.items(): @@ -459,7 +398,9 @@ class ParserTest(BooleanSearchParser): _matches.append(_id) test_passed = sorted(matches) == sorted(_matches) - if not test_passed: + if test_passed: + print("Passed", repr(text)) + else: print("Failed", repr(text), "expected", matches, "matched", _matches) all_ok = all_ok and test_passed @@ -490,7 +431,9 @@ class ParserTest(BooleanSearchParser): _matches.append(_id) test_passed = sorted(matches) == sorted(_matches) - if not test_passed: + if test_passed: + print("Passed", repr(text)) + else: print("Failed", repr(text), "expected", matches, "matched", _matches) all_ok = all_ok and test_passed @@ -498,10 +441,13 @@ class ParserTest(BooleanSearchParser): return all_ok -if __name__ == "__main__": +def main(): if ParserTest().Test(): print("All tests OK") - exit(0) else: print("One or more tests FAILED") - exit(1) + raise Exception("One or more tests FAILED") + + +if __name__ == "__main__": + main() diff --git a/examples/builtin_parse_action_demo.py b/examples/builtin_parse_action_demo.py index 36b3a98..fed6e2a 100644 --- a/examples/builtin_parse_action_demo.py +++ b/examples/builtin_parse_action_demo.py @@ -5,14 +5,13 @@ # Simple example of using builtin functions as parse actions. # -from pyparsing import * - -integer = Word(nums).setParseAction(lambda t: int(t[0])) +import pyparsing as pp +ppc = pp.common # make an expression that will match a list of ints (which # will be converted to actual ints by the parse action attached # to integer) -nums = OneOrMore(integer) +nums = ppc.integer[...] test = "2 54 34 2 211 66 43 2 0" @@ -20,10 +19,9 @@ print(test) # try each of these builtins as parse actions for fn in (sum, max, min, len, sorted, reversed, list, tuple, set, any, all): - fn_name = fn.__name__ if fn is reversed: # reversed returns an iterator, we really want to show the list of items fn = lambda x: list(reversed(x)) # show how each builtin works as a free-standing parse action - print(fn_name, nums.setParseAction(fn).parseString(test)) + print(fn.__name__, nums.set_parse_action(fn).parse_string(test)) diff --git a/examples/chemicalFormulas.py b/examples/chemicalFormulas.py deleted file mode 100644 index d4c87cd..0000000 --- a/examples/chemicalFormulas.py +++ /dev/null @@ -1,121 +0,0 @@ -# -# chemicalFormulas.py -# -# Copyright (c) 2003,2019 Paul McGuire -# - -import pyparsing as pp - -atomicWeight = { - "O": 15.9994, - "H": 1.00794, - "Na": 22.9897, - "Cl": 35.4527, - "C": 12.0107, -} - -digits = "0123456789" - -# Version 1 -element = pp.Word(pp.alphas.upper(), pp.alphas.lower(), max=2).set_name("element") -# for stricter matching, use this Regex instead -# element = Regex("A[cglmrstu]|B[aehikr]?|C[adeflmorsu]?|D[bsy]|" -# "E[rsu]|F[emr]?|G[ade]|H[efgos]?|I[nr]?|Kr?|L[airu]|" -# "M[dgnot]|N[abdeiop]?|Os?|P[abdmortu]?|R[abefghnu]|" -# "S[bcegimnr]?|T[abcehilm]|U(u[bhopqst])?|V|W|Xe|Yb?|Z[nr]") -elementRef = pp.Group(element + pp.Optional(pp.Word(digits), default="1")) -formula = elementRef[...] - - -def sum_atomic_weights(element_list): - return sum(atomicWeight[elem] * int(qty) for elem, qty in element_list) - - -formula.runTests( - """\ - H2O - C6H5OH - NaCl - """, - fullDump=False, - postParse=lambda _, tokens: "Molecular weight: {}".format( - sum_atomic_weights(tokens) - ), -) -print() - -# Version 2 - access parsed items by results name -elementRef = pp.Group( - element("symbol") + pp.Optional(pp.Word(digits), default="1")("qty") -) -formula = elementRef[...] - - -def sum_atomic_weights_by_results_name(element_list): - return sum(atomicWeight[elem.symbol] * int(elem.qty) for elem in element_list) - - -formula.runTests( - """\ - H2O - C6H5OH - NaCl - """, - fullDump=False, - postParse=lambda _, tokens: "Molecular weight: {}".format( - sum_atomic_weights_by_results_name(tokens) - ), -) -print() - -# Version 3 - convert integers during parsing process -integer = pp.Word(digits).setParseAction(lambda t: int(t[0])).setName("integer") -elementRef = pp.Group(element("symbol") + pp.Optional(integer, default=1)("qty")) -formula = elementRef[...].setName("chemical_formula") - - -def sum_atomic_weights_by_results_name_with_converted_ints(element_list): - return sum(atomicWeight[elem.symbol] * int(elem.qty) for elem in element_list) - - -formula.runTests( - """\ - H2O - C6H5OH - NaCl - """, - fullDump=False, - postParse=lambda _, tokens: "Molecular weight: {}".format( - sum_atomic_weights_by_results_name_with_converted_ints(tokens) - ), -) -print() - -# Version 4 - parse and convert integers as subscript digits -subscript_digits = "₀₁₂₃₄₅₆₇₈₉" -subscript_int_map = {e[1]: e[0] for e in enumerate(subscript_digits)} - - -def cvt_subscript_int(s): - ret = 0 - for c in s[0]: - ret = ret * 10 + subscript_int_map[c] - return ret - - -subscript_int = pp.Word(subscript_digits).addParseAction(cvt_subscript_int).set_name("subscript") - -elementRef = pp.Group(element("symbol") + pp.Optional(subscript_int, default=1)("qty")) -formula = elementRef[1, ...].setName("chemical_formula") -formula.runTests( - """\ - H₂O - C₆H₅OH - NaCl - """, - fullDump=False, - postParse=lambda _, tokens: "Molecular weight: {}".format( - sum_atomic_weights_by_results_name_with_converted_ints(tokens) - ), -) -print() diff --git a/examples/chemical_formulas.py b/examples/chemical_formulas.py new file mode 100644 index 0000000..16d4bb4 --- /dev/null +++ b/examples/chemical_formulas.py @@ -0,0 +1,119 @@ +# +# chemicalFormulas.py +# +# Copyright (c) 2003,2019 Paul McGuire +# + +import pyparsing as pp + +atomic_weight = { + "O": 15.9994, + "H": 1.00794, + "Na": 22.9897, + "Cl": 35.4527, + "C": 12.0107, +} + +digits = "0123456789" + +# Version 1 +element = pp.Word(pp.alphas.upper(), pp.alphas.lower(), max=2).set_name("element") +# for stricter matching, use this Regex instead +# element = Regex("A[cglmrstu]|B[aehikr]?|C[adeflmorsu]?|D[bsy]|" +# "E[rsu]|F[emr]?|G[ade]|H[efgos]?|I[nr]?|Kr?|L[airu]|" +# "M[dgnot]|N[abdeiop]?|Os?|P[abdmortu]?|R[abefghnu]|" +# "S[bcegimnr]?|T[abcehilm]|U(u[bhopqst])?|V|W|Xe|Yb?|Z[nr]") +element_ref = pp.Group(element + pp.Opt(pp.Word(digits), default="1")) +formula = element_ref[...] + + +def sum_atomic_weights(element_list): + return sum(atomic_weight[elem] * int(qty) for elem, qty in element_list) + + +formula.run_tests( + """\ + H2O + C6H5OH + NaCl + """, + full_dump=False, + post_parse=lambda _, tokens: f"Molecular weight: {sum_atomic_weights(tokens)}", +) +print() + + +# Version 2 - access parsed items by results name +element_ref = pp.Group( + element("symbol") + pp.Opt(pp.Word(digits), default="1")("qty") +) +formula = element_ref[...] + + +def sum_atomic_weights_by_results_name(element_list): + return sum(atomic_weight[elem.symbol] * int(elem.qty) for elem in element_list) + + +formula.run_tests( + """\ + H2O + C6H5OH + NaCl + """, + full_dump=False, + post_parse=lambda _, tokens: + f"Molecular weight: {sum_atomic_weights_by_results_name(tokens)}", +) +print() + +# Version 3 - convert integers during parsing process +integer = pp.Word(digits).set_name("integer") +integer.add_parse_action(lambda t: int(t[0])) +element_ref = pp.Group(element("symbol") + pp.Opt(integer, default=1)("qty")) +formula = element_ref[...].set_name("chemical_formula") + + +def sum_atomic_weights_by_results_name_with_converted_ints(element_list): + return sum(atomic_weight[elem.symbol] * int(elem.qty) for elem in element_list) + + +formula.run_tests( + """\ + H2O + C6H5OH + NaCl + """, + full_dump=False, + post_parse=lambda _, tokens: + f"Molecular weight: {sum_atomic_weights_by_results_name_with_converted_ints(tokens)}", +) +print() + +# Version 4 - parse and convert integers as subscript digits +subscript_digits = "₀₁₂₃₄₅₆₇₈₉" +subscript_int_map = {e[1]: e[0] for e in enumerate(subscript_digits)} + + +def cvt_subscript_int(s): + ret = 0 + for c in s[0]: + ret = ret * 10 + subscript_int_map[c] + return ret + + +subscript_int = pp.Word(subscript_digits).set_name("subscript") +subscript_int.add_parse_action(cvt_subscript_int) + +element_ref = pp.Group(element("symbol") + pp.Opt(subscript_int, default=1)("qty")) +formula = element_ref[1, ...].set_name("chemical_formula") +formula.run_tests( + """\ + H₂O + C₆H₅OH + NaCl + """, + full_dump=False, + post_parse=lambda _, tokens: + f"Molecular weight: {sum_atomic_weights_by_results_name_with_converted_ints(tokens)}", +) +print() diff --git a/examples/cpp_enum_parser.py b/examples/cpp_enum_parser.py index 26dde7c..77eb3a7 100644 --- a/examples/cpp_enum_parser.py +++ b/examples/cpp_enum_parser.py @@ -9,7 +9,7 @@ # # -from pyparsing import * +import pyparsing as pp # sample string with enums and other stuff sample = """ @@ -35,19 +35,19 @@ sample = """ """ # syntax we don't want to see in the final parse tree -LBRACE, RBRACE, EQ, COMMA = map(Suppress, "{}=,") -_enum = Suppress("enum") -identifier = Word(alphas, alphanums + "_") -integer = Word(nums) -enumValue = Group(identifier("name") + Optional(EQ + integer("value"))) -enumList = Group(enumValue + ZeroOrMore(COMMA + enumValue)) +LBRACE, RBRACE, EQ, COMMA = pp.Suppress.using_each("{}=,") +_enum = pp.Suppress("enum") +identifier = pp.Word(pp.alphas + "_", pp.alphanums + "_") +integer = pp.Word(pp.nums) +enumValue = pp.Group(identifier("name") + pp.Optional(EQ + integer("value"))) +enumList = pp.Group(enumValue + (COMMA + enumValue)[...]) enum = _enum + identifier("enum") + LBRACE + enumList("names") + RBRACE # find instances of enums ignoring other syntax -for item, start, stop in enum.scanString(sample): - id = 0 +for item, start, stop in enum.scan_string(sample): + idx = 0 for entry in item.names: if entry.value != "": - id = int(entry.value) - print("%s_%s = %d" % (item.enum.upper(), entry.name.upper(), id)) - id += 1 + idx = int(entry.value) + print("%s_%s = %d" % (item.enum.upper(), entry.name.upper(), idx)) + idx += 1 diff --git a/examples/datetimeParseActions.py b/examples/datetime_parse_actions.py similarity index 75% rename from examples/datetimeParseActions.py rename to examples/datetime_parse_actions.py index f7c4fc9..ff38656 100644 --- a/examples/datetimeParseActions.py +++ b/examples/datetime_parse_actions.py @@ -1,84 +1,84 @@ -# parseActions.py -# -# A sample program a parser to match a date string of the form "YYYY/MM/DD", -# and return it as a datetime, or raise an exception if not a valid date. -# -# Copyright 2012, Paul T. McGuire -# -from datetime import datetime -import pyparsing as pp -from pyparsing import pyparsing_common as ppc - -# define an integer string, and a parse action to convert it -# to an integer at parse time -integer = pp.Word(pp.nums).setName("integer") - - -def convertToInt(tokens): - # no need to test for validity - we can't get here - # unless tokens[0] contains all numeric digits - return int(tokens[0]) - - -integer.setParseAction(convertToInt) -# or can be written as one line as -# integer = Word(nums).setParseAction(lambda t: int(t[0])) - -# define a pattern for a year/month/day date -date_expr = integer("year") + "/" + integer("month") + "/" + integer("day") -date_expr.ignore(pp.pythonStyleComment) - - -def convertToDatetime(s, loc, tokens): - try: - # note that the year, month, and day fields were already - # converted to ints from strings by the parse action defined - # on the integer expression above - return datetime(tokens.year, tokens.month, tokens.day).date() - except Exception as ve: - errmsg = "'%s/%s/%s' is not a valid date, %s" % ( - tokens.year, - tokens.month, - tokens.day, - ve, - ) - raise pp.ParseException(s, loc, errmsg) - - -date_expr.setParseAction(convertToDatetime) - - -date_expr.runTests( - """\ - 2000/1/1 - - # invalid month - 2000/13/1 - - # 1900 was not a leap year - 1900/2/29 - - # but 2000 was - 2000/2/29 - """ -) - - -# if dates conform to ISO8601, use definitions in pyparsing_common -date_expr = ppc.iso8601_date.setParseAction(ppc.convertToDate()) -date_expr.ignore(pp.pythonStyleComment) - -date_expr.runTests( - """\ - 2000-01-01 - - # invalid month - 2000-13-01 - - # 1900 was not a leap year - 1900-02-29 - - # but 2000 was - 2000-02-29 - """ -) +# parseActions.py +# +# A sample program a parser to match a date string of the form "YYYY/MM/DD", +# and return it as a datetime, or raise an exception if not a valid date. +# +# Copyright 2012, Paul T. McGuire +# +from datetime import datetime +import pyparsing as pp +from pyparsing import pyparsing_common as ppc + +# define an integer string, and a parse action to convert it +# to an integer at parse time +integer = pp.Word(pp.nums).set_name("integer") + + +def convert_to_int(tokens): + # no need to test for validity - we can't get here + # unless tokens[0] contains all numeric digits + return int(tokens[0]) + + +integer.set_parse_action(convert_to_int) +# or can be written as one line as +# integer = Word(nums).set_parse_action(lambda t: int(t[0])) + +# define a pattern for a year/month/day date +date_expr = integer("year") + "/" + integer("month") + "/" + integer("day") +date_expr.ignore(pp.python_style_comment) + + +def convert_to_datetime(s, loc, tokens): + try: + # note that the year, month, and day fields were already + # converted to ints from strings by the parse action defined + # on the integer expression above + return datetime(tokens.year, tokens.month, tokens.day).date() + except Exception as ve: + errmsg = "'%s/%s/%s' is not a valid date, %s" % ( + tokens.year, + tokens.month, + tokens.day, + ve, + ) + raise pp.ParseException(s, loc, errmsg) + + +date_expr.set_parse_action(convert_to_datetime) + + +date_expr.run_tests( + """\ + 2000/1/1 + + # invalid month + 2000/13/1 + + # 1900 was not a leap year + 1900/2/29 + + # but 2000 was + 2000/2/29 + """ +) + + +# if dates conform to ISO8601, use definitions in pyparsing_common +date_expr = ppc.iso8601_date.set_parse_action(ppc.convert_to_date()) +date_expr.ignore(pp.python_style_comment) + +date_expr.run_tests( + """\ + 2000-01-01 + + # invalid month + 2000-13-01 + + # 1900 was not a leap year + 1900-02-29 + + # but 2000 was + 2000-02-29 + """ +) diff --git a/examples/delta_time.py b/examples/delta_time.py index 2f9466c..cdd58f4 100644 --- a/examples/delta_time.py +++ b/examples/delta_time.py @@ -39,7 +39,7 @@ __all__ = ["time_expression"] # basic grammar definitions def make_integer_word_expr(int_name, int_value): - return pp.CaselessKeyword(int_name).addParseAction(pp.replaceWith(int_value)) + return pp.CaselessKeyword(int_name).add_parse_action(pp.replaceWith(int_value)) integer_word = pp.MatchFirst( @@ -50,52 +50,54 @@ integer_word = pp.MatchFirst( " seventeen eighteen nineteen twenty".split(), start=1, ) -).setName("integer_word") +).set_name("integer_word") integer = pp.pyparsing_common.integer | integer_word -integer.setName("numeric") +integer.set_name("numeric") CK = pp.CaselessKeyword CL = pp.CaselessLiteral -today, tomorrow, yesterday, noon, midnight, now = map( - CK, "today tomorrow yesterday noon midnight now".split() +today, tomorrow, yesterday, noon, midnight, now = CK.using_each( + "today tomorrow yesterday noon midnight now".split() ) def plural(s): - return CK(s) | CK(s + "s").addParseAction(pp.replaceWith(s)) + return CK(s) | CK(s + "s").add_parse_action(pp.replaceWith(s)) week, day, hour, minute, second = map(plural, "week day hour minute second".split()) time_units = hour | minute | second -any_time_units = (week | day | time_units).setName("time_units") +any_time_units = (week | day | time_units).set_name("any_time_units") am = CL("am") pm = CL("pm") COLON = pp.Suppress(":") -in_ = CK("in").setParseAction(pp.replaceWith(1)) -from_ = CK("from").setParseAction(pp.replaceWith(1)) -before = CK("before").setParseAction(pp.replaceWith(-1)) -after = CK("after").setParseAction(pp.replaceWith(1)) -ago = CK("ago").setParseAction(pp.replaceWith(-1)) -next_ = CK("next").setParseAction(pp.replaceWith(1)) -last_ = CK("last").setParseAction(pp.replaceWith(-1)) +in_ = CK("in").set_parse_action(pp.replaceWith(1)) +from_ = CK("from").set_parse_action(pp.replaceWith(1)) +before = CK("before").set_parse_action(pp.replaceWith(-1)) +after = CK("after").set_parse_action(pp.replaceWith(1)) +ago = CK("ago").set_parse_action(pp.replaceWith(-1)) +next_ = CK("next").set_parse_action(pp.replaceWith(1)) +last_ = CK("last").set_parse_action(pp.replaceWith(-1)) at_ = CK("at") on_ = CK("on") couple = ( - (pp.Optional(CK("a")) + CK("couple") + pp.Optional(CK("of"))) - .setParseAction(pp.replaceWith(2)) - .setName("couple") + (pp.Opt(CK("a")) + CK("couple") + pp.Opt(CK("of"))) + .set_parse_action(pp.replaceWith(2)) + .set_name("couple") ) -a_qty = (CK("a") | CK("an")).setParseAction(pp.replaceWith(1)) -the_qty = CK("the").setParseAction(pp.replaceWith(1)) +a_qty = (CK("a") | CK("an")).set_parse_action(pp.replaceWith(1)) +the_qty = CK("the").set_parse_action(pp.replaceWith(1)) qty = pp.ungroup( - (integer | couple | a_qty | the_qty).setName("qty_expression") -).setName("qty") -time_ref_present = pp.Empty().addParseAction(pp.replaceWith(True))("time_ref_present") + (integer | couple | a_qty | the_qty).set_name("qty_expression") +).set_name("qty") +time_ref_present = pp.Empty().add_parse_action(pp.replace_with(True))( + "time_ref_present" +) def fill_24hr_time_fields(t): @@ -111,26 +113,28 @@ def fill_default_time_fields(t): t[fld] = 0 +# get weekday names from the calendar module weekday_name_list = list(calendar.day_name) -weekday_name = pp.oneOf(weekday_name_list).setName("weekday_name") +weekday_name = pp.one_of(weekday_name_list).set_name("weekday_name") -_24hour_time = ~(integer + any_time_units).setName("numbered_time_units") + pp.Word(pp.nums, exact=4).setName("HHMM").addParseAction( +# expressions for military 2400 time +_24hour_time = ~(pp.Word(pp.nums) + any_time_units).set_name("numbered_time_units") + pp.Word( + pp.nums, exact=4, as_keyword=True +).set_name("HHMM").add_parse_action( lambda t: [int(t[0][:2]), int(t[0][2:])], fill_24hr_time_fields ) -_24hour_time.setName("0000 time") +_24hour_time.set_name("0000 time") ampm = am | pm timespec = ( integer("HH") - + pp.Optional( - CK("o'clock") | COLON + integer("MM") + pp.Optional(COLON + integer("SS")) - ) + + pp.Opt(CK("o'clock") | COLON + integer("MM") + pp.Opt(COLON + integer("SS"))) + (am | pm)("ampm") -).addParseAction(fill_default_time_fields) +).add_parse_action(fill_default_time_fields) absolute_time = _24hour_time | timespec -absolute_time.setName("absolute time") +absolute_time.set_name("absolute time") absolute_time_of_day = noon | midnight | now | absolute_time -absolute_time_of_day.setName("time of day") +absolute_time_of_day.set_name("time of day") def add_computed_time(t): @@ -145,12 +149,12 @@ def add_computed_time(t): t["computed_time"] = time(hour=t.HH, minute=t.MM, second=t.SS) -absolute_time_of_day.addParseAction(add_computed_time) +absolute_time_of_day.add_parse_action(add_computed_time) # relative_time_reference ::= qty time_units ('ago' | ('from' | 'before' | 'after') absolute_time_of_day) # | 'in' qty time_units -time_units = (hour | minute | second).setName("time unit") +time_units = (hour | minute | second).set_name("time unit") relative_time_reference = ( ( qty("qty") @@ -162,7 +166,7 @@ relative_time_reference = ( ) ) | in_("dir") + qty("qty") + time_units("units") -).setName("relative time") +).set_name("relative time") def compute_relative_time(t): @@ -174,10 +178,10 @@ def compute_relative_time(t): t["time_delta"] = timedelta(seconds=t.dir * delta_seconds) -relative_time_reference.addParseAction(compute_relative_time) +relative_time_reference.add_parse_action(compute_relative_time) time_reference = absolute_time_of_day | relative_time_reference -time_reference.setName("time reference") +time_reference.set_name("time reference") def add_default_time_ref_fields(t): @@ -185,13 +189,13 @@ def add_default_time_ref_fields(t): t["time_delta"] = timedelta() -time_reference.addParseAction(add_default_time_ref_fields) +time_reference.add_parse_action(add_default_time_ref_fields) # absolute_day_reference ::= 'today' | 'tomorrow' | 'yesterday' | ('next' | 'last') weekday_name # day_units ::= 'days' | 'weeks' day_units = day | week -weekday_reference = pp.Optional(next_ | last_, 1)("dir") + weekday_name("day_name") +weekday_reference = pp.Opt(next_ | last_, 1)("dir") + weekday_name("day_name") def convert_abs_day_reference_to_date(t): @@ -222,8 +226,8 @@ def convert_abs_day_reference_to_date(t): absolute_day_reference = ( today | tomorrow | yesterday | now + time_ref_present | weekday_reference ) -absolute_day_reference.addParseAction(convert_abs_day_reference_to_date) -absolute_day_reference.setName("absolute day") +absolute_day_reference.add_parse_action(convert_abs_day_reference_to_date) +absolute_day_reference.set_name("absolute day") # relative_day_reference ::= 'in' qty day_units # | qty day_units @@ -234,7 +238,7 @@ relative_day_reference = in_("dir") + qty("qty") + day_units("units") | qty( ) + day_units("units") + ( ago("dir") | ((from_ | before | after)("dir") + absolute_day_reference("ref_day")) ) -relative_day_reference.setName("relative day") +relative_day_reference.set_name("relative day") def compute_relative_date(t): @@ -247,11 +251,11 @@ def compute_relative_date(t): t["date_delta"] = timedelta(days=day_diff) -relative_day_reference.addParseAction(compute_relative_date) +relative_day_reference.add_parse_action(compute_relative_date) # combine expressions for absolute and relative day references day_reference = relative_day_reference | absolute_day_reference -day_reference.setName("day reference") +day_reference.set_name("day reference") def add_default_date_fields(t): @@ -259,13 +263,13 @@ def add_default_date_fields(t): t["date_delta"] = timedelta() -day_reference.addParseAction(add_default_date_fields) +day_reference.add_parse_action(add_default_date_fields) # combine date and time expressions into single overall parser -time_and_day = time_reference + time_ref_present + pp.Optional( - pp.Optional(on_) + day_reference -) | day_reference + pp.Optional(at_ + absolute_time_of_day + time_ref_present) -time_and_day.setName("time and day") +time_and_day = time_reference + time_ref_present + pp.Opt( + pp.Opt(on_) + day_reference +) | day_reference + pp.Opt(at_ + absolute_time_of_day + time_ref_present) +time_and_day.set_name("time and day") # parse actions for total time_and_day expression def save_original_string(s, l, t): @@ -318,12 +322,13 @@ def remove_temp_keys(t): del t[k] -time_and_day.addParseAction(save_original_string, compute_timestamp, remove_temp_keys) +time_and_day.add_parse_action(save_original_string, compute_timestamp, remove_temp_keys) time_expression = time_and_day +# fmt: off def main(): current_time = datetime.now() # test grammar @@ -415,9 +420,7 @@ def main(): "the day after tomorrow": timedelta(days=2) - time_of_day, "tomorrow": timedelta(days=1) - time_of_day, "the day before yesterday": timedelta(days=-2) - time_of_day, - "8am the day after tomorrow": timedelta(days=+2) - - time_of_day - + timedelta(hours=8), + "8am the day after tomorrow": timedelta(days=+2) - time_of_day + timedelta(hours=8), "yesterday": timedelta(days=-1) - time_of_day, "today": -time_of_day, "midnight": -time_of_day, @@ -430,14 +433,13 @@ def main(): "12:15 AM today": -time_of_day + timedelta(minutes=15), "3pm 2 days from today": timedelta(days=2) - time_of_day + timedelta(hours=15), "ten seconds before noon tomorrow": timedelta(days=1) - - time_of_day - + timedelta(hours=12) - + timedelta(seconds=-10), - "20 seconds before noon": -time_of_day - + timedelta(hours=12) - + timedelta(seconds=-20), + - time_of_day + + timedelta(hours=12) + + timedelta(seconds=-10), + "20 seconds before noon": -time_of_day + timedelta(hours=12) + timedelta(seconds=-20), "in 3 days at 5pm": timedelta(days=3) - time_of_day + timedelta(hours=17), } + # fmt: on def verify_offset(instring, parsed): time_epsilon = timedelta(seconds=1) @@ -449,7 +451,19 @@ def main(): parsed["verify_offset"] = "FAIL" print("(relative to %s)" % datetime.now()) - time_expression.runTests(tests, postParse=verify_offset) + success, report = time_expression.runTests(tests, postParse=verify_offset) + assert success + + fails = [] + for test, rpt in report: + if rpt.get("verify_offset", "PASS") != "PASS": + fails.append((test, rpt)) + + if fails: + print("\nFAILED") + print("\n".join("- " + test for test, rpt in fails)) + + assert not fails if __name__ == "__main__": diff --git a/examples/eval_arith.py b/examples/eval_arith.py index 613e728..3a19ae0 100644 --- a/examples/eval_arith.py +++ b/examples/eval_arith.py @@ -13,9 +13,9 @@ from pyparsing import ( nums, alphas, Combine, - oneOf, - opAssoc, - infixNotation, + one_of, + OpAssoc, + infix_notation, Literal, ParserElement, ) @@ -143,28 +143,28 @@ real = Combine(Word(nums) + "." + Word(nums)) variable = Word(alphas, exact=1) operand = real | integer | variable -signop = oneOf("+ -") -multop = oneOf("* /") -plusop = oneOf("+ -") +signop = one_of("+ -") +multop = one_of("* /") +plusop = one_of("+ -") expop = Literal("**") # use parse actions to attach EvalXXX constructors to sub-expressions operand.setParseAction(EvalConstant) -arith_expr = infixNotation( +arith_expr = infix_notation( operand, [ - (signop, 1, opAssoc.RIGHT, EvalSignOp), - (expop, 2, opAssoc.LEFT, EvalPowerOp), - (multop, 2, opAssoc.LEFT, EvalMultOp), - (plusop, 2, opAssoc.LEFT, EvalAddOp), + (signop, 1, OpAssoc.RIGHT, EvalSignOp), + (expop, 2, OpAssoc.LEFT, EvalPowerOp), + (multop, 2, OpAssoc.LEFT, EvalMultOp), + (plusop, 2, OpAssoc.LEFT, EvalAddOp), ], ) -comparisonop = oneOf("< <= > >= != = <> LT GT LE GE EQ NE") -comp_expr = infixNotation( +comparisonop = one_of("< <= > >= != = <> LT GT LE GE EQ NE") +comp_expr = infix_notation( arith_expr, [ - (comparisonop, 2, opAssoc.LEFT, EvalComparisonOp), + (comparisonop, 2, OpAssoc.LEFT, EvalComparisonOp), ], ) diff --git a/examples/excelExpr.py b/examples/excelExpr.py deleted file mode 100644 index 311a5a4..0000000 --- a/examples/excelExpr.py +++ /dev/null @@ -1,106 +0,0 @@ -# excelExpr.py -# -# Copyright 2010, Paul McGuire -# -# A partial implementation of a parser of Excel formula expressions. -# -from pyparsing import ( - CaselessKeyword, - Suppress, - Word, - alphas, - alphanums, - nums, - Optional, - Group, - oneOf, - Forward, - infixNotation, - opAssoc, - dblQuotedString, - delimitedList, - Combine, - Literal, - QuotedString, - ParserElement, - pyparsing_common as ppc, -) - -ParserElement.enablePackrat() - -EQ, LPAR, RPAR, COLON, COMMA = map(Suppress, "=():,") -EXCL, DOLLAR = map(Literal, "!$") -sheetRef = Word(alphas, alphanums) | QuotedString("'", escQuote="''") -colRef = Optional(DOLLAR) + Word(alphas, max=2) -rowRef = Optional(DOLLAR) + Word(nums) -cellRef = Combine( - Group(Optional(sheetRef + EXCL)("sheet") + colRef("col") + rowRef("row")) -) - -cellRange = ( - Group(cellRef("start") + COLON + cellRef("end"))("range") - | cellRef - | Word(alphas, alphanums) -) - -expr = Forward() - -COMPARISON_OP = oneOf("< = > >= <= != <>") -condExpr = expr + COMPARISON_OP + expr - -ifFunc = ( - CaselessKeyword("if") - - LPAR - + Group(condExpr)("condition") - + COMMA - + Group(expr)("if_true") - + COMMA - + Group(expr)("if_false") - + RPAR -) - - -def stat_function(name): - return Group(CaselessKeyword(name) + Group(LPAR + delimitedList(expr) + RPAR)) - - -sumFunc = stat_function("sum") -minFunc = stat_function("min") -maxFunc = stat_function("max") -aveFunc = stat_function("ave") -funcCall = ifFunc | sumFunc | minFunc | maxFunc | aveFunc - -multOp = oneOf("* /") -addOp = oneOf("+ -") -numericLiteral = ppc.number -operand = numericLiteral | funcCall | cellRange | cellRef -arithExpr = infixNotation( - operand, - [ - (multOp, 2, opAssoc.LEFT), - (addOp, 2, opAssoc.LEFT), - ], -) - -textOperand = dblQuotedString | cellRef -textExpr = infixNotation( - textOperand, - [ - ("&", 2, opAssoc.LEFT), - ], -) - -expr <<= arithExpr | textExpr - - -(EQ + expr).runTests( - """\ - =3*A7+5 - =3*Sheet1!$A$7+5 - =3*'Sheet 1'!$A$7+5 - =3*'O''Reilly''s sheet'!$A$7+5 - =if(Sum(A1:A25)>42,Min(B1:B25),if(Sum(C1:C25)>3.14, (Min(C1:C25)+3)*18,Max(B1:B25))) - =sum(a1:a25,10,min(b1,c2,d3)) - =if("T"&a2="TTime", "Ready", "Not ready") -""" -) diff --git a/examples/excel_expr.py b/examples/excel_expr.py new file mode 100644 index 0000000..0877e54 --- /dev/null +++ b/examples/excel_expr.py @@ -0,0 +1,93 @@ +# excelExpr.py +# +# Copyright 2010, Paul McGuire +# +# A partial implementation of a parser of Excel formula expressions. +# +import pyparsing as pp +ppc = pp.common + +pp.ParserElement.enable_packrat() + +EQ, LPAR, RPAR, COLON, COMMA = pp.Suppress.using_each("=():,") +EXCL, DOLLAR = pp.Literal.using_each("!$") +sheet_ref = pp.Word(pp.alphas, pp.alphanums) | pp.QuotedString("'", escQuote="''") +col_ref = pp.Opt(DOLLAR) + pp.Word(pp.alphas, max=2) +row_ref = pp.Opt(DOLLAR) + pp.Word(pp.nums) +cell_ref = pp.Combine( + pp.Group(pp.Opt(sheet_ref + EXCL)("sheet") + col_ref("col") + row_ref("row")) +) + +cell_range = ( + pp.Group(cell_ref("start") + COLON + cell_ref("end"))("range") + | cell_ref + | pp.Word(pp.alphas, pp.alphanums) +) + +expr = pp.Forward() + +COMPARISON_OP = pp.one_of("< = > >= <= != <>") +cond_expr = expr + COMPARISON_OP + expr + +if_func = ( + pp.CaselessKeyword("if") + - LPAR + + pp.Group(cond_expr)("condition") + + COMMA + + pp.Group(expr)("if_true") + + COMMA + + pp.Group(expr)("if_false") + + RPAR +) + + +def stat_function(name): + return pp.Group(pp.CaselessKeyword(name) + pp.Group(LPAR + pp.DelimitedList(expr) + RPAR)) + + +sum_func = stat_function("sum") +min_func = stat_function("min") +max_func = stat_function("max") +ave_func = stat_function("ave") +func_call = if_func | sum_func | min_func | max_func | ave_func + +mult_op = pp.one_of("* /") +add_op = pp.one_of("+ -") +numeric_literal = ppc.number +operand = numeric_literal | func_call | cell_range | cell_ref +arith_expr = pp.infix_notation( + operand, + [ + (mult_op, 2, pp.OpAssoc.LEFT), + (add_op, 2, pp.OpAssoc.LEFT), + ], +) + +text_operand = pp.dbl_quoted_string | cell_ref +text_expr = pp.infix_notation( + text_operand, + [ + ("&", 2, pp.OpAssoc.LEFT), + ], +) + +expr <<= arith_expr | text_expr + + +def main(): + success, report = (EQ + expr).run_tests( + """\ + =3*A7+5 + =3*Sheet1!$A$7+5 + =3*'Sheet 1'!$A$7+5 + =3*'O''Reilly''s sheet'!$A$7+5 + =if(Sum(A1:A25)>42,Min(B1:B25),if(Sum(C1:C25)>3.14, (Min(C1:C25)+3)*18,Max(B1:B25))) + =sum(a1:a25,10,min(b1,c2,d3)) + =if("T"&a2="TTime", "Ready", "Not ready") + """ + ) + assert success + + +if __name__ == '__main__': + main() diff --git a/examples/gen_ctypes.py b/examples/gen_ctypes.py index 176644f..0eb0b7b 100644 --- a/examples/gen_ctypes.py +++ b/examples/gen_ctypes.py @@ -44,16 +44,16 @@ typemap = { "void": "None", } -LPAR, RPAR, LBRACE, RBRACE, COMMA, SEMI = map(Suppress, "(){},;") -ident = Word(alphas, alphanums + "_") +LPAR, RPAR, LBRACE, RBRACE, COMMA, SEMI = Suppress.using_each("(){},;") +ident = pyparsing_common.identifier integer = Regex(r"[+-]?\d+") hexinteger = Regex(r"0x[0-9a-fA-F]+") const = Suppress("const") -primitiveType = oneOf(t for t in typemap if not t.endswith("*")) +primitiveType = one_of(t for t in typemap if not t.endswith("*")) structType = Suppress("struct") + ident vartype = ( - Optional(const) + (primitiveType | structType | ident) + Optional(Word("*")("ptr")) + Opt(const) + (primitiveType | structType | ident) + Opt(Word("*")("ptr")) ) @@ -64,14 +64,14 @@ def normalizetype(t): # ~ return ret -vartype.setParseAction(normalizetype) +vartype.set_parse_action(normalizetype) -arg = Group(vartype("argtype") + Optional(ident("argname"))) +arg = Group(vartype("argtype") + Opt(ident("argname"))) func_def = ( vartype("fn_type") + ident("fn_name") + LPAR - + Optional(delimitedList(arg | "..."))("fn_args") + + Opt(DelimitedList(arg | "..."))("fn_args") + RPAR + SEMI ) @@ -82,7 +82,7 @@ def derivefields(t): t["varargs"] = True -func_def.setParseAction(derivefields) +func_def.set_parse_action(derivefields) fn_typedef = "typedef" + func_def var_typedef = "typedef" + primitiveType("primType") + ident("name") + SEMI @@ -90,10 +90,10 @@ var_typedef = "typedef" + primitiveType("primType") + ident("name") + SEMI enum_def = ( Keyword("enum") + LBRACE - + delimitedList(Group(ident("name") + "=" + (hexinteger | integer)("value")))( + + DelimitedList(Group(ident("name") + "=" + (hexinteger | integer)("value")))( "evalues" ) - + Optional(COMMA) + + Opt(COMMA) + RBRACE ) @@ -135,13 +135,13 @@ def typeAsCtypes(typestr): # scan input header text for primitive typedefs -for td, _, _ in var_typedef.scanString(c_header): +for td, _, _ in var_typedef.scan_string(c_header): typedefs.append((td.name, td.primType)) # add typedef type to typemap to map to itself typemap[td.name] = td.name # scan input header text for function typedefs -fn_typedefs = fn_typedef.searchString(c_header) +fn_typedefs = fn_typedef.search_string(c_header) # add each function typedef to typemap to map to itself for fntd in fn_typedefs: typemap[fntd.fn_name] = fntd.fn_name @@ -149,7 +149,7 @@ for fntd in fn_typedefs: # scan input header text, and keep running list of user-defined types for fn, _, _ in ( cStyleComment.suppress() | fn_typedef.suppress() | func_def -).scanString(c_header): +).scan_string(c_header): if not fn: continue getUDType(fn.fn_type) @@ -160,8 +160,8 @@ for fn, _, _ in ( functions.append(fn) # scan input header text for enums -enum_def.ignore(cppStyleComment) -for en_, _, _ in enum_def.scanString(c_header): +enum_def.ignore(cpp_style_comment) +for en_, _, _ in enum_def.scan_string(c_header): for ev in en_.evalues: enum_constants.append((ev.name, ev.value)) diff --git a/examples/getNTPserversNew.py b/examples/getNTPserversNew.py index 5fcd9d1..8c4c94f 100644 --- a/examples/getNTPserversNew.py +++ b/examples/getNTPserversNew.py @@ -13,8 +13,8 @@ from urllib.request import urlopen integer = pp.Word(pp.nums) ipAddress = ppc.ipv4_address() -hostname = pp.delimitedList(pp.Word(pp.alphas, pp.alphanums + "-_"), ".", combine=True) -tdStart, tdEnd = pp.makeHTMLTags("td") +hostname = pp.DelimitedList(pp.Word(pp.alphas, pp.alphanums + "-_"), ".", combine=True) +tdStart, tdEnd = pp.make_html_tags("td") timeServerPattern = ( tdStart + hostname("hostname") @@ -33,6 +33,6 @@ with urlopen(nistTimeServerURL) as serverListPage: serverListHTML = serverListPage.read().decode("UTF-8") addrs = {} -for srvr, startloc, endloc in timeServerPattern.scanString(serverListHTML): - print("{} ({}) - {}".format(srvr.ipAddr, srvr.hostname.strip(), srvr.loc.strip())) +for srvr, startloc, endloc in timeServerPattern.scan_string(serverListHTML): + print(f"{srvr.ipAddr} ({srvr.hostname.strip()}) - {srvr.loc.strip()}") addrs[srvr.ipAddr] = srvr.loc diff --git a/examples/greeting.py b/examples/greeting.py index 28a534a..17a7b2a 100644 --- a/examples/greeting.py +++ b/examples/greeting.py @@ -8,16 +8,16 @@ import pyparsing as pp # define grammar -greet = pp.Word(pp.alphas) + "," + pp.Word(pp.alphas) + pp.oneOf("! ? .") +greet = pp.Word(pp.alphas) + "," + pp.Word(pp.alphas) + pp.one_of("! ? .") # input string hello = "Hello, World!" # parse input string -print(hello, "->", greet.parseString(hello)) +print(hello, "->", greet.parse_string(hello)) # parse a bunch of input strings -greet.runTests( +greet.run_tests( """\ Hello, World! Ahoy, Matey! diff --git a/examples/greetingInGreek.py b/examples/greetingInGreek.py index ed98e9a..aa8272a 100644 --- a/examples/greetingInGreek.py +++ b/examples/greetingInGreek.py @@ -15,4 +15,4 @@ greet = Word(alphas) + "," + Word(alphas) + "!" hello = "Καλημέρα, κόσμε!" # parse input string -print(greet.parseString(hello)) +print(greet.parse_string(hello)) diff --git a/examples/greetingInKorean.py b/examples/greetingInKorean.py index 00ea9bc..d2c0b63 100644 --- a/examples/greetingInKorean.py +++ b/examples/greetingInKorean.py @@ -7,14 +7,14 @@ # from pyparsing import Word, pyparsing_unicode as ppu -koreanChars = ppu.Korean.alphas -koreanWord = Word(koreanChars, min=2) +korean_chars = ppu.한국어.alphas +korean_word = Word(korean_chars, min=2) # define grammar -greet = koreanWord + "," + koreanWord + "!" +greet = korean_word + "," + korean_word + "!" # input string hello = "안녕, 여러분!" # "Hello, World!" in Korean # parse input string -print(greet.parseString(hello)) +print(greet.parse_string(hello)) diff --git a/examples/holaMundo.py b/examples/hola_mundo.py similarity index 69% rename from examples/holaMundo.py rename to examples/hola_mundo.py index bb66ca2..d44bb35 100644 --- a/examples/holaMundo.py +++ b/examples/hola_mundo.py @@ -1,67 +1,73 @@ -# escrito por Marco Alfonso, 2004 Noviembre - -# importamos los símbolos requeridos desde el módulo -from pyparsing import ( - Word, - alphas, - oneOf, - nums, - Group, - OneOrMore, - pyparsing_unicode as ppu, -) - -# usamos las letras en latin1, que incluye las como 'ñ', 'á', 'é', etc. -alphas = ppu.Latin1.alphas - -# Aqui decimos que la gramatica "saludo" DEBE contener -# una palabra compuesta de caracteres alfanumericos -# (Word(alphas)) mas una ',' mas otra palabra alfanumerica, -# mas '!' y esos seian nuestros tokens -saludo = Word(alphas) + "," + Word(alphas) + oneOf("! . ?") -tokens = saludo.parseString("Hola, Mundo !") - -# Ahora parseamos una cadena, "Hola, Mundo!", -# el metodo parseString, nos devuelve una lista con los tokens -# encontrados, en caso de no haber errores... -for i, token in enumerate(tokens): - print("Token %d -> %s" % (i, token)) - -# imprimimos cada uno de los tokens Y listooo!!, he aquí a salida -# Token 0 -> Hola -# Token 1 -> , -# Token 2-> Mundo -# Token 3 -> ! - -# ahora cambia el parseador, aceptando saludos con mas que una sola palabra antes que ',' -saludo = Group(OneOrMore(Word(alphas))) + "," + Word(alphas) + oneOf("! . ?") -tokens = saludo.parseString("Hasta mañana, Mundo !") - -for i, token in enumerate(tokens): - print("Token %d -> %s" % (i, token)) - -# Ahora parseamos algunas cadenas, usando el metodo runTests -saludo.runTests( - """\ - Hola, Mundo! - Hasta mañana, Mundo ! -""", - fullDump=False, -) - -# Por supuesto, se pueden "reutilizar" gramáticas, por ejemplo: -numimag = Word(nums) + "i" -numreal = Word(nums) -numcomplex = numreal + "+" + numimag -print(numcomplex.parseString("3+5i")) - -# Funcion para cambiar a complejo numero durante parsear: -def hace_python_complejo(t): - valid_python = "".join(t).replace("i", "j") - return complex(valid_python) - - -numcomplex.setParseAction(hace_python_complejo) -print(numcomplex.parseString("3+5i")) - -# Excelente!!, bueno, los dejo, me voy a seguir tirando código... +# escrito por Marco Alfonso, 2004 Noviembre + +# importamos los símbolos requeridos desde el módulo +from pyparsing import ( + Word, + one_of, + nums, + Group, + OneOrMore, + Opt, + pyparsing_unicode as ppu, +) + +# usamos las letras en latin1, que incluye las como 'ñ', 'á', 'é', etc. +alphas = ppu.Latin1.alphas + +# Aqui decimos que la gramatica "saludo" DEBE contener +# una palabra compuesta de caracteres alfanumericos +# (Word(alphas)) mas una ',' mas otra palabra alfanumerica, +# mas '!' y esos seian nuestros tokens +saludo = Word(alphas) + "," + Word(alphas) + one_of("! . ?") +tokens = saludo.parse_string("Hola, Mundo !") + +# Ahora parseamos una cadena, "Hola, Mundo!", +# el metodo parseString, nos devuelve una lista con los tokens +# encontrados, en caso de no haber errores... +for i, token in enumerate(tokens): + print(f"Token {i} -> {token}") + +# imprimimos cada uno de los tokens Y listooo!!, he aquí a salida +# Token 0 -> Hola +# Token 1 -> , +# Token 2-> Mundo +# Token 3 -> ! + +# ahora cambia el parseador, aceptando saludos con mas que una sola palabra antes que ',' +saludo = Group(OneOrMore(Word(alphas))) + "," + Word(alphas) + one_of("! . ?") +tokens = saludo.parse_string("Hasta mañana, Mundo !") + +for i, token in enumerate(tokens): + print(f"Token {i} -> {token}") + +# Ahora parseamos algunas cadenas, usando el metodo runTests +saludo.run_tests("""\ + Hola, Mundo! + Hasta mañana, Mundo ! + """, + fullDump=False, +) + +# Por supuesto, se pueden "reutilizar" gramáticas, por ejemplo: +numimag = Word(nums) + "i" +numreal = Word(nums) +numcomplex = numimag | numreal + Opt("+" + numimag) + +# Funcion para cambiar a complejo numero durante parsear: +def hace_python_complejo(t): + valid_python = "".join(t).replace("i", "j") + for tipo in (int, complex): + try: + return tipo(valid_python) + except ValueError: + pass + + +numcomplex.set_parse_action(hace_python_complejo) +numcomplex.run_tests("""\ + 3 + 5i + 3+5i +""") + +# Excelente!!, bueno, los dejo, me voy a seguir tirando código... diff --git a/examples/htmlStripper.py b/examples/htmlStripper.py deleted file mode 100644 index 6a209fa..0000000 --- a/examples/htmlStripper.py +++ /dev/null @@ -1,42 +0,0 @@ -# -# htmlStripper.py -# -# Sample code for stripping HTML markup tags and scripts from -# HTML source files. -# -# Copyright (c) 2006, 2016, Paul McGuire -# -from urllib.request import urlopen -from pyparsing import ( - makeHTMLTags, - commonHTMLEntity, - replaceHTMLEntity, - htmlComment, - anyOpenTag, - anyCloseTag, - LineEnd, - replaceWith, -) - -scriptOpen, scriptClose = makeHTMLTags("script") -scriptBody = scriptOpen + scriptOpen.tag_body + scriptClose -commonHTMLEntity.setParseAction(replaceHTMLEntity) - -# get some HTML -targetURL = "https://wiki.python.org/moin/PythonDecoratorLibrary" -with urlopen(targetURL) as targetPage: - targetHTML = targetPage.read().decode("UTF-8") - -# first pass, strip out tags and translate entities -firstPass = ( - (htmlComment | scriptBody | commonHTMLEntity | anyOpenTag | anyCloseTag) - .suppress() - .transformString(targetHTML) -) - -# first pass leaves many blank lines, collapse these down -repeatedNewlines = LineEnd() * (2,) -repeatedNewlines.setParseAction(replaceWith("\n\n")) -secondPass = repeatedNewlines.transformString(firstPass) - -print(secondPass) diff --git a/examples/html_stripper.py b/examples/html_stripper.py new file mode 100644 index 0000000..92d38c7 --- /dev/null +++ b/examples/html_stripper.py @@ -0,0 +1,58 @@ +# +# html_stripper.py +# +# Sample code for stripping HTML markup tags and scripts from +# HTML source files. +# +# Copyright (c) 2006, 2016, 2023, Paul McGuire +# +from urllib.request import urlopen +from pyparsing import ( + LineEnd, + quoted_string, + make_html_tags, + common_html_entity, + replace_html_entity, + html_comment, + any_open_tag, + any_close_tag, + replace_with, +) + +# if

    RQS+#(p$N#&t5Y6;Y&0lIiFf37p1UHGDq7VE~2yXc~ffGgS|RM_O; zePV-xub6s(W+zhwf1YTbIhSGLKT*Fs_Pqq8Y*F%TKg?;^jub435^}rN!d7%HN5oAj zT)F}MlM=~0iX9=?^6`St9NAT~g8JH;9oB%bZKJ;qg)ng<+;f>y%KEE8Y6sMJWmw zLY#r&-FixB2C|?_al*9o3dk7sr<`>UDUs~{mrl10V41a^m{dqa`aw=CQ3-qq1v z2IH)GNxdaBhy~-Nz6vN613Ymfxhxyyrm3R+%q&&l9R8=}-VQf%x{om59qm@IazsjI zw^|=ti90y2rNs(|gT2>zL2l7MF!3~QO2^B-uCGU%A`DE}kupr-SY!0y`{Dho`@yWQ z-gn!r0UInJj{-E(>>j>Cj+-QNwdAuilwEQmP?sy2R*5O@TuEe)a`#sqbGZV$<#+E5 zZ7-#~axjOz$K@kteE;B$MJriTsT>Pv_gfwQ@GKb9qx#y#Rd&Omq%Jo4)02P`e~yy- zf80;RN?l9(7;%T%{Q(gg*$?dB2Rw0Q%8OPSqg5IK14Hj9TtX-lwo>B9y%l}W2i!~9 zA~p_KkEELLra}Dd5V!B)_XqG_#T)*PKAc)>MnFousU&oN>|6kqUeI)$iDouwS<11e z)I~6m&M|3{ucjlci#_CLWd)_Z3qO2ygK?MriJ?sPC=)0CpK*0E@Vkk8>@3MtI^;#E zGWiEgqmA}Km)f2f7#2QKju+-)XIx^l3kWvyrA-o#4j54@prrjoaO7#V!Ro#@%%#l^ zlREHw4^aHv`)@e$PW|m_2cKL0Q=dOrm&>|VzNeILZOt=#{Z&lDb3e*`P8xlY8pZZf zkgXxo_tFjW?}DOME|G3G?Y-G6a)4($YbjXI< zatI4Eb8vm1)Qvo#l5@sFb)R4%(d@siqJ1tOC8$&3aOPF2$P^u6jJZb%EGUsLO-tEO$+qrN)yYE+IzO8q3S zrFYRp7H%`cvMp3GzyQgTwQRB|K-Qz6aJXn1?fBu4${` zCSjI|?TIW=Y$}yUI@JhOrWqb5yF~Lvx4hThgl5|Gb@o!9h;`u(=WRhcqh7M+$B$z( zb#+C9E~EB{-Cx(E)63qhYc=;$Hwh3*y)ngX3tl4v0tI1#egXnMMk|#f1{h`w!p2CX%|slWYt6BQXkk69Gov?#%u{$8fEW{N1Id=Y*eyXF}Bj_Lz6e6 zDw3V<&5KW|^0?V8c3dNf{z8Rc7rW$8>96-zjPa;}(aL`(!C}ls?*jc6zv2ZgH^!M?3_ zaUyg5I3oSTXS<;8?a#ihEGC;{u&}dNj`L-H{=@VCffFZ>Rb}UcuLC?TtWsKE`+~=l zy%tfUiu4OlELW>R6i0K~#V=29bF6V+;T+ap$39zXqN~Xl9Q{JiEFih}Z8U5ldf5}q zuU(Qa{^lHRYB!+C@eYTLjafv;IS;yN%3_#oYufsbWF3>PBK=k9uW$)>V>gpXqkdk! zc0)LY3yauUgdx2A9=lhal1XB1&)_Q>4+YWQ=k49SVj@!Kvc+#?VA$W<&*hX{lkQ6a zs>mTUp%5`e3K}>&CEbefOxJKSUo)45^%M<>5FTwW7JGZgh;cGJWZpC=7imJ2YbwQx zD-Ii?^Bp%sRd0h2V6U?1EvuT`i>$2DK%~d3kCo4i(h(()F^h zcN(vl(6tfwOC1Zs1>?3V*YjKFMlVKUS6s|rtw240((}mm+5iq(jvMohs=1iIBd=eZ zTet`Ty0tvgcg1Q^Gi>8L%^x5?0oI2mU18K98mUYlM0aXdUH9`}JLxYN$cn|TsP{Iv zCfy^LR3io?^E4Q#Be*SY^o-)%hdoTK4|*-mz5oA(q2CsG5^?m0Hml)G9vmyBOSfu#f{y8Dn#VU6p$&u8JOh%%T%ieOA{xFleuCdQ0mW*7|8hP{z zwVXXFd-IoiX^OFSt9)9lo zf09@vY(JJYbGHyZX%W7NpyzXh+thG4Dldjw^k+@yHD{OdID@p#A-;Hn;|{ef*cvz8 z_`pBzkQ+_ay4#o@h7arLVtG>72eN|esNGGc1MXA&jc$g> zvQXd)G%Xjlh*J{_pYkd)N!$eL@s#Lja)3Y-bZxKx8tXeUs4mh)P5IztzI7!RR{qRV zTPvS@IhH8;eBLB<4PL-oV35s4-Is0hT|cw_P=!@)r5>GaOg5`Y&;spGc)zm`dQ;t9 zip_IoaMZ5|EBS2MbJ0C}8RdNC{VpijB|GwLis5UtVaz^^$!VpgG&SysPGEnrXV7Z6 zr7c!39WhBe0sA5HRqZ0U6TSLx01Zy zEf}?nMGi(tX%9LHUe9XW9)0Dxr8o}BUdX@+q_^nT>6)mkJ;}2qoyz^-!dISa=$`Ha znE{820$sIHVhl49adOX6c!jgNgBEs%e2uL}U5-^jph{ib<3P!oOIrEms+Cbas{52A z3=^Wv%rAhy9kcrT+W`QY3uZGkLj65Ujb;IyTA&cqBEdbiL3QJMpB{ zhWk)8vAXU+18&xSLBA91-X>eV`nx{<=ZGk=HoRIFG7Vlgwe|GCZ|@{lQ{Y2Lxr$J2 zP`e%v8yg!6m2xZaE9&Bync6dOpI+^un_ZxuH|t~bclA=)jC_ju7~hsX0UV7Ch{mYH zH#&^B+B)Gk1JL=MqzL5(923HsJraf@&djH5XxVC|hS+#X5TK`Q8V~I5&Ip>d71be; zS!i&JAjj<)whi-Awf2u1Tc(hptPJ~Msc2&9a)!EGMxySOI_-!m>sDcOEVECfS$&9C z#*n+Y1_jy5S&+p3OoSbB`K`+>FcN;(Ao_(-H^0}?7-%A#-3Oi!8BGZbaU)6D4`c;s z*YM2BPAPTgYdl|`O~r&J-!bT&(5z_TF@rZ#hTm>lM9^C>8%e>OmonOq_`vX@**wBi z_%fVl*-GD*LPZf?q$uUov?Pg=G9h^`ry4@VtD1D7L&-rNIvFDY1$tG5&@&es{3zCpRbi&_Sp;YjdBdo1q(uHGADMYZ_s% zWjpU46}BJfT1=i9rr_Q+$p>HakT~cD+wPYmlJgqM{V!$ng8Z3yU^}Kw&!=I5Y#prW{)bKp;a?VsK8-DGT-6TGx7?$EXOT^z#KPl5j zeP!X{N}ag;566$bHt%tyx~c!-n?GL8^q)*t3Suw&(!VRB4;6AnDzEqN0)A`w(kRo# z6?aAmzm^wH9NKQ!d@#%y-sX&J%ynkVXolOppwSh5*bRJq7jWu}12&+=635x*=yByG zAvDu8SJI9*hv?ewk~EX~d}*+qjstW>!)Lq7_23!I6lI%Y&1@h*l?<$xR0&PKArofe zJ5qI^{|S)D+>lqX^3xHYe>?Kmj|&pwMGMsH4QrvQ0uy~^9`F2V6=qbN7BGZnBGkgg9GF-Hq$!1id!s z7}G|?(RT+jY?|Iqv!l3M<4Lu(qx~XZ^;%YNGdQ@u6Klb(&Z+T%^n&m`l68~!fzYV8kOct6!%yiOaq<0a%%#74-&UJ4j zP%Peq1`D9a0aOPTku}BSzTrjIy0G2OA+Lqytt;aV2eW~uTknJpGm^`wRxO{Dsz&_SvK-VEPgKpMx!?X>Wr5Z|_+v>C1bj;L}61pe;NzPoeLL?jy>TNlnY?u(0q=`MwgFgX?`cLj$c= z)FPy?38uKjv)L9Ma|s{`mUv+Z?to=MJSZMlar?H%lv{iJ=$s6cMgrV~=GQ0yFio z?PzN!eBgDcYbkEK-ue-D+9QsOwKsMYZs+sWp1RYsau7L-{q~Q{pEoBZj7U0J?2W0d z!^Q;6f3BubbqCq%U0G(kZo)o63N73d6>%Q4)6~~5Mt>jb*HRsimU1AlFnAk`VQ=u< z*vw7z>U|zwa->LF8G^NqxZw2M4jvmi8}$q(zi>)qC=*+Ey{hso7HSUj z4(fY$4Co`C-t}R=Re&p(a3!GZ4tqM3k&tFrIFpyFG+J(wIX-H&L9p*|ooHU&aoTYE z1PG&8aD=iqg98d)S5kvr(T3#)M%*qMy{)^$(j4|LU*>?uUczXoJmZ$SBOEHWyzY0? zAj=(;_W3Rr&WPu<+i6R!n9D0E^C$<+j)dyjS7(pfX-)146~tiWT9>VpG$#n*7WO&1 ztOn?l`VjW9iIstAlKX6)k_z`V9<#4#%rldin0p<1$&CVNv zgmGytST?+#hz>t$16Fd*0tup|3;X1_m~F{EnA9|uA*|jiTojfK z6~f;_U@(Ss+@})aE4|vB6g$79edVD2W}nn{M`$p*rKRb;y|BT4s3x@yVVl0 z$2D|;z-gY*(njN}H0ba|G%6uXQ-ZBA(+)crcgL`|x<5iRH0LV2He-SRq?5C9ijy6z zaWpbP=mX%?#Xl|1uc91*Upbj^%vna9D_NsVx?kMMQXWc2L3m2lTc;i^s}^vH(jSw5 z>T5D8)#S`pEsxmZj)E#8&72&UFG}D3^B(y9f8P>muO*)M(w@8W^5)uA99!veWYF(h z{wt48yX$saoLDvK*tjJ(2OZ)ZLOZ=viC-qp6D=aoddZ(@oPsiuU2lg#&?ci&+A@7E zlbHcuT8P{RCzf-}*h|yv6via@*dg`HE_+*-=0OC_QSAMwq{|%SN79a4_LMZN4gL|M zTY6M*LPVo_PgmxJMJ?|0gcsss##1CJkh`MkgZNmL^X}L7W)GIUJiXT@6VnC3tuiGn zb&ZzB^-rbX*_$2?k&Dx7&fdCywc?}%d8-%#$f3T)ojz(|UC*XY-JOxle6ifnLxw5T zOK5>nx`oR`SJ5m1oY6{Mt=Rck$hjYjG(#syj7*yZ)VAD*|1xqhqCKU%>JSAV;oU z_E0seeAP~Bv#=>o&Q6)lFPv?7u)=X8nrRBATLkn6XXUO$!sJ_G+&?-eB%PJw^48U@ z|B>%*Z?5AlICe%K&#&~p2TG8P+svOLUvoc_(=h%HZRpJlDjX@aX&UQ<5UVsog3HSp zGsCeJ6nxsM{PKMKi%wq!2Q#lLEpoD$zrW&OUgAF8ITB*HquIB+BGd0Wm3Zhq2{?QA^M+7*wAt6;L#NdcgOf^9_8DU4v8Fqv zjKm8FV+^BmO0Pql+KL9n26rAzQ6Wm)E#J)8)Y=`?q?}Y}y5zEb_Uu~Z(UWJl^87x2 zJQDVAW3jd@Afg6Yo2Bq^P^w8TX-K)hS+6nPG5BSmLq%=m)1}hgk%B<~%Y%#Yi>flI zC7e}5bz0F-bOvqx1*TkdH4fU`ivu0*k@Gb3 zEd>q(I}~BVJ}O*S9~3q|4qoF8mmDsY95^1$6%MhEAtu&(t=+fuofGfparR+TOe2!^ zC%)t3+aW}oKyU~-U9FZHIxwn{Q3k9yO>p8^XsN0hAguS>Cd$38pAj}NE;5N_l;G(_ z7rJ=`VBeKmDJf34?~{iP-+(mLf?_HjK$D9l6+)6X?jMg*({*Q68fRp&t0MONi;Nb% ze&6`8s_MX!Qs7Wl(5!bstyaeUc=z2--0KEQD|Xv!c#jD$!9SODG29Wx2$0zS&*)@^Gm8haanYDlwUJP}OAYevydY`mUI?nB zK>an`u#tjNFXySfNcQxMCzY(krz^|gWYA|F8|leF;rmK&I3N}IKWP)hFJE`YmR*L% zAodz0>^lw5+C<(0^X2+Lrv{dStgzR8ct=$jQ=xsnMH*51yFANf#soS?rXwhGCRS&% zKs;6_MAO1Db{2)uE59+kMK+$)s&~2lba%QdrPU1zTH-n@M?)uv8kt_O>vNMFLeDUT zr)o2lbwBs3)9_*NYok~-GTtOD`X(gZLWA?p8{3&I^$*L!m?GqsO)nLX78n&!d3g9_ zF}pOCc|@K0xSt!0bOV(lBmD%@Swi&o;+=T7DG;5zjASg1BuCP@oh%9(m{Kwsr3gl_ z7NYk+a>#hxeYz~!h-m)U8cXidn1@kv7AqfJht;3d*QX^E)9N+I^b=ARm%0mFj4mfG zm&Uy;EliaSvI=1?p1=PxPI4%xgxj^`bt8PHsb{$lB}UU`QcMASs2X)9oi7dn4Mp8E z%|J?;nLm>R4N+lHGXjlpbUxd<;?RdLvSu2W*3}u?qwu%u7j7S_LP8Dliu+lK1Bhj> zUKqNfi-6W2=z&NXRZp&X7P%{<-q$>T+r{D8ERY?Xe8Lb2#_34eIT=y7g+&@TO;&xN zd>#Y&Zr${VVh}BxT@Z4Z7{^%aH6jqQ8%Xb~vuD4gHwP)_Is^V(-{D(Q$^VQm5Y;FB zc28Z?JfAN>bpR3D{whLTG@R|NwI3Z1wk1F3cH(k#aQ<=@ywBe2OM*dz?i{?dKqXJQ zr8L`22dtND<)O`iOM7ls4Nouk!wL+Y(+zlH^^S4 zMotmgRv01n+Q5Z$9bR^4)GcJp#hcomfc4Gkw$2b)}zh$2<#FVEemaD0ujAHl0 zTR>fC)TVCO_CL=-1))12Mmvf3U&qx!OJuM2%UpJK?)Kv{#gc~z(qfUN?&DxoCf%9Ajj>f0 z?M>f|RI4{?x~1xJS_Y!gHa^W*-d-_P(EKKt9H!B!?QTM#x>{>pYkPHT?_Lj!ju=Pb zTxx#IUWts0z7G~>i!I8nGht}|&JHy)W3o*Wx85(&vq~xNqKS)vIm(=wA;%i5iKfC0 ztX)?ERQtC}u=locWp{ZAz2(nP_W4c%^&QG_%I!iiyLUU&Y4e{%&}y(V&09`d zLsB27-*QPq6Z@{_b&K=Xxzjz^w&ZftNK*yNrzcuINr2+1y@)UxrV(#cioFm+FLBA< z@s!2o0lNTO_E1%Odr=DPwQ2;n5LG83f(^R@9F`0(+iJyk9>w8J%cw09dumv9tC(YB zA_@>@H9TT-y_wfanj@SX@|-b{m1wgEW4tqwB9~Osrz=#A%3)wGRW`frB2Eu*UkQze zvlxwsNnac+PW;j;ApR!c#IZZ$cL`W35ZWg1d5MPW+h3FrO_MKP4w5r5PuoOnPka6o z;3fCk^}bD|&A9zwf2VhU%vgAN8U8I^`6aux`HMU6bmqOJH(vKYHp(jUKgc`IdHwlY z?f)g`PIQp1%~)T}NoWnU48KUUsvk60mFdhK*Q?2Qs9;gEKlrfeKPtdWj`{?+_VShv zFETw;Kh>)w6yhXCXa8ZwUG(&VNEGe85DGBPDRepxBwFX%E_CBb%%Dg?o9c96>d~%~ zSq^?DOjM3_y9It|RaqOop@84IdsH>;@3{E*@Oj8$@)WvPibwYNK~%@>B93gfj_O(a zWjmG*LloZ8lN4I?a-4N{Q)Z7i9itwa&c+|!9j?5yf7~J=DKtF4$kv92ec2e934|=i zb3jL`S8UtO?U&O7V-G8_fm`1>8Z|9FRHj~FIIz%3ZM&j!xISKK;JC)}#7ki%nr5%X zA13%)_g=OhjrP~vNN)~u!-v<30=y@LpLU~Ep3F9U*!HowL`A*LR^4WL8Y zuy#u|K_)ybytCV=L(3{wF_;cQwnN7GcGPZnoK&f*5v21X&YOcA&!bk?fy1iCSCr`- zpZI7h04Hzk(_pXa1mqJDZK$kSPHzrUGpUo~h4>DYAyE^8n%Wq@UGp%dI5+n$*sd%0 zQg$z~;X&iChLPfmV7@1t-Zb$Icq0Z312?xLsWi@~L5;!h)swV5d|s)+N4R*+z3Q}_ z2y4as`bmV2G9Dp?ccqjVrGqUgZFPCk$|*!Bh{m4> zE3P2hO$B9x{ttWa9oJ;K?)@@j8~Y$qq^VTtLkS(7K_DOojF5yD7zsrZiiF-B3sMXi zklqvoQYa=65JDO09Vr0<1f=&4q2rrbv&NaV-?jJI`}3a9IqU3w@`nlV+<8jOeLeSe zUBB-y?Ab8<51|7|$7@xcINREmzQ3^mXwACVBKbV+N+RUmPgnR20*p3T{g z9#(UM-U{E-o1|T{_`5r%p6J?&fF|O2H{H$-_hk}DgaQ!te0yNF+FH842m`Ja$8cUU z1G962A--Ll90{U}rgW2-%vbad%ybK_=~J+aaD7|pbp9Dr#;UQan%Q>QLD0TQVH}tW z2v~N7zxvQ-J3H-8o>-5|Dl&q9823lRD93N}yq`mXZB{$_sHihLO>!yHN zar}&Ae6`Y~Z*!J>(d}c-o!E3_VZhvAQ0ca=DH_1va3>-fT6jh>D{g4V2ZYs1$#%-$ zku&yD0emQ@z+^4j+?%F_grwdghAyqtQn5T32!x@A+W}S%*S+j0;?O2Kn=iwL;yM$E zcA(KvC5Rqjd0RNPC`P{ZvyM$$FjRUZeqEbq^b+XU&Ui?A_!6TKQ5j#xI?Hx5_MVHgT~I;f}yL>*;Sa|5By~^5vl%tX1b`jAA-2Jcy5NZRFknL zHG}`0*wRf<`Rtmn3~mOT6^R=mYtOXRn~kvS?AjrV*4%2;++SMKImQ1zPj=gFLa1eW zW2kq?DU4VNlMr-46r$t$h0ShDSBJ^oI)9QmAztvP=FupB+6i^Nu9lZJ(up1WMYD7B zZk@dcj{V7k(fd>N!Q|0#_eJj)r3sPTdgO*?A}!g0n!s{Kes_0tfN^yPdnc6(ONws* zI$<06XmEa#hRZmXkRQNJ2MWD`Zl$L8BA#`QXs)iVeRTixME?C)(3uu{K=E%B1^&5v zBhTmprOKrf8ARh-nDn;ZY&&eJ8aI1n2oeS znt7+!G8b{vD#_kCvlXd03jC|cVLK`I{1h08w1l80??4r2!GZ{2vIPhpeS@QE$AlY%YJM#SV(x%j~OrigeQij5so?o-M~v5_Fn zg*X^G1k#KR+;W+(7S2s_m$$&*S#)(K4|?`!Z4t^<6rXsP;%v24d_>?0UM3_1+^TzT z5%O*afI=v{qS;YgXD4f_s}oR4C*W{YIl>bV@M)B~fw+K7_uj92lLltqqfM~#mk zMdr`%+#=Q1mdcb&2GkRZHwPBD$2x88vdo*B7fU8l{6;p%(yH2R9)O$@!)Rfj%RskX z)RlVy;;pSld7DKXKX#1K(f6CZ7wl~*?J&h(aE+4UXG-%Jj0MQqmsOd)UY_rEZ>)Ef zmMb!6)dQqBeIG(2+T#JO;wD03hgQzx0fMPLBp-Jh51Y>tbFF@n$|?N!eB6#-h*3)J zL|5rG(*W?%6`Gn!hHcKiukt!lQ{<6VGV6-I>hU?BP~OA-UXCNFs6TkiH+gzvC{||3^ z_Oir|;$+4O9r+wo=3hw?BZxKzBehHB`UXt{%asfm!jrMm9DhIb$PgSgDv5kf(e zKvUF`9_@W1!nAD&E4||ob zee3-Ae|C=lZ*it;!O#TuE9g9sD9iA0f}y=B>v9*lx51E+9@7zC8DLnGo!j^lqOg}R zFBhX@pB$A|5Rmd~)QX)$3kH_^qVt6FbiF&k=tU0Vv_P7KtYG{n;cL!buq9(#p}Ljj zvV5C5ySal{^v)gFV8@AcvC6JOl)zTIjXk&LfsU94#IX=X+;h+@VHYJ{(kkKRkULjs ze2X_kZ3!vq8{As-A}v0yZm710!a4NHBCzirIZfB=Id-j(Bbk*f3S2K^R9kUZB3-&t ztmeAp3r!D8Rj#p3{A2w5uH7vQXV=$fUQl_#7;k4FibCsBEv8I$^~%@-H>xEZIN6)Y znUekyfYMSl)dR!vtU5#BNm>-NeA)$~c~if0J-YL{!`6t~#FZoPXkWe;yzjee`HLM> zh0L&O`Ew2p_2pAv*wTZnPBocV`lReMguK>#p3?7E{nBw47`)5^>pYCy_})h*q*!-1 zOcC**U+!RI{_{=k_JxYk2E~K7lhPy9_5;MN7L9Fm|Gth*;?pwJVWwQ$PbqvC%0gx` zVBf5BxxuH8R_ zz5o--%6Fh~$7D`Auo$oIqx=7SRGA|%@r6kx_C|LH~Gt|M92u!2uG2SFecXlDeDAf#;+*di1C0FWtxlTzaFMt)M!J zTTD5U;l7k2>a?KMoH8)S$*yd?NMYyg-QrCbXiF`TjIyTw+zgGXb4KfTC`~ttBa$og ztx@f28=~?`3dDrA#^)Vo5pfcT!pkZt3}=tM;(%?BIFX@hq~B5Ry}8oMG*?^k)BU$F zRv$F?0KbgfoyTX){9G*~7VurH;Vrp7@Gb85F06{4tP=A=)FdNV)y)ILyFHx>bpB+7$n&RzJ(n@FLy$|Zg6)Xzx-p`Q1xhfW* zL}S!xpB<0qq2>Ii5OK-@esXTt=BY`L7Gm;*@}uznBJY8E|8LPojKf!gKmU2L{>iHP z|0&M;za=L6P5n^VS`d@+P~fEcpk-3b#<&~W_|hX*;|y-stb#ciIY#I1`6@5c+^~2e zb1V8|DQW&)d31+E?q&bSrg*tU+prGR|s^M zZ9{2y`F`=V0;C#Y&c}H+3YE&BVOIKGTBP0di_xn7+Y969`GxyH&O5VBRtrV}R-5`G zbS_yCW_}WuN#Pq6a!r}_5;yRE6ChTr%ZDn-^^}G>8A^>xf<%l%fuyFv3fXAa63_t4 z(md59g?Hw5njy|(O97zZEBR^4Jh)Xfi@)fzOS3syjWcXU%XXe2xKK_gJd>-%oYtT4 zzt!tSUbi1PKrA+jO1!}Xb{F-wo|hy}R{`ZY@s!ZA3TYOnY{k!A);>K(y4F$6o@m%~ zfVM$GVu}~zfe`1E)y@v_GB`&9Q3oi@9qBb>ztu6n1bJLLA4 zW|PARDcR3-b*L!Ph7GKZ7A;KSaua~Y-&~k8cttV_K-pkowm9<)gdgZp!>#GpQGTTvff$B~XP*?| zty)M{V3Fj6Wmx3d^Px~L)Ww+ka9&K{GOHuS-avzJ^Dv-)RrcUcl-ng?AK##>ag7VR z3ht%cTmnpI%K)?O%FY;81~i3Z0DmsEKYTIPabtxeGU2)F>#=5}w4M}4SebN*oHC_D z0;N$lup^F*V#G?iRvN}x4q`C-nQCTHL$f2;&7;Crv&IKA3*r%?Y1O*nhjtHH2qg!t z4o4N0*J1r0i%W`%*1Vvz*S-<^|8-5QsR#+syJO`l15L3wc%G1r#8OG!)S{3F96oYP zi=5%4Mm0s=s6Go_qt6ZQy*T2)+^reIojCR4EmfQO=Po8ZGZ4Zp($&#(R_i6K@K?;` z?gnGH47o$%b?Nr$H^xW9LrUJ80p$*1X+9TUy^x6{1{WNfE&?;vls$r=1Yb^WPt#RN z2~H64LU=c8B}O?MJu$N~7>NV|hK|V8BSk+}@7k03NY$w+L(zKgLLA*>@8K6V!8sv+ z!kpHR%PsRMUAb`8eWMI#aoQcWi(kvVe@?Rhg;(EfNWY9wX%@!j*-E8OE$SH2l+-V& z?3(8zp+twOnNfc^q;!WlJNF<^IOO~OX!KkPrx3ct`DxNm5ovgqT#}I9V>J^j9K^@R z@4^CalW-WMxUG=yw~Q3anHPuqH^Z0MH#NQHt9a>r?o0E49(BFk=}MM0NN&|rJV49s zSl(?Xj$Yue4IwX$PVhb?s2EpW{YP2-ztAc$J>ij8k?Et3BALYan7p;}iZsg)Y1aC% zDkG{6q+$AlenZXFD)H&g{M(3qOU{*12NmCK-$n{ z0_`xnp+2LiwMgSK1T`k&^c#!*WI7KqSj9jj${?-{GQFD(fl6`DMyY603nWIup0TzS1*G_AqxhS>{izGybWimc_Z<~E^CyW$vw@g~a`O!6 z0cGO(8l7}$AXIrd{zHtQNQAClrZ9)sgh`5Wg=fo!Sd{jJ3q8$wfGTrEz!o|&JnhBa zsv+2H=h{9ojy4n*MN?FVabdy0xAO&j8rnxD60d@7Gai|h+OK)FzxZVlWm(feQC<+l z5oqvX0yTA8BE6lq?jyZD64lb0fCmzq%GzN4QC{JNg#6Da-v>aEFx(b8=WwBH3h6M~ z@H2n`zlB$D$-jMy>yCzkg%>_XH>$fVFK(XDAxq#!FX~zg3Uq-}pk3WXP_N6%iNj)Y z9B49$v)iiKzW1OHGV-$1*oK8WVfrK#`9s+wsvi6*&P~c`9m}R z!P#H?CFQKPg%j*`r^9+-0N0M&I6#A*W`}xP0x9m{Pp_MS!$Ed0LXsIf?e@jgrlz7)&E;Ewr}vNcl*&lBTdim>RpXuFmlECLkW)vXCbx zR3BkVKdH@04hOZFPsHapW^v*l>7?yRVEttUFPL~1qFum)9OMAj)+@pLxl5=uNI)@&Q1Gf=@|Gmg^dW zF+hzqA>X?o;BjBsXg6A;5b0Xx{MI(SA7fcVgRBzDOuSYJ86Ph0bRb8(4i9JauirO@w+Tf6m&X^GgrG zuza*LuIjQ9?>EcvtC8XJL{YQ86j}h}Q<*LN3me~MagfJlN8h@&FKjuTXR$A2B8b6c zHQ}_dWp1$!+Z_x1XBKwYgr=)#K)AXJhuA(@&wf2#YT0Wycc^%)vPFmKU-MerJ29v5 zh3Q=M%6qockN*q7?B8xGj{d^d2?)KAfs!OUKT97}A=t{5_Enm!o)Pk4+1P9LCcn5= zG1x5JSXV`~b>oP;RV~%CpZ&cB^Q8ox-}6Y@|JEDNrw=qPO)CJHeOGL%cjxw5Y%s-5 z0Yt8}w^u&Jcq5VS{e|uGi8Mu}rEq4?&OZ>s|8;r?iVE*nCMyXze3#=X1FU1!-t*86 zc@Wpb$eI}y&s8-Ol4;-9mW!MVxutGbE$>(t3Tj(;EoT)fyfjW)I7{fL8&MW2TQY!O zS`4E)M-9c#)yFlcRr~yo;BvX}y5|!jZ{qW>JjxIJummkx_g%o$ z>okc4#!VY0FsB*a;v)B<(1N+TJ^)X_7*de8qbjR3mm-6rP;?8b3hqlgD|N$!C%syo zitz(^^IX;6YIs6devMe>NKtU_xna9x5L%yO6y& z1NVHm!?U2eryA&j%b^~p8i}zFKPm&76popp;&L}u1dw3P>ge( zUY<<~imI`tCC~(1i1)Sf2(q(e^vdqWOj+r%D?I0G#s}y4hh0QGqn)Eoe@WXIlFC6P zBmfMoci96kps5syvDzk+t1fO7!5$U2H5Is8wv{*)0W7ngp+MBstO!%4(*!Cr$n3E=X@@JpHQ$Kfgj~;aW_;0_a zte^j>oyqGztsn86pK`MWU+pMdWIy{=%JNU%=l}RuC!fO1lV}U$H}q#$CWqgb=rLueaGoXDA3~$Y%rsgIPp@m355kLSv;4CMRTy`Y8^4aqxzRzxgdz~Gvli0mS^eRw|*+ZNqGC*yaNPig_|{( z9?S{sUVbZ%4^in)(x>vdV*G{{%c8N-hmqgQ%;n(L4;m-9p!kN?n0iSQXwh}^r6Tb1 zqI27HSXIpia{q#f)ajT=x$ykp;~wUUDo~A1c}A4&zKp4;B_^*A?Oa`qTJk%C*i*66E0XsP?RYFk>FT z;bqdB-jC}4IWWpCy}6T9pc1Op6ceo9t$XlOCBb7M!m)lKQ>yu7{F{aIV@38vS5KSc zF=ck>U{U|vag|@#*_Dm-zk&O0fh@HH%nncg5P#_M`e_Ef&+XI~wupPNjB7%rK)V^E zK~i=xa~y5(h3&Ch?Dp#hdTqbC_^2qStSE!Qficu@ z7+LGLX;2QiN@*qg@)AD-g1%OsFgW=nsor8no1{t5Fg$0-S$Wday@ggNEsLzoM^n6$ ztRibFhDu*}j<-zkk5Ye!#m1%dsY>fioT8lRvYgMOK=G38 zqXgHH6L8vmI+3P%g5{uG`~1V|#6;^N$Kb8m&W@3#<(sIVrlHdcpa&SA)*q)`OTaeLmB#B40 zb21_A&iJF-)lS;RD4Vw?4e-_8W@zwHmi1n`~NmxixPgBIe%X*`XGuHc(M&Poy3 z;UD4@@j-|=Dz7ZcDHk%Wa4wIHB61=!ajQRnCWEKe0EOE9@}h1*d=;B+y7V?1`vP5E z=DiLv0;_4j%b5bJ%t{<5UBtD@7-uT(FX{M;6X@JE_e1-gB9IMfCONmNEFS*}U-bkOgqEymX{p+I z9}!5LAx3)^5=^~<+sY{DYrbX;DsUHapg|7kp&xYgV` z?{R8{%lE}2)sR1t)qf27FFpUq_FjK=agpR@IKiNfkHSXssX`Ohgz(bx6zi{4>dmI< zv5#YGg+VCgMGFt9KB9TPxfs^0V9f0j1z%(~BT2{<0{H#m;nH4_{zF*5`nY(FG9?|j zkUeObux0n-L)Z!hvCH7cmF$4 zNk&CysOM7<6VCByH$C6kD)-!>X&{$0bisGrF{En#RZ~7h2f0Kh$O*@e5A@{G$Sjp; z(C*cO;FSkAWkNclg||8xi{kZ#yFIOP-Oyv)cPu?_0-TskckW~pw6a0Fr*(zS3NgJ>2^Xb+2g@DM2o28L2f(wIhUXa;! zYpkvAcWHZ3yP0q~+2&$Qi)~>e;H90K2BV`vUHx9Qr-5}vz^cacWgR2&)l62|I3heO zIoI@&db_1C%S@&9&x`2y^<-1pVX^BRh7Jl9R$8@2D9bIl>+m_4Ux(P5x3{}WaC=X2 zI895UG4kV-OV>wx`|ah(Q`$4>2_8T1w9l}&dbb=ZUMu~{{i8H4qA9fwYdy7+oO%~E zkg_|`VEuYE?(=d=92($sGc{phC=E-N`o2Uz3n)Jv_#sV0d3IsO{gd#|^U%xwm5W$2T)3@@YrXeex%Xn^oFT+I zf&E!~E2mxEpAja_#KA zD{qSmDwFFBArejGMlP*IkCYl}CMyk+K&KmJ{)yknjL22zZYD?MY_UH>MSnL`_Rq*0 zTO%(2Jvgl2qD5JVwR4mRGE+{;-e9a!<9Y`kqqwL~Od9WsGcb$Tta! zwOeF6Zt*uaNV;dZcQSIhkasUSwu0pb$@f9X?t9=lgJO3IPwy5xhn^X2eB?Z=AV zsV&oqtMNpWiL0;c3^*N2G)QViw77sPirn6k`+Vy*5KfbtfS=LMZMITyOcch>wKIIg zUxFPXSkJVWWZhz)TSs2pku8WhF$Gkt=<YaLOX z9rBdUt~D?B@S)gJPKYs7YiG*1i>w_cbL%_~Q&bDP!o~uz9cRYxaT(vItpZtQ9U1f( zo{Z`l77U0*B?s@FtY~fAD!I{@rj-C#Cyf>nS^o9=X1l=eejE7r#~)0!zxW4TQ2f(# z;n<5WY~phGwyPE9;{w0_G3dYY{LNoY7s`VF3XnXp!+N9BfBNHXHjN3jkFDher2wR% zP_se@GDRd*$F?+F726IU+y;PIkJhG*KP}C?i(1U;off4soBTNM2e9Av5dF2$M?{K) z(Kwn(QVB5Y5EsgHUv{7JoiMuaH#X9X<=a1ktNF|k5{YO7n=)C#04n}K(>3IH%QRt$ zIy$4O43si)SXYJ==kp!`9~s&Qybwo8aV@*4Ir{+l;H@3Gp3P*j)@CYUk-9Ow{Jyy- zpMx-OL~3gkeTky}LfTbB6kscj&n6RR%(*uMHMT08MixW8q~qU_9G+E~iRjrY`Z?de zX7PR%W(Oa5-$eU74x^v|8dFe$oDyWZq6lQ>^!hTT_@r$5mBfRfNSXlWjNLWLWsLdT zIIu;kCJ0KjmCF6f($sCRCyOcz-6Y`PMdfoQ!nEJtZzpiz4CG-Apfl_fvdhGs< zuwES@Zg}DpYMB9;@p}cn++UjDImdjsy z#Jy@Q(p&&{Afb0ciKQD-E6FC1u~A>z%V>wi&2dHxfd=VIOzKs4eS^mp zQP5_VzNv;kB+zBloa+;?(xQIsW`)iuh-G690Y^jU9Fz_v?Z5tHmY2>h54A5FuB7=7 zu2$lvyh`ZK;nf#yMaxtJC5n6?bRS$P#|%*kY%J;|f=H%k>JcX(AZ$BOsMK=_^jj|V zR)!KhTxnV5(hfShu{Ne=%%RzSGD~^_?j1Jwb!75%EfQd2U5?aRfWoB{a`&yth8J)Z6CCXQ`L|*dfq0Ur~zA0-tt)bjyZZ&7CN{0DnLD32y;B%&a(>dW*^bQpCbUk=rOaYkDd|%gW5ELB%DBzW zj_b==o+MC{Taqm{eFMcVnWOwTUw&u?w|m3`KOVzwC6x>bWyRbS9VOqi4ybJT6!H`N zw)WL`52r*zGktj*buSkn1J1`7@P>cZ%k(`HCd?SSFBcq#=WZl?!Fi&#VihZ z@?28-hVdtS`+&|Vgr(0qs|2QyFXXm7hw0dP*?=R(RQyv%_4lic>Uk;fsCIbB=_QyP z6Jctjc|RF0q3xfzD?P~@9$PImNFlG(OzG%gxO)-cJmZg}HLgz*9ONS;X#9bW`(uyU zPK%RobpRT;F7)*g9eOHXNH+3?ASMrUTCh|BjWS zAN1Ax4YAi6e?V?2%hRoN-v786F~L~`i3^!(s~<;H=J(hepOMUcHprF+0C8{v zpW5WEyRafS1H~m?$w{tT9(ac&TK_GAAL#v>9C>t>n8uym#oKtypU( z+XZ4>_2y@tXt!<=;!evo$`Z%r#pvPvw#TfShHw49uzdoI2-@V6?)08rEEC`u+P|dz zES+Yf-84tF{*J6=nXs>LTT1z0MsfY}byTubW?(f-=W^}uNARyx#3*a@ziK(0a`c_k zpAJg!yfu?4PbMd6;vf!xA}ps2Gr=;R6bWDYyh7ulYPGQn4D7zjs^kxifZu_qZd54>KwwxW*Y5VK%0FrgP(^xQs zry;YfV`^SVGBt`B(d)BWn-*_ZG%4WEvs7!oH7ZJgOay{6y=F<0Wy|I})+s*osc{#t zs4Eo(7|oyQUz2dCOLl*~R;3R*w-VK9?$yK?>?0M}8eVAW%d)I$hm1iKlZ;;`mRp+` zOptxDOC35~Vwy`iP!0t!jIxdqxKYX?E&VvC--|WnkMjAK7z;oTPv1wzXWFech2f$R zSpI&GEil+1QawZOUZcwC+*-5gOx#pczQYi^7*rg zk#`>86hRc(pPq$2hn4u6B@){L_F4neIx$wws!7!T7mh;iHzM3I3hKFWnm#e<`aVW( zg$w0JSH%jvtgNgoz2I)ASaJ~a-#fis5KWL+2?T$$57n9{&+zJ*ZBo-5Z~drCf>(r* zJ~j8^&E64&2{M)QAlUMom$bw?gHP)2cNJcZVHY9M(NesrHsd@J6^V=`XpDsnspbYKraiNE&J+Ydk%Uq*l-n2 z{AmOJgvZqY-g=z;?kslz91|g88fvFk>N#S>7$u8^VeZ?``ah5le-Yhu>s@(sfbWO$ z4idxh>eZme#`^mD&Y*4OcO_2;?R!<;>}fAU4G5CnYM6){!;?$_5wse2P1IRdJR-k}0oeW^I8=e8dH>a@cO> zd8S!<+qrCXSHc|Rt6EcW;fwgO?6nw#JjkWA#E>btz%}WHnD$X|Sriw`Wm<%Bm9Cno z-0a%jocLjgH7}k@OG>gRE^46yIXIVX!0ambbZomGj%ERqDizeDL`P>N-q?Z@Y*S{e+{!GR?St4z1C3=#z9BwywX;mVGT+_!|Am34P zhV~>9EAILfN9iy$CCYt`^R;5{RtcR=v#6KCnkz|GjK>jv*Zky;D~t4md@e7uoO$R_ zmWyk3c2hb!a2XxK1j?QTvkE%CzZG=${qR5jxmx=gi2f5VYT8E~q%H_yQ&yV z)1$!L1{`9``*-V|UF9{<+?nCc^9}XpcE(QTd?|;YvkA6@adBAG3YTl#n*-~VhMqJZ z694&ygvEEJ3>N;BQ2lc7F>k+VzbWnJH8#L+4)7xzpsLQ$?1;WnR{nHg>o6?)G=Ub! zbrj!b;+CGC+9ftZAc4=N0*ae#Zwwnb*?u<-sxI!e8R1G(&T4UdhIaT@jBK%P^1xG1 z@hDNLEKGZp7yx?{*0f~=LhwY)sQInyKqhlkzCyl(?N@v3*L?jXtn4**cFkRjyKnc) zU!~my0E@y2lTiK5$w}*n)OA&I#ZCU-`I#5hyhc(ZB+*piO%2clBIS6Lo=WsDaM|{~ zOTt|igd>4CP7Sc}>;6G^7h|}bVW0K_ds#q?D`!x!Y#GMq)LE8Ftp7Qoz!cQQsg~T< z5ZYufoK`e1z`$lEE)p3A)Pd($g|R~PCak1LH-OW3SJJIKmz{)vcd6VK>?+(H<*;mS zf*;CTj+)=Q>Lx2VzcIZ1c@eaWexQAB$iL_;EZ;z;Y#H;u%<}l9yE9(6DGW~^0J3a~ zNO(>q2)W`|0MCqjo^g-s9~8o$7^+O?|AanmU1^?5=*$#ymz2MMbB~(>8G0ls$JIbN zgv<$_MhJUf_Ij3ooYOAKXgbLu+29Y{n%>8Th%hQ;C|87mRxDX^c+>Q=%$(Ic zVnz9m0>iGiTPb`t&m63NbW$){8FHq0U%9VRa@U(S+@$eV z^(vp8t_PgKZz)x#mBMuHHM#tS?SqRuL-_N`6xu7(D~Fb4B;{5rYLM6{H5miIs3xZE zsfCRQ($HnNRB$B+pJ=zYP-Q7BUm%I|!%)(xRxQIH8o%w=lO)@`mC9lWlrPhuxu^Vz z!t8^|0+$p@c$ux&fTLo zKjaFq{Nd!ojzQH>*o)91AvX?TM2|i4Bk%HzmQ|`jIU2h3yuvHlR9Ri8dux*1yzXk- zAEQ5o?n`-2Jr(?w*d+U7-w@a1_Ueb?qjRoYTdtL53$NKBDI8t(T40`l41=%WI1JT%-}5#h$tBY78by znH0v7Bk_i%AHO}zTEiVP&O@p*W80vSd*+gNu!XoI&M})-QpU@Y)}6rw;f?s~cJ0j6 zUe@gchp1n!Lcotc$wqPZOYg{FW_gmprQn8Zmhk+ZhFf>OXVU?cM_-w&67tWB#gkg@ zY`AntSm35_t*LPgfqH73AG?4|?$(0~co}N3>o)8sa)G^_9cp8vsrM<6LdS8mWPn5) zox|`8+X-4zm3JsAX76Q5!xy$0z7T1rG50%sj2t2N+}|4a;@|vP%luE=IsAQ-)AU>E z3j--bf(j8$Rk`LGOt%TW8deM6jc~@*gXz0{V83nqT|V9~Y&|a?nz%iHs%Y$gL|I4> z3Z=C|%y5r?ziUZnAs{Ndb_Tdhvf##>a-KFjmqnOSdzWS;{YNEk$(iJhWqe_)KWmc1 z0GInVPW?+dX67gpdX+u<;{x?R%wGzart{?dc3i)GWp-6}}$> zAFW%WK{^-^{zSYaGuq>+}t!ZT3aoq zgutJd)VyHC-*-_Uju7n4wb9g7RJlYL8jS|E4EN|9xN*@+fQj)>Y|OAdLQWLElpF$lX3vz z0f%DnTtRKG9^4+q9GfPXfaTwLI56)Ra`BWX-6G%hfCk|NbA+Rm^tAho&pQNkZ;^|{ zUlsH}%JPnqiq)%|3?FC!s4T%t;r)rEtW~H~=kZ?O%yd4=q#Inw9f;P6sqtGW^cPwg zOvBLC1ff6BBaG&YOKx*SXU?>0VyzlmotBf$ZKR`t*`dx6GlbQp*7VkrrtoBkA28qE zNw4bY=~>JWkH|s@%L0Xu35QNb^hTY%fMI8UB^_mIItI!zHASkm&_Yfpz~15AXt^N* z&&=ITj4}Dr-IjU=mlM=qs5m?-yab5nAy9MXsX{K)SZ~JZ(BwRWR|Rvh|GPokOvzWqhUQkh}QK5pp-7(6{KE4*!*sqh1%njW1UWAdr zgw%kgN-tEY1d3;kE3cdu;JZaRHqt;@43x#htki@>L@gkE97V@hox`7t0~1d|KMei= zg8Gfk+oqI@B$R;#V^r{n;d~7H65@kJSPDhONN*%v5IU0)U+okxoek{`&x`yGmJy+= z1CwOIGGL`K^7zjXxP#Lw-{WtxuK&*k5s495$Wnk^Jglm5jP~F~Z%j|DBXu8ReVl2% zxq4+VS5#Jmn<9c*S5A+^lNgawRL&4`uP%E3yovZ}OeA|mzTOFsq_f^IYN!6x^bD2m z5eEs1yGOZog2U$JY;>m_{N?B03}D0yLsa{Haa2oaT;v5N|BPNka7Xc5aS|&voc@M1 z_)6CzCg2RllejPDHu)nZ{|e1HO8u53E2y!C7MFffNRG*{1%?#ZhB&YoNQEBxB5$gTMf3Dr&2T+)@87Yv`Hv#wH-)|C7lj_FoeLc{v^dq$ zcNmLh8P#CCjT?fUDnhWT=e$l>i}(M6tsJ$R)EW1gfcLK@FCh-59_5cb`_7h=T{`FKIP;8FX2IqQEmW}}85psv$8m?9x^Wm|`N zTl6Ia@UDGDKj~~2@Z04Mk?|-V%bJv1mE)ta+qiX_w`P?4#ymIh6>ecRQ4BGpk#r8^ zUn?o>YeU861uusj`>?}dZ+d^9ebRm*enWL7(^z(AH)ka_cskiZN)?t6Ae;m0Qd=3s zlZw?GJ`6m4TwkztyqCOIi=X!byn8EYTb1+BQFWn~ZKT34B znY4EW=eZcnJn^ijd)Rynu%_xwje)uXnZr_KH*x`s8~83SnXmx>AZcD_29G?n&v?e) zfKO%{nDe%Jgy-wRKTLVAt&-FWoJOy^Oc@JI=Eey0q%7<$SHEZ`rop(mxfn3ZkG0i( zk601NrHpTb-BjmiRpoTrm2$01bDKnD<&`Uf>hGe{9auK>L=ZonAz3e^f@un;CQgF7 zltFO~9$T`+loP4VVs9c;#x^(ope6aO%bZaFD%Dg(=p?PRv9Y#dR z_Z5!DUB^SkJC!0La18*?4j(x%yJ?dmprPU%zlmtRVlhQIC#S93vgjOaDqEXJ*c3z3 zp3&U1B zGYu<4B@eBtB-8btrFlucBG)NABKl4QfZO45>?WS3llZd8s9zECWLiv`>nX@D$d47# zXx&R?{CP-80zgHN>C4-@h!hgT4JbdBTudnx0r(CdDT>NGoHJh#a5zCZxmJdk)}KUH z5^!OY3`_cF4;ZP5sCmWZ-^t@5HSU%Ccdk92jD=dKSMuN|GHPR+42EfGC5ILS$#P>S zmMDsDsG7OJpS!9~NdoTHsqFcUrf%z|r#-)hUf zjaJ%`8=;t1P={sSAnad^X89!Ya4=a*kFq^3F-qN1u7B}-RhEArWnnkU*P_u?*frYh zC)*AVAP;bRio2~J_D z^Ik?7{R3>rAOA;D=b!wIBmXF%(7KW|aYNXocR@UOVW;bT>DnziYf;91Fnulu>{p<@ zNd|<>H5N-B+!?@*j@)?CzX?ex0^SPz@%O+dPT~IK#g$m}*$a;>3(^U^=!427meR;-{M@ z$X0RjNzvF+v(4IppoL4>&phJzad|PE<4CD~A|0$^;)nN)e+&P~ds>KUM|_#)p^7VK zlEh1ellp3?g#qOX!MlDT>PIb!)|Qk62LG-3i@P7EsOCXkwMTEhu%!xrVl)bz^Hd7b z-=5rS_H@!%^Xv8cZh3Mj_j<(hxB!c(X5nQ+k(UgUUk;r~Wr9?f`sTnj(s~g#S~wM3 z?ou=@=Cxg)5_FVJZj`d=)vma(0O5^7s6u%AR@W%Q`k_Uw-sJtP7l%K6VN=yCMah+` zhV)+D2vz6Hy$$S*4hAW~1*b+0<<6A{56Q1LYu70a?n%Q8cn20BKO?sk{ANp?qgG-a z-PZuTNj{shZ>vwT_mTRq&ErMD(8fVRxOQ+APFNGeMgku~#endPtfMq*i}9qWv| zs@btGZ1+MsF3JqHE=OJ6I(0CX9^@OeJ5Ijt; zSI(0%+>#B`|@_YNjITVLs-igIp?=~=Q9lXtIs z2z|yD7+6IRGPL6&8oVitc{kgkIK?ZNb045tmdEVNgn3h>0p&01X=OJl{{0Q9Qk}kO zOsV4B_$B*o;KjYCN00nm`)oWPePP4hnmGrGjLrLfhjfGB*Fmyg;uZF5rceHIbUbQp zeZ=+$%LrFHl7aQGQK+uHc-9AqGCU!=xGy#SLt>nBmuuu}nu_pui9^khuTO-GKT zm_-Ou-XxMX={eE$2$J*vamuS$@%8~i(M|KnD={iJdP}|7r%S}RHo)5$LZSqUmlPH$ zelC2GC7e|mi>`}NDd7RD#M{)-=-i8`Jzn>VmF90-hY4 z8w##gS{MGl?D*zZ;V|)?!aV@wste{F&4@9L*2$nuALi>(czbnz8}nIw%dxA#X&#Qh zX%LMLaS*%7Qu3<3Jiy(1PV90`9KH3sr|(H3wA&kKI5k%kO!kjys5k0Gle}4ZNXj=9 zP7tRq_;Xz?+|`g>Z$o*k=$II&5(wblPO@YEvL~2O2&>gI$Ggmn+%H!;#ArWLrrrg^ zO&g#67KD!-(|YNEV0U;O?TKO$(egLC^dnfSFFFd#sr6dZvjMbw_b!@_Ku|f-PT*om zvGU&j;-qRNR_{WfSZ^}rw_N0_K_gQSe!$Gu6?^=q$``gETpnc0lGj(e??~Mtx*|B} zgT#Niq)D4keY)oFA?kg3#P?@(-6%QMB{2ij628;^mZiN(v-*hONH(vaPa5w%%51Hk zDN#CFg|^EB8q_O%^pad2`7&+a7t5~|EE11h*WL292(O+PXlE0Ln3%RTv7P%ZvYm{C z*X(XuyO6}zOWwr*cU+KV)s*i?GXCZ>f8{ryc?8R6o_;&P%K^se91Km0m#SAnQALni z#6?Nh7jH8^q08ai&&*+d=J!?K*({N8{lUE^{%2oL!;}_ZvGM*MJ^$a9u$^}`JZmg; zq#+H{py?|Ac>YwJG;A2SAQb z7X++S6=W1lIVTD9wI)-gy(~-3s5_iPSsbghz;7zc73V+hW`oi3OY;(7Uzg0=y4(v$ zik}7xmo`*A_}Tay{lJC>T|NXRAHf^eN5PYY#BHx{o{gKKML%Xc|Jy-xu+&SbsA1=z ze7v?_YI;`s&S3okhLv)8KiUC^$}AduRYJMUBDPx)4~II8io9c=L&Rfnl(a%Sbb@O$Z%HA zUgB@w;wLY7@NwC2IK1rexa6=%=bOp$mtFD?kU>iki;VD0EQGi*;#eaq&&Gv)(xi+3)S`S0R#4zs_r_+RZ^ zXIN8Nx5mNGjtn9oU8zbPS^#OzNC*f4DIs)}P=pXl=tvn0NJl_K2%v(rgb?Y5szB%g zDWQiVp@iN=1m6kk&faUSm&U>C;KDqA;b%|3 zUylF%^lCFHpE>g`_L)S3v-4#oR571*+80 z?wUeB?b%zk%pWy&Ec*R&06r zSYQ0!^Z&DJ0bnt=>jK3p`4Iq2I*oOtmzELzj%<{Hxwh%Nj)y~ws4=S|zyu>7lvnA? zq7V5cruKMa?oV`))_FOwne$XK8%dcZrN%w5i@aRa8=PxEOCiC!U|vs~b>Szbzj_!Q z5BV&Xr9sRK&b%*wW7#nmT|3Sm*60?Rq`t@cRAV`GRHHqt24l+CK-xt_XPwOIf;`vL zy!{fjW1Gj(woq*rF||8o=y|@D#{9zYf==M)A*c895;p-U<>LW82FRUo0b0rc4%VDW znm2F1_4PWSyON^?)(+YWw|C{;i&&$%jG;U`ws(IuxFIP`z$Aj{%i9(MGY*WL0qfjD z{ldAqxe@8Dmm;%@WNh6vlk~C8B>%oQjce+O)#&v41P9^Q6ab|Uw0{~6w>3-@d(NO_ zm1(axYrA_lA3ld}n)?TK*OORFn_H>`vXnn?0$x^rA&L+GKpoF4&JF z$Row!0~HwEXq0IQ2rUr{d49hyLwK750p4Af%2~}L7MYpH(^j@Q8zOh0Km4++-NWhr zyy?T&g$7#dM^t#vQ6&oOpiV(a$ez>5{c4QD;{iw`I)!D<{&A=$j8zbOsG6dvJ{%v zQt&0k>A+V(TdUR>`EAC-ijpjHZlAZ^mxEBb2F-x0S#Wlphwq!d1P*GV>UoAiY_5If z<)3d%tvq2G#`1R+4uo`AHNd+dTGofP#P?rt2E?^dEuJznX=FWYRxI$;=Z6sIY$=t# z4705n6&b1LQQoc)1&G3gD$@i<>8D%sFM6r%M<@ z^x3{_&(Hq$>xh&patdDT@p1KMRx@Qw-qB&eJmd206UyPF#I49#%!nF#K{jtl9(IS4 zTJS9OJ8z3(8?uKw>8h+#j8n`~-h8f_=EME!O4A(>zm?K=n8m`9o>29%*$&Oxb*bIX zlGxEv(M|iG=#Cr;>cae!1#v=zXhdNek3La%xMZkTW3V7BHSV0c+TAamI=AmI1X^}w z*(nbGab2}r?XEA5gxWoBkpr`6F!8vW4RlejuY~x%S zn*%B;2gZ1w31lV~Ql=3N1f%+EZS`)SHmhZ`x49ItFg!b5A>^q8kACy1qsg3(75ON& zr~XuqrI`EjU;_o*c|CoeOIJ;<+v+*yY0f`dsWD|6G4}kZhS*1Tg8|CDeHF!yDNhSs zB%mRN4{ys*FXU~iAt@W9#*xnN2=@7f@{Y`bBLww5^xa$Q5Tt@dAgTBp@sw3!Ifu{) z7`Qi`(EeF-Z}CH|vFi%Y!C>#T^~b$mv!@e|JH3wOxiYaYYt zE#O&jdbgWhz7GChBSEewfn?OK(=>D-sIy<;So^!JAEAl1KeJ`uapM5Ep+9)&g2bt8 z>W&dtnN^(9k8?AGIW})oY#Bgu&7?v7K!YTp6UZ*({z-lq*FaCl^0=OJHKq_L6SurY~6;i|TvmRtvc++%+cF!iVcN}ji z)i)Z~-r(UIx3W+v`6wl&-xwid&?io4T|v7=2?g@A^nbzp_hgca*Kz8%NxxBy!vP~V zTfIfQXkoFx(UL!Y;_8&r*;wIEG{9BQj$mEQ?ZmG(s917z8AL;$~q_^A<9X(6jzQHf!*>HVbv;+F4s6or9<)00;Q>Ip~n`ywwP zX!LQ0_M6Lt%mdf4Y3>S*m&eMxEYM-8Zjb5gg#TG%RlmM}iNc1-bxT3&4&KSlqTt!Q ztLC(gVwL8$w`Ed25u9`=ERT^^KC)@?*_u$2Y>ymCp&gdN@7y>h_|>}n@d)$^3}4T# z1*Zh^qxelM@;fhy1KLGOi`*oIa|9A1XgfW!FTU!E_NV8Lywz3EIpRM3q1JOF)1tG* zz*4%Nvug*4eDL*?C3$Gde)C=NYW0@;(qu~J*Bhy4R@yPWZCoht6+D}b-eL9p^F(dn zMsgzdQ4)v#}Hw(!| zAJPEJJwYJ+d&Ya=( zwNq+)%GuKa$9NiT#7eeP1MnsZp-Q;?CY^?v7M{F@G|a?Gsv_95v|`D}_@f>>km8}3 zifv%B(Pj?mjwZ(0ljTTA24E*WnwBV8)Jmm*MzO}(48n5oq_!|Z~^=l#RC z@!~C92(R3#nD{#WH)hcwfhuuwF1b&oN+i;I?)+$*v)7F!JHiJV%Mv;PcS^=*ZMm|q zv}%_@ec}2!u;RmnGb8HH0^o&UBjau_W3dytmDyd3^~0UTB~u;IVTweA_S1H&`gdou z>{UxkJJl*o&q&O3nys^cBWFPZ$IDsvyC6P5W{ML!t!#zcsNf^<_;c6oDRBc&1;B53 zc5uk@RS`5>xvc#+Q$sQXjYa{o9}3TVu~xy4t!tmh`4^g(^KxnC=1q7c`asBnI}Q}` zcj1GS2er+Qv3cPIsod=Hu8V5ht&y3oKV`nPy>MDO}7<4XZt!iWB_5nF*v((yG ze$Y_I{-l@@22y=<-ydJRVq$mJEqZX<-747%kx zwVRWLaqpLW6JsO1dz@2sCnm|PZK))XP;2T(aGV63x*+aU1~+biy~NrJ-1p7QZ!9wD zsyflcC)D92U#)Isj$Dwoj>*`sj7f9w>XB}*Y#>c0rgEKAN|Kky#5zdIj=PYP(?a zb{t+_vZi8HPmtf$^_hERkG>wb5Uc*d9}|~9J{<#`7`AzIDY02bCOPxQf^WxMZ(+CB z>^y;RCJ0CX%r}rgiWa>N%w13iK4AeT!KkYs@Vg|7e2!p79(`NSHuoo)T8T?z;UjlO zB?QSnmLDy9+wq}k!Thkl%UMF@we2t9O zZJ{Jt(g@Rb9~w|aB-O(U0aXz*W;+6R`6?e(L4|{ssg@OZrc|ZT$UP=k{QjhCcaUm= ztm?~(RCC2Jw~a zC(f3Eg=2dqoAhZ$N}pPpe5z+cSPO14*M%Omi(UY~0*SbxF>%c^OPF%;{W4P09L3}P z2ju2F!9bb!47yRXncIFNu64$BDDs?4DUH!=5QjgcNg!DTREbFRQC`@w_sn>V zM-f4CT-qK>k+gs~wsQ-p@etc|mKUG4h96)+uOgyoX{Oz!-S+s1u_)%m*?1y$j7=4PPNufi`1MGxdi~4TKlVJu^efIjd1JC>NPc}{=Tf_3|P-u|_KbXf(+z#}n zagdpb7mFrZB`*P?fw|f*;!dM${vN4SH{I0GYlIYLoz3-Z^>wxsWu3{1&a%22NwC*^ z0q4HDgEIn?hpKDxCPCowS^eT0F`S%cX<3l;6SOR(?P!!Fr#`?((x@ZA`MYbwt)?v- zTKVRWi;?h>L7S5H$}?i=#|6MX^nEOIqm?RLF*bb86mU6E`fGa5=z=Q3`}z&@T*nWW zNtya3*~agTSsNN4PH41TZg@M%(|R^Cu=68#ve+c^eG)D88FftgQt!3n=1=~4zVM%a z@vW<-3^3kb@?ClQ(8{65{K$%BC(k)(CEk;gh9^T$s!zXYYRM_J@~#6-wWj~j01<)) z@?7B*$iQU7%Up?CRD1Nah}=qs zS_RkU+;D{=8l~8Z;^QkwU_7R(qLw97Y9QMuk7UWjODoN;Yf_mce)x&*RB6zyI`CZ4s_H_=C3&kj1TH-ptq>NC3^lEjZB5@q*hNgq>xzT3pc3p^NK8yih+OGxX}s@TGDmMXLuc)Bn$p+kz$EDs?v%6iPXuw{`;uD8(jo?lL0Oo zM_#)+I0YT+?~;C8#McNE)<{T9xWc1~k~S#D#1G$c(%IUJs6~(zg~fM|;k#bDr?Jmg zKYxe~PG7I#Vm$cHEI-2O=0e4m=f^J6wI#D9Z}hzlVDo5t*gLsVLoZig+hO$X!^=nP zHb6u(T4NAFh8V>I{e_m`EEZ{16sX9$jmTp0uYgX5Y)Hi8yp<9+%8rS;Hz!DY!zP@g z{3T{7NO?~qtGioEeuFv_78T3h;!C@2Y5jdE$vb-T35iLLt$XqglBY(z1eg4tHDb=4 zm_#*CBSr&um-el9P>fBm|RH(vGUFvRey`eUEfobMgW^xj8Rq z$a_H+%VYH>GS{wS8YYJ+5uz?DeKtNfL_|ci+G@!xcYPKOhxUcJ9~T-Eb_2ByNx|HH z!XY?MiA@t)C>YI7^FP^L%c@3usNNxTjmW)|PR&t{bWT8`|gUF*A4YOf1e zs4Qd-(hQAMi|b|EaLKgS-F+{JU|<-QJ14|f)BApe7E>VVn_w4S6=#St90bm@a|wwG z+m}W?m5y#>Ns2h>47H63r%_sDV4y=P`IEUrO9j*%Gne@gQImN-c*Sf&Zq+v6)a<2Zd_0=xw$=wa@T5;K4edYgVw6 ztzH44{G9RWC4*dnN*<74Q~H^EMOWDZ6IcwZt+a?|^|5<0OP}k?W3M=;*uX;;wj^A3 z>uLV8--`qtUj_(O>h7F0Tv78YRAIYFNB29cynit#(tkGIe{|({GIX8PJ!CtMvpnUm zPi1^?arN8MKdR=xUPcejD;ZTYxNfE#ueUp7RU!ONX~KiM4ol`D0T&>O;(NTv>Lh?@ za*j-p_3Fue{gHR!VQKKLC*%wnN3@On8{S0tKAsqGTdkD`g4>yqTcz#lUS9suzOj+~ zb0&Dzg5y)PEz<%I>kE2o4`dS)i;s2}X!z7EUG662*})+~! zfIG|I`>zw!W@lIB;m`V1dzM|}5aA{ff z@MQLFLpv+YREq>e__9dt-2r9dVY@Cd3V0?*jrE{B5yagIviALk( zrgLt8!^dxUV=c0rA5f8fi;i7gXwy5PY3?}4rF+<}^?h@*9oAmcB5X0yu-a%0Wmw*O zh0Yb&itX@Xe)vWuTG0PWYU40bk;zXoo_RO3^SAxHK#Y$3!n;=ce8KUw@udKOU|ZYi zo{)t=YUN(Ix8zNbauF{>yAI_Db;pUU9-4BTd7;z+;;O^xtXWV_KFGdQtmmwDMP ztMCbE^pVi(B7yi){3S9LiRR0MFa@mb8#FK=7Doz3Ce+lSCLsI? z)OqllmByt|oUHRn`+l2lY6r4bK9J5B9WnZmMeTYg=H4gc+WFM}M&{j@hZu<2KIZIv z^%ojD>&`9N5X`qVoad&dLa23Hsv8~fgkB@4$MqK*!Qts?HD$)4%pv+rff>6e!lJcC zYLQD!mWB#+^jH22=0`^hx_$Sq%`Og^JLApR+0T^bx15gSE<*dDQR`0LJ0TYtX7Lbw zM}}L{@xoU)pv<#jzZ^bE!L=WPpZFd0Ib7iPS_4n8*zfCvhp2LQOgXo*T@ zNkeabLnBa>A5NOXA@Q`e7YKw#MyFeM% z9c~)W#;0Uwv<#7-?p@qG3x#P}ML0;6t?Q~=X;XgDMY@KD8yi#5+_3DFY(C`?#zR;! z9=txEw=yu;Up-R&xQOnjmujeQ5G}H~eKp$5s!+G`zyu$W9kkCiK0XdoqE&%V3OYG_ z{r1F!iB#eTAGmqpvm>-g@b9_wD0CiX-#yEFn7r`Mu<#d@A8+U?yJH)nPL6ddZCQ|{ z@jjaFhtI;ytZYyzm7&?$E~@AY*Cc)+G&56W-R9X@tg{v-Y2V~6E`SNpeY{|4CKTBd69 zw@skg)4zrAw-CO3S^o=2cpfu5TAzaThALx?2K7Av0PD|h>0fL(WDVxLz#SDIzkeeB Y@-Tr=tPjw2xb_#!BL1uj#-9fN1IqRi7XSbN diff --git a/docs/_static/pyparsingClassDiagram_3.0.9.jpg b/docs/_static/pyparsingClassDiagram_3.0.9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d92feed4ff37cc1a0367add2870b9a0fafc9c702 GIT binary patch literal 287969 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 WZw>YXE1uryFnC}Q==I|J;{O1Qc4E8$ literal 0 HcmV?d00001 diff --git a/docs/conf.py b/docs/conf.py index ce571f9..5f5bd8a 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -21,7 +21,7 @@ from pyparsing import __version__ as pyparsing_version # -- Project information ----------------------------------------------------- project = "PyParsing" -copyright = "2018-2021, Paul T. McGuire" +copyright = "2018-2022, Paul T. McGuire" author = "Paul T. McGuire" # The short X.Y version diff --git a/docs/make_sphinx_docs.bat b/docs/make_sphinx_docs.bat new file mode 100644 index 0000000..341fd67 --- /dev/null +++ b/docs/make_sphinx_docs.bat @@ -0,0 +1 @@ +sphinx-build.exe -M html . _build diff --git a/docs/pyparsing_class_diagram.puml b/docs/pyparsing_class_diagram.puml index cf8d1eb..f90f99e 100644 --- a/docs/pyparsing_class_diagram.puml +++ b/docs/pyparsing_class_diagram.puml @@ -22,7 +22,6 @@ class globals { quoted_string sgl_quoted_string dbl_quoted_string -delimited_list() counted_array() match_previous_literal() match_previous_expr() @@ -185,6 +184,7 @@ class Each class OneOrMore class ZeroOrMore +class DelimitedList class SkipTo class Group class Forward { @@ -246,6 +246,7 @@ ParseElementEnhance <|-- Located ParseElementEnhance <|--- _MultipleMatch _MultipleMatch <|-- OneOrMore _MultipleMatch <|-- ZeroOrMore +ParseElementEnhance <|-- DelimitedList ParseElementEnhance <|--- NotAny ParseElementEnhance <|--- FollowedBy ParseElementEnhance <|--- PrecededBy diff --git a/docs/pyparsing_class_diagram.svg b/docs/pyparsing_class_diagram.svg deleted file mode 100644 index 9a9e7ac..0000000 --- a/docs/pyparsing_class_diagram.svg +++ /dev/null @@ -1,836 +0,0 @@ -corecommonunicodeglobalsquoted_stringsgl_quoted_stringdbl_quoted_stringcommon_html_entityclass OpAssocclass IndentedBlockc_style_commenthtml_commentrest_of_linedbl_slash_commentcpp_style_commentjava_style_commentpython_style_commentdelimited_list()counted_array()match_previous_literal()match_previous_expr()one_of()dict_of()original_text_for()ungroup()nested_expr()make_html_tags()make_xml_tags()replace_html_entity()infix_notation()match_only_at_col()replace_with()remove_quotes()with_attribute()with_class()trace_parse_action()condition_as_parse_action()srange()token_map()autoname_elements()ParseResultsclass Listfrom_dict()__getitem__()__setitem__()__contains__()__len__()__bool__()__iter__()__reversed__()__getattr__()__add__()__getstate__()__setstate__()__getnewargs__()__dir__()as_dict()as_list()dump()get_name()items()keys()values()haskeys()pop()get()insert()append()extend()clear()copy()get_name()pprint()ParseBaseExceptionlinelinenocolumnparser_elementexplain_exception()explain()mark_input_line()ParseExceptionParseFatalExceptionParseSyntaxExceptionParserElementname: strresults_name: strenable_packrat()enable_left_recursion()disable_memoization()set_default_whitespace_chars()inline_literals_using()reset_cache() verbose_stacktrace operator + () -> Andoperator - () -> And.ErrorStopoperator | () -> MatchFirstoperator ^ () -> Oroperator & () -> Eachoperator ~ () -> NotAnyoperator [] () -> _MultipleMatchadd_condition()add_parse_action()set_parse_action()copy()ignore(expr)leave_whitespace()parse_with_tabs()suppress()set_break()set_debug()set_debug_actions()set_name()set_results_name()parse_string()scan_string()search_string()transform_string()split()run_tests()recurse()create_diagram()TokenParseExpressionexprs: list[ParserElement]ParseElementEnhanceexpr: ParserElement_PositionTokenCharWhiteWordKeywordset_default_keyword_chars(chars: str)CaselessKeywordEmptyLiteralRegexNoMatchCharsNotInQuotedStringAndOrMatchFirstEachOneOrMoreZeroOrMoreSkipToGroupForwardoperator <<= ()LineStartLineEndStringStartStringEndWordStartWordEnd_MultipleMatchFollowedByPrecededByAtLineStartAtStringStartTokenConverterLocatedOptCombineDictSuppressCloseMatchCaselessLiteralNotAny comma_separated_listintegerhex_integersigned_integerfractionmixed_integerrealsci_realnumberfnumberidentifieripv4_addressipv6_addressmac_addressiso8601_dateiso8601_datetimeuuidurlconvert_to_integer()convert_to_float()convert_to_date()convert_to_datetime()strip_html_tags()upcase_tokens()downcase_tokens()unicode_setprintables: stralphas: strnums: stralphanums: stridentchars: stridentbodychars: strLatin1LatinALatinBBasicMultilingualPlaneChineseThaiJapaneseclass Kanjiclass Hiraganaclass KatakanaGreekHangulArabicDevanagariHebrewCyrillicCJKClass Diagrampyparsing 3.0.9May, 2022 \ No newline at end of file diff --git a/docs/whats_new_in_3_0_0.rst b/docs/whats_new_in_3_0_0.rst index 10651cd..2f4fe3d 100644 --- a/docs/whats_new_in_3_0_0.rst +++ b/docs/whats_new_in_3_0_0.rst @@ -4,11 +4,11 @@ What's New in Pyparsing 3.0.0 :author: Paul McGuire -:date: April, 2022 +:date: May, 2022 :abstract: This document summarizes the changes made in the 3.0.0 release of pyparsing. - (Updated to reflect changes up to 3.0.8) + (Updated to reflect changes up to 3.0.10) .. sectnum:: :depth: 4 @@ -62,6 +62,20 @@ generator for documenting pyparsing parsers.:: # save as HTML parser.create_diagram('parser_rr_diag.html') +``create_diagram`` accepts these named arguments: + +- ``vertical`` (int) - threshold for formatting multiple alternatives vertically + instead of horizontally (default=3) +- ``show_results_names`` - bool flag whether diagram should show annotations for + defined results names +- ``show_groups`` - bool flag whether groups should be highlighted with an unlabeled surrounding box +- ``embed`` - bool flag whether generated HTML should omit ````, ````, and ```` tags to embed + the resulting HTML in an enclosing HTML source (new in 3.0.10) +- ``head`` - str containing additional HTML to insert into the ```` section of the + generated code; can be used to insert custom CSS styling +- ``body`` - str containing additional HTML to insert at the beginning of the ```` section of the + generated code + To use this new feature, install the supporting diagramming packages using:: pip install pyparsing[diagrams] @@ -200,7 +214,7 @@ just namespaces, to add some helpful behavior: (**currently not working on PyPy**) Support for yielding native Python ``list`` and ``dict`` types in place of ``ParseResults`` -------------------------------------------------------------------------------- +------------------------------------------------------------------------------------------- To support parsers that are intended to generate native Python collection types such as lists and dicts, the ``Group`` and ``Dict`` classes now accept an additional boolean keyword argument ``aslist`` and ``asdict`` respectively. See @@ -226,7 +240,7 @@ This is the mechanism used internally by the ``Group`` class when defined using ``aslist=True``. New Located class to replace ``locatedExpr`` helper method ------------------------------------------------------- +---------------------------------------------------------- The new ``Located`` class will replace the current ``locatedExpr`` method for marking parsed results with the start and end locations of the parsed data in the input string. ``locatedExpr`` had several bugs, and returned its results @@ -279,7 +293,7 @@ leading whitespace.:: [This is a fix to behavior that was added in 3.0.0, but was actually a regression from 2.4.x.] New ``IndentedBlock`` class to replace ``indentedBlock`` helper method --------------------------------------------------------------- +---------------------------------------------------------------------- The new ``IndentedBlock`` class will replace the current ``indentedBlock`` method for defining indented blocks of text, similar to Python source code. Using ``IndentedBlock``, the expression instance itself keeps track of the indent stack, @@ -392,7 +406,7 @@ Other new features common fields in URLs. See the updated ``urlExtractorNew.py`` file in the ``examples`` directory. Submitted by Wolfgang Fahl. -- ``delimited_list`` now supports an additional flag ``allow_trailing_delim``, +- ``DelimitedList`` now supports an additional flag ``allow_trailing_delim``, to optionally parse an additional delimiter at the end of the list. Submitted by Kazantcev Andrey. @@ -661,7 +675,8 @@ counted_array countedArray cpp_style_comment cppStyleComment dbl_quoted_string dblQuotedString dbl_slash_comment dblSlashComment -delimited_list delimitedList +DelimitedList delimitedList +DelimitedList delimited_list dict_of dictOf html_comment htmlComment infix_notation infixNotation diff --git a/examples/0README.html b/examples/0README.html index 617c16e..ba5bab0 100644 --- a/examples/0README.html +++ b/examples/0README.html @@ -21,12 +21,12 @@ Unicode example to parse "Hello, World!" in Greek.